SSL 证书
自签证书
1.首先要生成服务器端的私钥(key文件):
1 |
|
- genrsa——使用RSA算法产生私钥
- -des3——使用des3算法对私钥进行加密(以忽略)
- -out——输出文件的路径
- 2048——指定私钥长度
server.key是密钥文件名,为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法去除server.key中的密码。
1 |
|
此时server.key就是没有密码的版本了。
2.生成根证书签发申请文件(csr文件)
使用 RSA私钥生成 CSR 签名请求。
1 |
|
- req——执行证书签发命令
- -new——新证书签发请求
- -key——指定私钥路径
- -out——输出的csr文件的路径
需要依次输入国家,地区,组织,email。最重要的是common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。
3.自签发根证书(cer文件)
CSR文件必须有CA的签名才可形成证书,这里说下怎么自己做CA。
1 |
|
- req——执行证书签发命令
- -x509——生成x509格式证书
- -days——证书的有效期(天)
- -key——指定私钥路径
- -out——输出的crt文件的路径
生成的ca.crt文件是用来签署上面的server.csr文件。
4.使用根证书签发服务端证书
1 |
|
- -CA——指定CA证书的路径
- -CAkey——指定CA证书的私钥路径
- -CAcreateserial——表示创建证书序列号文件(即上方提到的serial文件),创建的序列号文件默认名称为-CA,指定的证书名称后加上.srl后缀
最后生成了私用密钥:server.key和自己认证的SSL证书:server.crt
证书合并:
1 |
|