Criando um Certificado Digital com o OpenSSL

É possível utilizar o programa OpenSSL para criar certificados digitais para serem utilizados com os testes.

Antes de Iniciar

O OpenSSL está disponível no Projeto OpenSSL em http://www.openssl.org/.

Procedimento

  1. Crie uma CA (Autoridade de Certificação). Para fins de teste, essa CA ocupa o lugar de uma CA reconhecida na Internet, como a VeriSign. Essa CA é utilizada para assinar digitalmente cada certificado que você planeje utilizar para teste.
    1. Crie um arquivo CSR (Pedido de Certificado). O "assunto" (-subj) descreve o usuário do certificado. Digite valores fictícios conforme mostrado. A linha de comandos a seguir configura a senha para o certificado como abcdefg.

      openssl req -passout pass:abcdefg -subj "/C=US/ST=IL/L=Chicago/O=IBM Corporation/OU=IBM Software Group/CN=Rational Performance Tester CA/emailAddress=rpt@abc.ibm.com" -new > waipio.ca.cert.csr

    2. Crie um arquivo de chave, waipio.ca.key, para armazenar a chave privada. Isso remove a proteção de senha do arquivo de pedido de certificado para que não seja necessário digitar a senha sempre que você assinar um certificado. Como a proteção de senha foi removida, utilize o arquivo de pedido de certificado apenas para fins de teste.

      openssl rsa -passin pass:abcdefg -in privkey.pem -out waipio.ca.key

    3. Crie um certificado digital X.509 a partir do pedido de certificado. A linha de comandos a seguir cria um certificado assinado com a chave privada da CA. O certificado é válido durante 365 dias.

      openssl x509 -in waipio.ca.cert.csr -out waipio.ca.cert -req -signkey waipio.ca.key -days 365

    4. Crie um arquivo codificado por PKCS#12 contendo o certificado e a chave privada. A linha de comandos a seguir configura a senha no arquivo P12 como default. O Rational Performance Tester utiliza a senha de default para todos os arquivos PKCS#12 por padrão.

      openssl pkcs12 -passout pass:default -export -nokeys -cacerts -in waipio.ca.cert -out waipio.ca.cert.p12 -inkey waipio.ca.key

    Agora você tem um certificado de CA (waipio.ca.cert), que pode ser instalado no servidor da Web em teste e um arquivo de chave privada (waipio.ca.key) que pode ser utilizado para assinar certificados de usuário.
  2. Crie um certificado digital para um usuário.
    1. Crie um arquivo CSR para o usuário. Configure a senha inicial como abc. Forneça, opcionalmente, um assunto apropriado.

      openssl req -passout pass:abc -subj "/C=US/ST=IL/L=Chicago/O=IBM Corporation/OU=IBM Software Group/CN=John Smith/emailAddress=smith@abc.ibm.com" -new > johnsmith.cert.csr

    2. Crie um arquivo de chave privada sem uma senha.

      openssl rsa -passin pass:abc -in privkey.pem -out johnsmith.key

    3. Crie um novo certificado X.509 para o novo usuário, assine-o digitalmente utilizando a chave privada do usuário e certifique-o utilizando a chave privada da CA. A linha de comandos a seguir cria um certificado válido durante 365 dias.

      openssl x509 -req -in johnsmith.cert.csr -out johnsmith.cert -signkey johnsmith.key -CA waipio.ca.cert -CAkey waipio.ca.key -CAcreateserial -days 365

    4. Opcional: Crie uma versão da chave pública codificada pelo DER. Esse arquivo contém apenas a chave pública, não a chave privada. Como ela não contém a chave privada, ela pode ser compartilhada e não precisa ser protegida por senha.

      openssl x509 -in johnsmith.cert -out johnsmith.cert.der -outform DER

    5. Crie um arquivo codificado por PKCS#12. A linha de comandos a seguir configura a senha no arquivo P12 como default.

      openssl pkcs12 -passout pass:default -export -in johnsmith.cert -out johnsmith.cert.p12 -inkey johnsmith.key

    Repita essa etapa para criar o máximo de certificados digitais necessários para teste. Mantenha os arquivos de chave seguros e exclua-os quando não forem mais necessários. Não exclua o arquivo de chave privada da CA. Ele é necessário para assinar certificados.

Resultados

Agora você pode instalar o certificado de CA (waipio.ca.cert) no WebSphere. Opcionalmente, crie um certificado de usuário especificamente para seu servidor da Web e instale-o no WebSphere.

Os certificados de usuário podem ser utilizados individualmente para a gravação de testes. Para utilizá-los (johnsmith.cert.p12) durante a edição e a reprodução de testes, compacte-os no formato ZIP em um arquivo com a extensão .rcs. Isso cria um armazenamento de certificados digital. Para saber mais sobre armazenamentos de certificados digitais, consulte Criando um Armazenamento de Certificados Digitais. Também é possível importar certificados de usuários para o navegador da Web para testá-los interativamente em seu ambiente.


Feedback