TLS/SSL使用 OpenSSL 来提供安全传输层(Transport Layer Security)和 安全套接字层(Secure Sockets Layer)。OpenSSL使用公钥/私钥架构,对通讯流进行加密。使用了安全套接字层传输超文本的HTTPS协议,就是在HTTP的基础上加入了 TLS/SSL协议。TLS/SSL依靠证书来验证服务器的身份,并为客户端(如:浏览器)和服务器之间的通信加密。
1. 创建私钥
每个客户端和服务器都要有一个私钥。如:创建一个2048位的密钥,使用类似下面的命令:
openssl genrsa -out itbilu-key.pem 2048
运行以上命令时会提示输入密码,密码用于加密密钥文件。输入密码后,以后每次读取此文件都需输入口令,为了方便可以使用空密码。
2. 创建证书
2.1 创建CSR
文件
所有服务器和一些客户端需要证书。证书应该由认证中心(Certificate Authority)签名,或者自签名。获得证书第一步是创建一个证书签名请求 CSR
(Certificate Signing Request)文件。创建证书CSR
文件可以用以下方法创建的:
openssl req -new -key itbilu-key.pem -out itbilu.csr
创建CSR
文件时,会要求你输入一些信息,如:国家、城市、组织名等,输入完成后这里将生成一个证书签名请求 CSR
文件itbilu.csr
,你可以使用这个文件去数字证书颁发机构CA
申请一个数字证书,CA
会根据你的CSR
文件进行签名,之后认证机构会给你一个新文件,即:数字证书。
2.2 创建自签名CSR
文件
如果是自己在测试环境使用,可以使用CSR
创建一个自签名的证书。创建命令类型如下:
openssl x509 -req -in itbilu.csr -signkey itbilu-key.pem -out itbilu-cert.pem
3. 创建文件签名
创建.pfx
或.p12
:
openssl pkcs12 -export -in itbilu-cert.pem -inkey itbilu-key.pem -certfile itbilu-cert.pem -out itbilu.pfx
上面命令的参数中:
in
: 证书文件inkey
: 私钥certfile
: 把所有CA
认证相关文件连成一个文件。命令类似:cat ca1-cert.pem ca2-cert.pem > ca-cert.pe
你打算打赏多少钱呢?
(微信扫一扫)