行业新闻与博客

最常见的 OpenSSL 命令

最常见的OpenSSL命令
最通用的SSL工具之一是OpenSSL,它是SSL协议的开源实现。几乎所有平台都有OpenSSL版本,包括Windows,Linux和Mac OS X.OpenSSL通常用于为包括Apache在内的许多不同平台创建CSR和专用密钥。但是,它也有数百种不同的功能,允许您查看CSR或证书的详细信息,比较证书和私钥的MD5散列(以确保它们匹配),验证证书是否在任何网站上正确安装,并将证书转换为不同的格式。Windows的OpenSSL的编译版本可以在这里找到。

如果您不想打扰OpenSSL,您可以使用我们的SSL证书工具完成许多相同的事情。下面,我们列出了最常见的OpenSSL命令及其用法:


一般的OpenSSL命令
这些命令允许您生成CSR,证书,私钥以及执行其他各种任务。

生成一个新的私钥和证书签名请求
openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
生成自签名证书(请参阅如何创建并安装Apache自签名证书以获取更多信息)
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
为现有私钥生成证书签名请求(CSR)
OpenSSL的REQ退房手续CSR.csr -键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并检查证书。

检查证书签名请求(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.First -connect www.paypal.com:443
使用OpenSSL进行转换
这些命令允许您将证书和密钥转换为不同的格式,以使它们与特定类型的服务器或软件兼容。例如,您可以将可以与Apache一起工作的普通PEM文件转换为PFX(PKCS#12)文件,并将其与Tomcat或IIS一起使用。使用我们的SSL转换器转换证书而不会与OpenSSL搞混。

将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

需要帮助吗?联系我们的支持团队 在线客服