502
英雄联盟
生成证书__证书管理_用户指南_负载均衡-阿里云
概述
上传证书前,您需要生成相应的证书,包括服务器证书、CA证书、客户端证书。
服务器证书:用于用户浏览器检查服务器发送的证书是否是由自己信赖的中心签发的,服务器证书可以到阿里云云盾证书服务购买,也可以到其他服务商处购买。服务器证书需要上传到负载均衡的证书管理系统。
客户端证书:用于证明客户端用户的身份,使得客户端用户在与服务器端通信时可以证明其真实身份。
CA 证书:服务器要求用户浏览器发送客户端证书,收到后服务器用 CA 证书验证客户端证书,如果没有通过验证,拒绝连接。开启双向认证功能后,CA 证书和服务器证书都需要上传到负载均衡的证书管理系统。
操作步骤
生成服务器证书。您可以从云盾 证书服务 购买并生成服务器证书,也可以到其他服务商处购买。
使用 openssl 生成自签 CA 证书。
在 /root 目录下新建 ca 文件夹,在 ca 文件夹下创建 4 个子文件夹:
$ sudo mkdir ca
$ cd ca
$ sudo mkdir newcerts private conf server
- newcerts 目录将用于存放 CA 签署过的数字证书(证书备份目录);
- private 目录用于存放 CA 的私钥;
- conf 目录用于存放一些简化参数用的配置文件;
- server 目录存放服务器证书文件。
在 conf 目录下新建 openssl.conf 文件,并将其内容编辑如下:
运行以下命令生成私钥 key 文件:
$ cd /root/ca
$ sudo openssl genrsa -out private/ca.key
输出
Generating RSA private key, 512 bit long modulus
..++++++++++++
.++++++++++++
e is 65537 (0x10001)
private 目录下有 ca.key 文件生成。openssl 默认生成 512 位的。一般是用 2048 位的。
运行以下命令,并按命令后的示例提供需要输入的信息,然后回车,生成证书请求 csr 文件。
$ sudo openssl req -new -key private/ca.key -out private/ca.csr
信息提供示例:
提示输入 Common Name 时,如果没有域名,输入 xxx.xxx.cn。
private 目录下有 ca.csr 文件生成。
运行以下命令生成凭证 crt 文件:
$ sudo openssl x509 -req -days 365 -in private/ca.csr -signkey private/ca.key -out private/ca.crt
控制台输出如下示例。private 目录下有 ca.crt 文件生成。
运行以下命令为 key 设置起始序列号。可以是任意四个字符。
$ sudo echo FACE > serial
运行以下命令创建 CA 键库:
$ sudo touch index.txt
运行以下命令为移除”用户证书” 创建一个证书撤销列表。
$ sudo openssl ca -gencrl -out /root/ca/private/ca.crl -crldays 7 -config "/root/ca/conf/openssl.conf"
输出为:
Using configuration from /root/ca/conf/openssl.conf
private 目录下有 ca.crl 文件生成。
生成客户端证书。
- 运行以下命令创建存放 key 的目录 users:
$ sudo mkdir users
运行以下命令为用户创建一个 key:
$ sudo openssl genrsa -des3 -out /root/ca/users/client.key 1024
要求输入 pass phrase,这个是当前 key 的口令,以防止本密钥泄漏后被人盗用。两次输入同一个密码,users 目录下有 client.key 文件生成。
运行以下命令为 key 创建一个证书签名请求 csr 文件:
$ sudo openssl req -new -key /root/ca/users/client.key -out /root/ca/users/client.csr
提示输入 pass phrase,即 client.key 的口令。将上一步保存的 pass phrase 输入后并回车。按照以下示例输入要求提供的信息。A challenge password 是客户端证书口令(请注意将它和 client.key 的口令区分开,这边设置密码为 test),可以与服务器端证书或者根证书口令一致。
users 目录下有 client.csr 文件生成。
运行以下命令使用您私有的 CA key 为刚才的 key 签名:
$ sudo openssl ca -in /root/ca/users/client.csr -cert /root/ca/private/ca.crt -keyfile /root/ca/private/ca.key -out /root/ca/users/client.crt -config "/root/ca/conf/openssl.conf"
控制台输出为:
两次确认提示都输入 “y”,users 目录下有 client.crt 文件生成。
运行以下命令将证书转换为大多数浏览器都能识别的 PKCS12 文件:
$ sudo openssl pkcs12 -export -clcerts -in /root/ca/users/client.crt -inkey /root/ca/users/client.key -out /root/ca/users/client.p12
获得如下提示时,输入 client.key 的 pass phrase。
获得如下提示时,输入 Export Password,这个是客户端证书的保护密码(其作用类似于 步骤 3.iii 保存的口令),在客户端安装证书的时候需要输入这个密码。
users 目录下有 client.p12 文件生成。
- 运行以下命令创建存放 key 的目录 users:
最后更新:2016-12-20 13:19:10
上一篇:
配置转发策略__实例管理_用户指南_负载均衡-阿里云
下一篇:
转换证书格式__证书管理_用户指南_负载均衡-阿里云
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云