SCDN开启HTTPS需上传您的证书,且只支持PEM格式证书。本文为您介绍阿里云SCDN支持的证书格式和不同证书格式间的转换方式。

常用证书申请流程

  1. 本地生成私钥。

    本地生成私钥openssl genrsa -out privateKey.pem 2048,其中privateKey.pem为您的私钥文件,请妥善保管。

  2. 生成证书请求文件。

    生成证书请求文件openssl req -new -key privateKey.pem -out server.csr,其中server.csr是您的证书请求文件,可用证书请求文件去申请证书。

  3. 获取请求文件中的内容并前往CA等机构申请证书。

Root CA机构颁发的证书

Root CA机构颁发的证书是唯一的,一般包括Apache、IIS、Nginx和Tomcat。阿里云SCDN使用的证书是Nginx,证书格式为.crt,证书私钥格式为.key

证书上传格式要求如下:
  • 请将开头-----BEGIN CERTIFICATE-----和结尾 -----END CERTIFICATE-----一并上传。
  • 每行64字符,最后一行不超过64字符。
在Linux环境下,PEM格式的证书示例如下图所示。TOOT CA证书

中级机构颁发的证书

中级机构颁发的证书文件包含多份证书,您需要将服务器证书与中间证书拼接后一起上传。
说明 拼接规则:服务器证书放第一份,中间证书放第二份,中间不能有空行。通常证书颁发机构在颁发证书时会有相应的说明,请注意规则说明。

中级机构颁发的证书链:

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

证书链规则要求如下:
  • 证书之间不能有空行。
  • 每一份证书需遵守证书上传的格式说明。

RSA私钥格式要求

RSA私钥规则:
  • 本地生成私钥为openssl genrsa -out privateKey.pem 2048。其中privateKey.pem为您的私钥文件。
  • -----BEGIN RSA PRIVATE KEY-----开头,以-----END RSA PRIVATE KEY----- 结尾,请将这些内容一并上传。
  • 每行64字符,最后一行长度可以不足64字符。
RSA私钥格式
如果您不是按照上述方案生成私钥,得到-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----样式的私钥时,您可以按照如下方式转换,然后将new_server_key.pem的内容与证书一起上传。
openssl rsa -in old_server_key.pem -out new_server_key.pem

证书格式转换方式

SCDN HTTPS安全加速只支持PEM格式的证书,其他格式的证书需要转换成PEM格式,建议您通过openssl工具进行转换。下面是几种比较流行的证书格式转换为PEM格式的方法。

  • DER转换为PEM:DER格式一般出现在Java平台中。
    • 证书转化
      openssl x509 -inform der -in certificate.cer -out certificate.pem
    • 私钥转化
      openssl rsa -inform DER -outform pem -in privatekey.der -out privatekey.pem
  • P7B转换为PEM:P7B格式一般出现在Windows Server和Tomcat中。
    • 证书转化
      openssl pkcs7 -print_certs -in incertificat.p7b -out outcertificate.cer

      获取outcertificat.cer里面-----BEGIN CERTIFICATE----------END CERTIFICATE-----的内容作为证书上传。

    • 私钥转化:P7B证书无私钥,您只需在SCDN控制台填写证书部分,私钥无需填写。
  • PFX转换为PEM:PFX格式一般出现在Windows Server中。
    • 证书转化
      openssl pkcs12 -in certname.pfx -nokeys -out cert.pem
    • 私钥转化
      openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes

其它证书相关问题

  • 只支持带SNI信息的SSL/TLS握手。
  • 您上传的证书和私钥要匹配,否则校验会出错。
  • 更新证书的生效时间是10分钟。
  • 不支持带密码的私钥。