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证书私钥密码忘记怎么办?》