使用ssl快速自签一个十年证书测试用
使用ssl快速自签一个十年证书测试用
一、生成RSA密钥对server.key(设置密码)
openssl genrsa -des3 -out server.key 2048
-
openssl:这是OpenSSL命令行工具的名称,用于执行各种加密和证书操作。
-
genrsa:这是OpenSSL命令的子命令,用于生成RSA密钥对。
-
-des3:这是一个选项,表示使用DES算法和3个密钥进行对密钥进行加密。这将要求您输入一个密码来保护生成的私钥文件。
-
-out server.key:这是一个选项,指定生成的私钥文件的输出路径和文件名。在这个例子中,生成的私钥文件将被保存为server.key。
-
2048:这是一个选项,指定生成的RSA密钥的长度为2048位。
二、对RSA私钥进行解密,并重新保存到server.key中(解密)
openssl rsa -in server.key -out server.key
三、生成证书签名server.csr
openssl req -new -key server.key -out server.csr
一直回车就行
-
req:req是openssl的子命令,用于处理证书签名请求。
-
-new:表示创建一个新的CSR。
-
-key server.key:指定私钥文件server.key,用于生成CSR。
-
-out server.csr:指定输出文件server.csr,生成的CSR将保存在该文件中。
通过执行这个命令,你可以生成一个CSR文件
,然后将该文件提交给证书颁发机构(CA
)进行签名,以获取一个有效的证书
四、生成一个十年的自签名证书ca.crt
openssl req -new -x509 -key server.key -out ca.crt -days 3650
-
req:表示生成证书请求。
-
-new:表示创建一个新的证书请求。
-
-x509:表示生成自签名的X.509证书。
-
-key server.key:指定私钥文件server.key,用于生成证书请求。
-
-out ca.crt:指定输出的证书文件名为ca.crt。
-
-days 3650:指定证书的有效期为3650天(10年)
五、生成自签名证书server.crt
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
-
x509:表示使用X.509证书格式。
-
-req:表示输入文件是证书签名请求。
-
-days 3650:表示证书的有效期为3650天(10年)。
-
-in server.csr:表示输入的证书签名请求文件为server.csr。
-
-CA ca.crt:表示使用ca.crt作为证书颁发机构(CA)的根证书。
-
-CAkey server.key:表示使用server.key作为CA的私钥。
-
-CAcreateserial:表示自动创建一个序列号文件,用于跟踪已签发的证书。
-
-out server.crt:表示输出生成的自签名证书文件为server.crt。
通过执行该命令,可以将证书签名请求(server.csr
)与根证书(ca.crt
)进行签名,生成一个有效期为10年的自签名证书(server
六、nginx用https举例
我们需要的是server.crt
和sever.key
,先改个名
mv server.crt ssl.crt
mv server.key ssl.key
nginx
配置监听443
和证书
重启
nginx -s reload
然后成功访问!
瑕疵就是会提示不安全链接