O Alibaba Cloud CDN aceita certificados e chaves privadas exclusivamente no formato PEM. Este tópico descreve os requisitos de formato para cada tipo de certificado e como converter certificados DER, P7B (PKCS#7) e PFX (PKCS#12) para PEM.
Certificados de uma CA raiz
Os certificados de CA raiz são compatíveis com servidores web como Apache, IIS, NGINX e Tomcat. Os certificados SSL usados pelo CDN seguem o formato compatível com NGINX. O arquivo de certificado tem a extensão .crt e o arquivo de chave privada tem a extensão .key.
Abra o arquivo .crt em um editor de texto para visualizar o conteúdo do certificado.
O certificado deve seguir esta estrutura:
Iniciar com
-----BEGIN CERTIFICATE-----Terminar com
-----END CERTIFICATE-----Cada linha, exceto a última, deve conter exatamente 64 caracteres; a última linha pode ter 64 caracteres ou menos
Faça upload de todo o conteúdo, desde -----BEGIN CERTIFICATE----- até -----END CERTIFICATE-----.
Certificados de uma CA intermediária
Se o certificado for emitido por uma CA intermediária, faça upload da cadeia completa: o certificado do servidor e todos os certificados intermediários combinados em um único arquivo.
-----BEGIN CERTIFICATE-----
(server certificate content)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(intermediate certificate content)
-----END CERTIFICATE-----
O certificado do servidor deve vir primeiro, seguido pelos certificados intermediários. Não adicione espaços entre os certificados. Todos devem estar no formato PEM.
Para montar a cadeia, abra cada arquivo .pem em um editor de texto e cole o conteúdo na ordem correta: primeiro o bloco do certificado do servidor e, em seguida, cada bloco de certificado intermediário, sem espaços entre eles.
Formato de chave privada RSA
O arquivo de chave privada tem a extensão .pem ou .key. Abra-o em um editor de texto para visualizar o conteúdo.
Uma chave privada RSA válida deve:
Começar com
-----BEGIN RSA PRIVATE KEY-----Terminar com
-----END RSA PRIVATE KEY-----Ter exatamente 64 caracteres em cada linha, exceto na última
Gerar uma nova chave privada RSA
Execute o comando abaixo para gerar uma chave privada RSA de 2048 bits. A saída será salva em privateKey.pem.
openssl genrsa -out privateKey.pem 2048
Converter uma chave privada que inicia com -----BEGIN PRIVATE KEY-----
Caso sua chave privada comece com -----BEGIN PRIVATE KEY----- em vez de -----BEGIN RSA PRIVATE KEY-----, converta-a com o OpenSSL antes de fazer o upload:
openssl rsa -in old_server_key.pem -out new_server_key.pem
Faça upload do conteúdo de new_server_key.pem junto com o certificado.
Converter formatos de certificado
O CDN aceita apenas certificados no formato PEM. Use o OpenSSL para converter outros formatos.
Um arquivo.crtpode estar no formato PEM ou DER (Distinguished Encoding Rules). Abra-o em um editor de texto: se você visualizar-----BEGIN CERTIFICATE-----, ele já está no formato PEM e nenhuma conversão é necessária. O PEM é um formato de texto codificado em Base64; arquivos de chave privada nesse formato usam a extensão.key.
DER para PEM
O formato DER é comum em plataformas Java.
Converta o certificado:
openssl x509 -inform der -in certificate.cer -out certificate.pem
Converta a chave privada:
openssl rsa -inform DER -outform pem -in privatekey.der -out privatekey.pem
P7B (PKCS#7) para PEM
O formato P7B é frequente no Windows Server e no Tomcat.
Converta o certificado:
openssl pkcs7 -print_certs -in incertificat.p7b -out outcertificate.cer
Abra o arquivo outcertificate.cer e copie o bloco de -----BEGIN CERTIFICATE----- até -----END CERTIFICATE-----. Faça upload apenas desse bloco.
Arquivos P7B não contêm chave privada. Ao configurar o certificado SSL no console do CDN, insira apenas o conteúdo do certificado e deixe o campo de chave privada em branco.
PFX (PKCS#12) para PEM
O formato PFX é amplamente usado no Windows Server.
Converta o certificado:
openssl pkcs12 -in certname.pfx -nokeys -out cert.pem
Converta a chave privada:
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes