📅  最后修改于: 2023-12-03 15:32:42.572000             🧑  作者: Mango
OpenSSL是一个开源的库,包含了各种安全协议和加密算法,可用于SSL/TLS协议的管理,证书的生成和签发等.
Linux中的OpenSSL命令由openssl执行,常用于自签名证书的生成和HTTPS证书的签发。下面将介绍实际中OpenSSL命令的使用方法。
自签名证书通常用于测试环境或内部网站,以下命令将生成自签名证书。
openssl genrsa -out private.key 2048
该命令将生成一组RSA私钥,长度为2048位,并将私钥保存到名为private.key的文件中。
openssl req -new -key private.key -out mydomain.csr
该命令将生成一个证书请求文件(mydomain.csr),其中包含了所需要的关键信息。证书请求包含主题信息,包括CN、OU、O以及C等等,这些信息将被用于生成证书内容。
openssl x509 -req -days 365 -in mydomain.csr -signkey private.key -out mydomain.crt
该命令将使用CSR文件以及私钥文件,为CSR文件中指定的主题生成一个新的证书(mydomain.crt)。这个证书将在365天后过期。
使用OpenSSL命令可以查看证书的详细信息,例如证书版本、序列号、颁发日期、过期日期、公钥信息等。
openssl x509 -in mydomain.crt -noout -text
通过该命令可以查看mydomain.crt证书的详细信息。
HTTPS使用SSL/TLS加密通信,SSL/TLS证书可以通过CA中心签发,以下命令将生成基于CA签发的HTTPS证书。
同生成自签名证书一样,使用以下命令生成私钥:
openssl genrsa -out private.key 2048
openssl req -new -key private.key -out mydomain.csr
生成证书请求文件(CSR),并按照提示输入主体信息。
创建一个自签名的CA证书,用于签发HTTPS证书。
openssl req -new -x509 -key private.key -out ca.crt -days 365
使用之前创建的CA证书,为证书请求文件(CSR)生成HTTPS证书。
openssl x509 -req -in mydomain.csr -out mydomain.crt -CA ca.crt -CAkey private.key -CAcreateserial -days 365
openssl x509生成网站证书。其中,-CA、-CAkey和-CAcreateserial选项用于将证书请求(CSR)和自签名CA签署,-days选项用于指定证书过期时间。
OpenSSL命令是一个强大的安全工具,开发人员应该深入了解其用途和操作方式。OpenSSL命令还有很多功能,例如加密、解密、哈希等等,感兴趣的读者可以自行深入学习。
综上,本文介绍了OpenSSL命令在生成自签名证书和HTTPS证书中的应用,以及查看证书信息。