SSL证书是遵循SSL协议,具有服务器身份验证和数据加密传输功能,基于公共密钥基础结构(PKI)或公共密钥加密技术工作,涉及到公钥和私钥这两个不同加密密钥。通常我们会给密钥加载特定密码保护,但这使其他服务器在加载SSL证书密钥时,导致https服务失效,这时可取消密钥中的密码保护,使其他服务器能加密SSL证书。

一、如何判断SSL证书密钥是否有密码保护?

SSL证书私钥文件可以使用文本编辑器打开,如果私钥文件是以下格式,则说明该SSL证书密钥时已加载密码保护了。

1、PKCS#8 私钥加密格式

—-BEGIN ENCRYPTED PRIVATE KEY—–

……BASE64 私钥内容……

—–END ENCRYPTED PRIVATE KEY—–

备注说明:[$Context]为密钥内容。

2、Openssl ASN格式

—–BEGIN RSA PRIVATE KEY—–

Proc-Type: 4,ENCRYPTED

DEK-Info:DES-EDE3-CBC,4D5D1AF13367D726

……BASE64 私钥内容……

—–END RSA PRIVATE KEY—–

Keytool 工具生成的密钥都是带有密码保护的,需要通过证书文件格式转换成无密码的密钥文件。

二、如何取消SSL证书密钥密码保护?

如果您的密钥已经加载密码保护,可以通过 OpenSSL工具运行以下命令取消密码保护:

openssl rsa -in encryedprivate.key -out unencryed.key

备注说明:[$Encryedprivate_Key]为已加载密码保护的密钥文件。

[$Unencryed_Key]为取消密码保护的密钥文件,扩展名为key或者pem。

通常情况下,SSL证书密钥密码设置还是非常重要的,通过设置复杂的私钥密码,可有效地保障SSL证书自身安全。相关阅读:《SSL证书私钥密码忘记怎么办?》