因为需要在内网做测试,没有公网和域名,无法申请网上的SSL证书,查了一下相关的信息,总结了以下步骤,制作自签名SSL证书。
环境:Linux Anolis8.6 自带OpenSSL
在安装OpenSSL之前一定要用openssl version测试一下系统是否已安装OpenSSL,我就是用了一上午安装总是出错,才发现系统自带,后安装的冲突了。
CRT证书制作
//创建私钥(.key)
openssl genrsa -out my.key 2048
//基于私钥(.key)创建证书签名请求(.csr)
//C国家,ST省,L市,O公司,OU部门,CN使用人
openssl req -new -key my.key -out my.csr -subj "/C=CN/ST=shandong/L=jinan/O=com/OU=bm/CN=domain"
//使用自己的私钥(.key)签署自己的证书签名请求(.csr),生成自签名证书(.crt)
openssl x509 -req -in my.csr -out my.crt -signkey my.key -days 3650
PEM证书制作语句
//创建密钥
openssl genrsa -out key.pem 1024
//创建证书请求,如果 -subj "/C……"不写,就需要一步一步输入
openssl req -new -out req.csr -key key.pem -subj "/C=CN/ST=shandong/L=jinan/O=com/OU=bm/CN=domain"
//自签署证书
openssl x509 -req -in req.csr -out cert.pem -signkey key.pem -days 3650
如果需要颁发者和使用者不同的证书,自签署证书的时候,添加颁发机构的私钥
//自签署
//ca-key.pem、ca-cert.pem分别为证书机构第一步和第三部得到的
openssl x509 -req -in req.csr -out cert.pem -signkey key.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -days 3650
PEM证书转P12证书
//不加-password pass:"123456"就需要回车后输入密码两次
openssl pkcs12 -export -clcerts -in cert.pem -inkey key.pem -password pass:"123456" -out XXX.p12