openssl生成https证书
简介
本文主要介绍在Linux环境下通过openssl生成自己的ssl证书,并搭配nginx服务器启用https。我对证书的了解也不是很多,从网上搜罗一些资料,并在CentOS上成功搭建HTTPS服务器,通过本文整理如下:
准备工作
/etc/pki/CA/index.txt 跟踪已颁发的证书,初始为空。注意是0字节,不然会报出一个错误。 wrong number of fields on line 1 (looking for field 6, got 1, '' left) /etc/pki/CA/serial文件,最后一次颁发的证书的***,初始值01,也可以是00等其它值。
touch /etc/pki/CA/index.txt
## 01
touch /etc/pki/CA/serial
复制代码
开始, 切换工作路径为/etc/pki/tls方便openssl文件引入。
cd /etc/pki/tls
复制代码
生成服务器端的私钥 key文件
openssl genrsa -des3 -out server.key 1024
复制代码
在/etc/pki/tls目录下生成了server.key文件。
生成CSR文件
openssl req -new -key server.key -out server.csr -config openssl.cnf
复制代码
在/etc/pki/tls目录下生成了server.csr文件。
自己生成CA的签名
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf
复制代码
生成两个文件 ca.key 和ca.crt文件,后面签名用。
CA签名CSR文件形成证书 crt文件
用上一步生成的ca.key和ca.crt签名第二步生成了csr文件。
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
复制代码
生成了server.crt文件。
合并证书文件(crt)和私钥文件(key)
cat server.crt server.key > server.pem
复制代码