同事总结的,借来分享
https://www.openssl.org/source/
OpenSSL帮助
https://www.openssl.org/docs/manmaster/man1/
Linux编译方式安装OpenSSL
确保gcc、gcc-c++的库已经安装
解压缩:tar –xzf openssl-1.1.0c.tar.gz
配置:./config
编译:make
安装:make install
建立符号链接
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
openssl genrsa 命令(产生RSA私钥)
-out:指定输出文件名
2048:2048位密钥
例:openssl genrsa -out Root.key 2048
openssl req -new 命令(生成请求文件)
-new:产生新的请求文件
-key:指定对象私钥文件名
-out:指定输出请求文件名
-subj:指定对象信息
-utf8:对象信息按UTF8编码
例:openssl req -new -key Root.key -out Root.csr -subj "/C=CN/O=北京XXXX软件技术有限公司/CN=Company Root" -utf8
openssl x509 命令(根据请求签名)
–req:根据请求签名
-in:指定输入请求文件名
-signkey:指定签名私钥文件名
-out:指定输入证书文件名
-days:指定证书有效期
-extfile=:指定扩展配置文件 (这个文件还不清楚是什么东东)
-extensions:指定使用配制属性
-set_serial:指定证书序号
$(date +%s%N):将当前时间作为证书序号(Linux)
-nameopt:指定对象信息编码方式
例: openssl x509 -req -in Root.csr -signkey Root.key -out Root.pem -days 3650 -extfile=Company.conf -extensions v3_root -set_serial $(date +%s%N) -nameopt utf8
生成中间证书需要下列俩参数
-CA:指定用于签名的上级证书文件
-CAkey:指定用于签名的上级私钥文件
例:openssl x509 -req -in Site.csr -CA Root.pem -CAkey Root.key -out Site.pem -days 3650 -extfile=Company.conf -extensions v3_middle -set_serial $(date +%s%N) -nameopt utf8
openssl x509 命令(转换证书格式)
-outform:指定输出证书格式
-in:指定输入证书文件名
-out:指定输出证书文件名
例:openssl x509 -outform der -in Root.pem -out Root.cer