
openssl genrsa -des3 -out server.key 1024
运行时会提示输入密码,此密码用于加密key文件(参数des3是加密算法,也可以选用其他安全的算法),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果不要口令,则去除口令:openssl rsa -in server.key -out server.key
2.生成服务器端证书签名请求文件(csr文件)
openssl req -new -key server.key -out server.csr
生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其 提示一步一步输入要求的个人信息即可(如:Country,province,city,company等).
二.客户端
1.生成客户端 私钥(key文件)
openssl genrsa -des3 -out client.key 1024 2.生成客户端证书签名请求文件(csr文件)
openssl req -new -key client.key -out client.csr
cd /tmp/create_key/ca
三.生成CA证书文件
#server.csr与client.csr文件必须有CA的签名才可形成证书.
1.首先生成CA的key文件:
openssl genrsa -des3 -out ca.key 1024
2.生成CA自签名证书:
openssl req -new -x509 -key ca.key -out ca.crt
可以加证书过期时间选项 "-days 365".
我们首先要设置 openssl 的全局配置文件在debian下他的配置文件在 /usr/lib/ssl/openssl.cnf
需要修改的内容:
具体怎么改可以自己决定
在CA目录下创建两个初始文件:
为了安全起见,修改cakey.pem私钥文件权限为600或400,也可以使用子shell生成( umask 077openssl genrsa -out private/cakey.pem 2048 ),下面不再重复。
使用req命令生成自签证书:
然后会有提示,之后再出现也是这样填,不再重复
以上都是在CA服务器上做的 *** 作,而且只需进行一次,现在转到nginx服务器上执行:
这里测试的时候CA中心与要申请证书的服务器是同一个。
另外在极少数情况下,上面的命令生成的证书不能识别,试试下面的命令:
上面签发过程其实默认使用了-cert cacert.pem -keyfile cakey.pem,这两个文件就是前两步生成的位于/etc/pki/CA下的根密钥和根证书。将生成的crt证书发回nginx服务器使用。
到此我们已经拥有了建立ssl安全连接所需要的所有文件,并且服务器的crt和key都位于配置的目录下,剩下的是如何使用证书的问题。
因为这是个人生成的证书,浏览器第一次可能会报错,只要添加信任之后就可以正常使用了!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)