最通用的 ssl 工具之一是OpenSSL,它是SSL协议的开源实现。OpenSSL有多种版本支持不同系统,如Windows,Linux和Mac OS X。OpenSSL 通常用为许多不同系统(包括Apache)创建CSR和私有密钥。同时,通过查看CSR或证书的详细信息,比较证书和私钥的MD5哈希(确保匹配),验证证书是否正确安装,并将证书转换为不同的格式。
如果不想使用OpenSSL,也可以使用SSL证书其他工具。下面列出了最常用的OpenSSL命令:
常用的OpenSSL命令
这些命令可生成CSR,证书,私钥,并执行其他任务。
生成新的私钥和证书签名请求
openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
生成自签名证书
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
生成现有私钥的证书签名请求(CSR)
openssl req -out CSR.csr -key privateKey.key -new
根据现有证书生成证书签名请求
openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key
从私钥中删除密码
openssl rsa -in privateKey.pem -out newPrivateKey.pem
使用OpenSSL进行检查
如果需要检查证书,CSR或私钥中的信息,请使用这些命令。
检查证书签名请求(CSR)
openssl req -text -noout -verify -in CSR.csr
检查私钥
openssl rsa -in privateKey.key -check
检查证书
openssl x509 -in certificate.crt -text -noout
检查PKCS#12文件(.pfx或.p12)
openssl pkcs12 -info -in keyStore.p12
使用OpenSSL进行调试
如果收到私有密码与证书不匹配或安装到站点的证书不受信任的错误,请尝试其中一个命令。尝试验证SSL证书是否正确安装,请查看SSL Checker。
检查公钥的MD5哈希值,以确保它与CSR或私有密钥相匹配。
openssl x509 -noout -modulus -in certificate.crt | openssl md5
openssl rsa -noout -modulus -in privateKey.key | openssl md5
openssl req -noout -modulus -in CSR.csr | openssl md5
检查SSL连接。应显示所有证书(包括中间体)
openssl s_client -connect www.paypal.com:443
使用OpenSSL进行转换
下面命令是将证书和密钥转换为不同的格式,使其与特定类型的服务器或软件兼容。例如,可以将适用于Apache的普通PEM文件转换为PFX(PKCS#12)文件,并将其用于Tomcat或IIS。或使用SSL转换器转换证书。
将DER文件(.crt .cer .der)转换为PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
将PEM文件转换为DER
openssl x509 -outform der -in certificate.pem -out certificate.der
将包含私钥和证书的PKCS#12文件(.pfx .p12 )转换为PEM
openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
添加-nocerts输出私钥或添加-nokeys输出证书。
将PEM证书文件和私钥转换为PKCS#12(.pfx .p12)
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
SSL证书是HTTP明文协议升级HTTPS加密协议的重要渠道,是网络安全传输的加密到通道。关于更多SSL证书的资讯,请关注GDCA(数安时代)。GDCA致力于网络信息安全,已通过WebTrust 的国际认证,是全球可信任的证书签发机构。GDCA专业技术团队将根据用户具体情况为其提供最优的产品选择建议,并针对不同的应用或服务器要求提供专业对应的HTTPS解决方案。