使用openssl生成https协议证书
2017-11-16 13:04
567 查看
在服务器端创建证书
一、使用openssl生成CA证书#在/tmp目录下新建一个ca文件夹,并在ca文件夹下创建四个子文件夹 [root@linux-node ~]# mkdir -p /tmp/ca/{newcerts,private,conf,server} [root@linux-node ~]# cd /tmp/ca/
newcerts 目录用于存放CA签署过的数字证书。
private 目录用于存放CA的私钥。
conf 目录用于存放一些简化参数用的配置文件。
server 目录存放服务器证书文件。
二、在conf目录下新建一个包含如下信息的openssl.conf文件
[ ca ] default_ca = foo [ foo ] dir = /tmp/ca database = /tmp/ca/index.txt new_certs_dir = /tmp/ca/newcerts certificate = /tmp/ca/private/ca.crt serial = /tmp/ca/serial private_key = /tmp/ca/private/ca.key RANDFILE = /tmp/ca/private/.rand default_days = 365 default_crl_days= 30 default_md = md5 unique_subject = no policy = policy_any [ policy_any ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = match localityName = optional commonName = supplied emailAddress = optional
三、生成私钥key文件
[root@linux-node ~]# cd /tmp/ca [root@linux-node ca]# openssl genrsa -out /tmp/ca/private/ca.key
四、按提示输入所需信息,然后按回车键生成证书请求csr文件
[root@linux-node ca]# openssl req -new -key /tmp/ca/private/ca.key -out /tmp/ca/private/ca.csr
备注: Common Name需要输入公司的域名。
五、生成凭证crt文件
[root@linux-node ca]# openssl x509 -req -days 365 -in /tmp/ca/private/ca.csr -signkey /tmp/ca/private/ca.key \ -out /tmp/ca/private/ca.crt
六、为CA的key设置起始序列号,可以是任意四个字符
[root@linux-node ca]# echo FACE > /tmp/ca/serial
七、创建CA键库
[root@linux-node ca]# touch /tmp/ca/index.txt
八、为移除客户端证书创建一个证书撤销列表
[root@linux-node ca]# openssl ca -gencrl -out /tmp/ca/private/ca.crl -crldays 7 -config "/tmp/ca/conf/openssl.conf" Using configuration from /tmp/ca/conf/openssl.conf
为客户端证书签名
一、在ca目录内创建一个存放客户端key的目录users[root@linux-node ca]# mkdir /tmp/ca/users
二、为客户端创建一个key
[root@linux-node ca]# openssl genrsa -des3 -out /tmp/ca/users/client.key 1024
备注: 创建key时要求输入pass phrase,这个是当前key的口令,以防止本密钥泄漏后被人盗用。两次输入同一个密码。
三、为客户端key创建一个证书签名请求csr文件
[root@linux-node ca]# openssl req -new -key /tmp/ca/users/client.key -out /tmp/ca/users/client.csr
输入该命令后,根据提示输入上一步输入的pass phrase,然后根据提示输入对应的信息
备注: A challenge password是客户端证书口令。注意将它和client.key的口令进行区分。
四、使用CA证书的key为客户端key签名
[root@linux-node ca]# openssl ca -in /tmp/ca/users/client.csr -cert /tmp/ca/private/ca.crt \ -keyfile /tmp/ca/private/ca.key -out /tmp/ca/users/client.crt -config "/tmp/ca/conf/openssl.conf"
备注: 当出现确认是否签名的提示时,两次都输入y。
五、将证书转换为PKCS12文件
[root@linux-node ca]# openssl pkcs12 -export -clcerts -in /tmp/ca/users/client.crt \ -inkey /tmp/ca/users/client.key -out /tmp/ca/users/client.p12
按照提示输入客户端client.key的pass phrase。再输入用于导出证书的密码。这个是客户端证书的保护密码,在安装客户端证书时需要输入这个密码。
六、运行以下命令查看生成的客户端证书
[root@linux-node ca]# cd users [root@linux-node users]# ls client.crt client.csr client.key client.p12
相关文章推荐
- 使用OpenSSL生成自签名证书(IIS)搭建Https站点
- Mac 下Nodejs 使用 https 的过程以及使用openssl生成私钥、公钥和证书
- OpenSSL使用1(用OpenSSL生成自签名证书在IIS上搭建Https站点)(用于iOS的https访问)
- 在linux(centos)使用openssl生成https证书并配置到nginx的实现过程
- rhel6.3下使用openssl来生成CA证书并颁发证书实例解析
- 使用openssl工具生成证书
- OpenSSL生成证书详解 如何使用OpenSSL生成自签证书 转载
- openssl 自定义生成证书和私钥并使用
- 如何使用OpenSSL生成带有SubjectAltName的自签名证书?
- 如何使用OpenSSL工具生成根证书与应用证书
- openssl https openssl 证书生成
- xp下使用Openssl来制作证书,在IIS中配置Https笔记
- OPENSSL https 证书的使用Demo(证书加密码)
- keytool工具生成证书:Tomcat启用HTTPS协议配置过程
- openssl生成https证书 (转)
- Linux下Tomcat配置使用SSL双向认证(使用openssl生成证书)
- 使用OpenSSL生成私钥(Private Key)以及根据Private Key创建证书
- 使用OpenSSL生成证书
- PHP中使用OpenSSL生成证书及加密解密
- OpenSSL生成https服务器端数字证书