quarta-feira, 9 de novembro de 2011

Criar um CA e assinar certificados

Por vezes é necessário criar uma CA (CertificateAuthority) e assinar certificados com a CA. Obviamente que quer a CA quer os certificados não devem ser usados num ambiente de produção. Nesse caso usar uma das CAs oficiais.

Passos resumidos:
  1. Criar a chave e o certificado da CA
  2. Criar a chave e o pedido de certificado para o servidor (usar o mesmo método para criar vários)
  3. Assinar o pedido de certificado para o servidor com a CA criada

Passo 1:

openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt

Passo 2:

openssl genrsa -des3 -out server.key 4096
openssl req -new -key server.key -out server.csr


Passo 3:

openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt


Aquando da criação do certificado da CA e do pedido de certificado de servidor ter em atenção que o Common Name tem de ser diferente. Caso contrário poderão surgir problemas inesperados quando se usam os certificados.

No exemplo acima os certificados têm a validade de um ano.

O número de série deve ser diferente se o mesmo certificado for regerado, para evitar problemas nos clientes que já tenham o certificado em cache.


Referências:
http://www.tc.umn.edu/~brams006/selfsign.html

Sem comentários: