bg-tutorials

Como Gerar um Código CSR em Servidores Oracle

Este guia mostra como gerar um CSR (Certificate Signing Request) em servidores Oracle. Ele abrange os três produtos Oracle onde você criaria um CSR localmente: Oracle Wallet Manager (ou o moderno comando orapki), Oracle iPlanet Web Server e Oracle WebLogic Server (Java keytool). Escolha a seção que corresponde ao seu produto, siga os passos e depois envie o CSR à sua Autoridade Certificadora.

Gerar um CSR no Oracle Wallet Manager

Se você já gerou o seu CSR, avance para instalar o seu certificado SSL no Oracle. Caso contrário, você tem duas opções no Oracle Wallet Manager: a interface gráfica do Oracle Wallet Manager (OWM) ou o moderno utilitário de linha de comando orapki fornecido com os produtos Oracle. O caminho do orapki é passível de automação por script e é a opção recomendada pela Oracle para implementações atuais; o OWM continua sendo suportado para as mesmas operações.

Opção A: Oracle Wallet Manager (GUI)

  1. Abra o Oracle Wallet Manager. Se ainda não tiver uma wallet, escolha Wallet > New, defina uma senha forte e salve-a.
  2. No menu principal, escolha Operations > Add Certificate Request.
  3. Na caixa de diálogo, preencha os detalhes do pedido de certificado exatamente como a sua organização está legalmente registrada:
    • Common Name (CN): o nome de domínio totalmente qualificado que você deseja proteger, por exemplo www.suaempresa.com, ou um wildcard como *.suaempresa.com. Não insira o nome de uma pessoa.
    • Organizational Unit (OU): as CAs públicas já não emitem este campo. Deixe em branco.
    • Organization (O): o nome legal completo da sua empresa, por exemplo Sua Empresa LLC. Para certificados DV (Domain Validation), você pode deixar este campo em branco.
    • Locality / City (L): o nome completo da cidade onde a sua empresa está registrada, por exemplo Seattle. Não abrevie.
    • State / Province (ST): o nome completo do estado ou província, por exemplo Washington. Não use um código de duas letras.
    • Country (C): o código de país ISO de duas letras, por exemplo US, GB, DE.
    • Key Size: 2048 bits é o mínimo público atual. As wallets Oracle oferecem 512, 1024, 2048, 4096 e opções maiores, sem a opção 3072, portanto o próximo nível aqui é 4096.
  4. Clique em OK. Uma janela de confirmação relata a geração bem-sucedida do CSR. O nó de certificado no menu de navegação da wallet agora mostra o status Certificate: [Requested].
  5. De volta à visualização da wallet, escolha Operations > Export Certificate Request, dê um nome ao arquivo (por exemplo suaempresa.csr) e salve-o. Não feche nem exclua a wallet: ela agora contém a chave privada emparelhada com este CSR.

Nota: a interface gráfica do Oracle Wallet Manager não expõe um campo separado para o Subject Alternative Name (SAN). Os navegadores e clientes TLS modernos validam certificados com base na extensão SAN, e não no Common Name, portanto liste todos os nomes de host necessários (por exemplo suaempresa.com e www.suaempresa.com) no campo SAN do formulário de pedido da sua Autoridade Certificadora. A CA os adicionará ao certificado emitido. Se você usar a linha de comando orapki (Opção B abaixo), pode incorporar SANs diretamente no CSR com a flag -addext_san.

Opção B: orapki (linha de comando)

O utilitário orapki é fornecido com os produtos Oracle (nas distribuições do banco de dados, Fusion Middleware e HTTP Server) e é a alternativa passível de automação por script ao OWM. O fluxo consiste em dois comandos: criar a wallet e o par de chaves e, em seguida, exportar o CSR.

Crie uma wallet com login automático e adicione um par de chaves:

orapki wallet create -wallet /etc/oracle/wallet -auto_login -pwd "YourStrongPassword"

orapki wallet add -wallet /etc/oracle/wallet 
  -dn "CN=www.yourdomain.com, O=Your Company LLC, L=Seattle, ST=Washington, C=US" 
  -keysize 2048 
  -addext_san "DNS:yourdomain.com,DNS:www.yourdomain.com" 
  -pwd "YourStrongPassword"

Em seguida, exporte o CSR da wallet:

orapki wallet export -wallet /etc/oracle/wallet 
  -dn "CN=www.yourdomain.com, O=Your Company LLC, L=Seattle, ST=Washington, C=US" 
  -request /tmp/yourdomain.csr 
  -pwd "YourStrongPassword"

Substitua o caminho da wallet, o DN e a senha pelos seus próprios valores. O DN no comando export deve corresponder ao DN usado ao adicionar o par de chaves. A flag -addext_san (orapki 12.2.1.1 e posterior) incorpora os Subject Alternative Names diretamente no CSR; liste todos os nomes de host que o certificado deve cobrir, incluindo tanto o domínio raiz quanto o subdomínio www. O arquivo suaempresa.csr agora contém o CSR, pronto para ser enviado.

Enviar o CSR

Abra o arquivo .csr em qualquer editor de texto (por exemplo, o Bloco de Notas). O arquivo é texto simples, começando com -----BEGIN NEW CERTIFICATE REQUEST----- (ou -----BEGIN CERTIFICATE REQUEST-----) e terminando com a linha correspondente -----END. Copie todo o bloco, incluindo essas linhas de cabeçalho e rodapé, e cole-o no campo CSR durante o checkout com a sua CA.

Gerar um CSR no Oracle iPlanet Web Server

O Oracle iPlanet (anteriormente Sun Java System Web Server, depois Sun ONE) mantém os certificados de servidor e as suas chaves num repositório de tokens. O assistente de CSR está localizado no console de administração:

  1. No console de administração do Oracle iPlanet, abra Server Certificates e clique em Request.
  2. Na lista Configuration, escolha a configuração à qual o certificado se destina.
  3. Selecione o Token (Cryptographic Device) que armazenará a chave. Se a chave estiver armazenada no servidor, escolha Internal; caso contrário, selecione o seu token externo na lista suspensa. Insira a senha do token selecionado.
  4. Preencha os detalhes do certificado:
    • Server Name: o nome de domínio totalmente qualificado que você deseja proteger, por exemplo www.suaempresa.com. Para um certificado wildcard, adicione um asterisco como prefixo, por exemplo *.suaempresa.com.
    • Organization (O): o nome legal completo da sua empresa, por exemplo Sua Empresa LLC.
    • Organizational Unit (OU): descontinuado pelas CAs públicas. Deixe em branco.
    • Locality (L): o nome completo da cidade onde a sua organização está registrada.
    • State or Province (ST): o nome completo do estado onde a sua organização está registrada.
    • Country (C): o código de país ISO de duas letras, por exemplo US para os Estados Unidos. Consulte a lista completa de códigos de país.
  5. Para Key Type, selecione RSA com 2048 bits (ou mais).
  6. Para a Certificate Signing Authority (CSA), selecione CA Signed.
  7. Revise os valores inseridos e, em seguida, clique em Generate Request e depois em Finish.
  8. Copie o CSR recém-gerado (incluindo as linhas -----BEGIN NEW CERTIFICATE REQUEST----- e -----END NEW CERTIFICATE REQUEST-----) para um arquivo de texto e clique em Close.

Nota: assim como o Oracle Wallet Manager, o assistente de CSR do iPlanet não expõe um campo SAN. Forneça todos os nomes de host que o certificado deve cobrir (domínio raiz mais www, além de quaisquer outros subdomínios) no campo SAN do formulário de pedido da sua CA.

Gerar um CSR no Oracle WebLogic Server

O Oracle WebLogic Server utiliza keystores Java. Você gera o CSR com o utilitário Java keytool em dois comandos: primeiro o keytool -genkeypair cria o keystore e a chave privada sob um alias escolhido, depois o keytool -certreq exporta o CSR correspondente. O mesmo alias deve ser reutilizado mais tarde quando você importar o certificado assinado, de modo que a chave, o CSR e o eventual certificado fiquem todos no mesmo lugar.

Passo 1: Criar o keystore e a chave privada

Abra um terminal no servidor WebLogic e crie um novo keystore no formato PKCS12. O PKCS12 é o formato de keystore padrão no Java desde o JDK 9 e é o padrão moderno e portátil. O formato proprietário mais antigo JKS está oficialmente descontinuado:

keytool -genkeypair 
  -alias server 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -validity 825

O que significam as flags:

  • -alias server: o nome da entrada dentro do keystore. Escolha um rótulo que você reconhecerá (frequentemente server, ou o seu domínio). Anote-o. Você deve reutilizar exatamente este alias quando gerar o CSR e novamente quando importar o certificado assinado.
  • -keyalg RSA -keysize 2048: uma chave RSA de 2048 bits é o mínimo público atual. Para novos keystores, 3072 bits é uma atualização razoável para chaves com vida útil mais longa. A maioria das CAs públicas também aceita ECDSA (-keyalg EC -groupname secp256r1) se você preferir uma chave menor e mais rápida; a opção -groupname requer JDK 13 ou posterior, portanto, nos runtimes Java 8 e Java 11 que versões mais antigas do WebLogic suportam, use -keyalg EC -keysize 256, que seleciona a mesma curva.
  • -storetype PKCS12: força o keystore moderno PKCS12. A extensão correspondente é .p12 (ou .pfx).
  • -keystore yourdomain.p12: o arquivo de keystore a ser criado. Substitua por algo que você memorizará e mantenha o arquivo seguro: ele contém a sua chave privada.
  • -validity 825: por quanto tempo o certificado autoassinado provisório dentro do keystore é válido. O certificado assinado pela CA o substitui posteriormente, portanto o valor exato não afeta o tempo de vida em produção.

Nota: se você precisar continuar usando o JKS numa implementação mais antiga do WebLogic, substitua -storetype PKCS12 por -storetype JKS e use a extensão .jks. O restante do fluxo de trabalho é idêntico. Para certificados wildcard, não use um asterisco no nome do arquivo do keystore: esse caractere não é suportado na maioria dos sistemas de arquivos.

O keytool então solicita uma senha do keystore. Escolha uma senha forte e armazene-a no seu gerenciador de segredos: você precisará dela para todos os comandos keytool posteriores e para a configuração do keystore no WebLogic. Com keystores PKCS12, a senha da chave é igual à senha do keystore, portanto há apenas uma senha para memorizar.

Passo 2: Inserir os detalhes da sua organização (DN)

O keytool agora solicita o Distinguished Name (DN): os campos de identidade que entram no CSR. Responda a cada solicitação com o valor exato e legal da sua organização. A pontuação e a precisão são importantes, pois uma CA rejeitará divergências em relação aos registros públicos da empresa.

  • First and last name (CN): esta é a forma como o keytool se refere, mas trata-se do campo Common Name. Insira o FQDN exato que você está protegendo, por exemplo www.suaempresa.com, ou um wildcard como *.suaempresa.com. Não insira o nome de uma pessoa.
  • Organizational unit (OU): já não é emitido pelas CAs públicas. Não tente ignorá-lo pressionando Enter: o keytool substitui pelo seu próprio padrão e grava OU=Unknown no pedido, e responder com um espaço produz o mesmo resultado. Não há uma forma interativa de omiti-lo, então digite o nome do departamento, por exemplo IT, ou use a forma -dname mostrada abaixo e omita o componente OU da string.
  • Organization (O): o nome legal completo da sua empresa, por exemplo Sua Empresa LLC. Se o nome da sua empresa contiver símbolos como & ou @, escreva-os por extenso ou omita-os; o keytool rejeitará alguns caracteres especiais.
  • City or locality (L): o nome completo da cidade, por exemplo São Francisco. Não abrevie.
  • State or province (ST): o nome completo do estado ou província, por exemplo California. Não use um código de duas letras.
  • Country code (C): o código de país ISO de duas letras, por exemplo US, GB, DE.

Após a última solicitação, o keytool exibe um resumo como CN=www.suaempresa.com, OU=Unknown, O=Sua Empresa LLC, L=São Francisco, ST=California, C=US. Digite yes para confirmar. O arquivo de keystore agora existe com uma entrada: o seu alias, contendo a chave privada e um certificado provisório autoassinado.

Se preferir um comando não interativo, passe o DN diretamente e ignore as solicitações:

keytool -genkeypair 
  -alias server 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -dname "CN=www.yourdomain.com, O=Your Company LLC, L=San Francisco, ST=California, C=US" 
  -validity 825

Passo 3: Gerar o CSR com SAN

Os navegadores e clientes TLS modernos validam certificados com base na extensão Subject Alternative Name (SAN), e não apenas no Common Name. Solicite os SANs diretamente no CSR para que a CA os inclua no certificado emitido. Use o mesmo alias e keystore do Passo 1:

keytool -certreq 
  -alias server 
  -keystore yourdomain.p12 
  -file yourdomain.csr 
  -ext san=dns:yourdomain.com,dns:www.yourdomain.com

O que significam as flags:

  • -alias server: deve corresponder ao alias do Passo 1. Este é o alias cuja chave privada assina o pedido.
  • -keystore yourdomain.p12: deve corresponder ao keystore do Passo 1.
  • -file yourdomain.csr: o nome do arquivo de saída para o CSR.
  • -ext san=dns:…: a extensão Subject Alternative Name. Liste todos os nomes de host que o certificado deve cobrir, incluindo tanto o domínio raiz simples (suaempresa.com) quanto o subdomínio www. Adicione mais entradas separadas por vírgula, por exemplo dns:api.suaempresa.com.

O keytool solicita a senha do keystore e grava o CSR em yourdomain.csr no diretório atual.

Crítico: mantenha o seu alias e keystore

O erro mais comum ao usar o keytool no WebLogic é importar o certificado assinado sob um novo alias. Fazer isso armazena o certificado como uma entrada confiável autônoma sem chave privada associada, e o listener SSL do WebLogic não será iniciado. Sempre importe a resposta assinada de volta para o mesmo alias que contém a chave privada (o alias do Passo 1).

Anote estes três valores agora, antes de fechar o terminal:

  • O alias (neste guia, server).
  • O caminho do arquivo de keystore (por exemplo yourdomain.p12).
  • A senha do keystore.

Se não tiver certeza de qual alias contém a sua chave, liste o conteúdo do keystore e procure a entrada cujo tipo seja PrivateKeyEntry:

keytool -list -v -keystore yourdomain.p12

Passo 4: Verificar o CSR antes de enviá-lo

Identifique erros de digitação no DN ou SANs ausentes antes que a CA os valide. Imprima o CSR com o keytool:

keytool -printcertreq -file yourdomain.csr

Ou, se o OpenSSL estiver instalado:

openssl req -noout -text -in yourdomain.csr

Confirme três coisas na saída: o Subject mostra o seu DN exato, o Subject Alternative Name lista todos os nomes de host necessários, e o tamanho da Public-Key corresponde ao que você solicitou (RSA de 2048 bits, ou o que tiver escolhido). Você também pode colar o CSR no nosso Decodificador de CSR para a mesma verificação num navegador.

Passo 5: Enviar o CSR à sua Autoridade Certificadora

Abra o arquivo yourdomain.csr em qualquer editor de texto. O arquivo é texto simples, começando com -----BEGIN NEW CERTIFICATE REQUEST----- e terminando com -----END NEW CERTIFICATE REQUEST-----. Copie todo o bloco, incluindo essas linhas de cabeçalho e rodapé, e cole-o no campo CSR durante o checkout com a sua CA. No Windows, use Ctrl + A e depois Ctrl + C para capturar o texto completo; no macOS, use Cmd + A e depois Cmd + C.

Faça um backup do arquivo de keystore (yourdomain.p12) num local seguro antes de fechar o terminal. Se você perder o keystore, perderá a chave privada, e o certificado emitido pela CA ficará inutilizável.

Depois que a CA validar o seu pedido e emitir o certificado, continue com como instalar o seu certificado SSL no Oracle. No WebLogic, você importa o certificado assinado de volta para o mesmo alias no mesmo keystore e, em seguida, aponta o listener SSL para esse keystore.

Economize 10% em certificados SSL ao fazer seu pedido hoje!

Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

Uma imagem detalhada de um dragão em voo
Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.