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 você pode usar 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. Você também pode importar certificados de usuário em seu navegador da web para testá-los interativamente em seu ambiente.


Feedback