腾讯云免费SSL证书扩展文件含义

背景

最近有网友反馈腾讯云 API Explorer工具,通过API上传证书( https://console.cloud.tencent.com/api/explorer?Product=ssl&Version=2019-12-05&Action=UploadCertificate&SignVersion= ) 报错。 腾讯云SSL证书产品,可以管理自己的SSL证书也可以托管其他厂商发的SSL证书文件,如果托管的SSL证书文件比较多时是可以通过API来上传的,同时也可以通过控制台( https://console.cloud.tencent.com/ssl )的上传SSL证书来最终托管证书文件。以下为用户反馈的内容,通过API Explorer上传报异常错误。

用户反馈问题(图1)

这里经过排查最终的原因是,在API Explorer工具是单行输入证书体验,而实际的SSL证书文件内容是多行且有换行,换行在urlencode时会转义,最终影响接口不识别导致报错,这里优化的方案一方面是纠正转义问题,再就是把单行改为多行输入文本,方便肉眼可以看到,增强这里的用户体验。

API Explorer上传证书,优化前的体验(图2)

API Explorer上传证书,优化后的体验(图3)

问题

笔者在复现用户的问题时也发现了这里新的体验问题,如果你申请过腾讯云的免费SSL证书的话( https://console.cloud.tencent.com/ssl ) ,申请通过后下载SSL证书的效果如下。

免费证书下载(图4)

以下载Nginx为例,最终下载后的证书文件,截图如下。

Nginx免费证书,下载后解压内容(图5)

我们可以看到这里Nginx免费证书下载后(图4) 和API Explorer工具上传证书描述不一致(图2) ,其中API Explorer工具是让输入公钥(CertificatePublicKey)和私钥(CertificatePrivateKey)与扩展名对应不上,当然如果是一个老手这里肯定不会难住,如果是一个新手就会出现问题,不知道如何填写。其实腾讯云的免费证书是通过TrustAsia等CA机构颁发的TLS/SSL证书,共分为四个文件pem/crt/key/csr,以下是不同文件的含义和对应API Explorer的内容。

证书扩展名 含义 在API Explorer上传时对应的文件名
crt 申请者使用自己的身份与公钥生成CSR文件(certificate signing request),请求CA给自己颁发用CA私钥签名过的证书
pem pem只是一种编码方式,内容与csr文件内容一致(公钥)
csr csr包含ssl证书拥有者身份与公钥等信息 公钥(CertificatePublicKey)
key 私钥 私钥(CertificatePrivateKey)

四个证书文件MD5值(图6)

解决方案

API Explorer工具不同秘钥对应的文件扩展名。关于这里的体验我们也在持续优化中,如果您有关于腾讯云体验问题也可以给我留言。