Mostrar mensagens com a etiqueta certificados. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta certificados. Mostrar todas as mensagens

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

terça-feira, 18 de outubro de 2011

Configuração two-way SSL no SoapUi

Para configurar two-way SSL (SSL duas vias) no SoapUI, é necessário antes de mais ter a versão 4 ou superior. Existem problemas com a versão 3.6.1 por isso o melhor mesmo é actualizar para a versão mais recente.

A configuração two-way SSL implica que existam dois certificados, um de Cliente e um de Servidor.

Para o cliente basta criar um ficheiro p12 com a chave publica e  privada, e de lá exportar o certificado de cliente para adicionar ao servidor.

Caso o certificado do servidor seja auto-assinado, é necessário adicionar esse mesmo certificado ao ficheiro p12 do cliente.

No SoapUi:

File -> Preferences

SSL Settings

Na KeyStore indicar o ficheiro p12 criado para o cliente.
Na KeyStore Password indicar a password para o ficheiro p12.


Criar o ficheiro de cliente p12 e respectivo certificado

Instalar, por exemplo, o programa KeyStore Explorer.

  1. Create a new KeyStore
    1. JKS
  2. Tools
    1. Generate Key Pair
    2. Ok
    3. Carregar no botão "Edit Name"
      1. Preencher os campos (pelo menos o CN deverá ser preenchido)
      2. Escolher um alias
      3. OK
      4. Escolher e confirmar a password privada
      5. Ok
      6. Ok
  3. Com o botão da direita carregar em cima da nova chave (vai-se exportar o certificado a importar no servidor)
    1. Escolher formato e nome de ficheiro
    2. Export
    3. Ok
  4. Salvar a keystore
    1. File -> Save
    2. Introduzir a password para a keystore
    3. Ok


terça-feira, 5 de abril de 2011

Exportação de certificados do Apache Directory Studio

Eis como (Windows):

  •  Numa linha de comandos ir até à directoria: c:\Users\<utilizador>\.ApacheDirectoryStudio\.metadata\.plugins\org.apache.directory.studio.connection.core
  • Os certificados encontram-se no ficheiro permanent.jks
Usar a ferramenta java keytool para listar e exportar os certificados.

Para listar os certificados existentes:

%JAVA_HOME%\bin\keytool -list -keystore permanent.jks -v

A Palavra-chave por defeito da keystore é: changeit

Da listagem anterior obter o alias que corresponde ao certificado a exportar.

Para exportar:


%JAVA_HOME%\bin\keytool -exportcert -alias <alias a exportar> -keystore permanent.jks -file <ficheiro_que_ira_conter_o_certificado>