多域名证书的签名和自签名流程

来源:互联网 发布:淘宝店铺装修视频2016 编辑:程序博客网 时间:2024/05/22 03:04

最近项目需要支持多域名的证书, 研究了一下再次做下总结, 以便以后查阅。

开发前准备: Linux 环境下 使用openssl 制作, 没有安装openssl 的可以在网上搜索下安装。

1:使用 openssl 生成私钥文件 server.key

openssl genrsa -out server.key 2048

 

2:因为证书需要支持多个域名,所以需要修改 openssl.cnf 文件

将 openssl.cnf 拷贝到当前目录下

cp/etc/ssl/openssl.cnf ./

修改拷贝过来的配置文件

1> 在 [ req ] 模块下 取消注释:req_extensions = v3_req # The extensions to add to a certificate request

2> 确保[ req_distinguished_name ]下没有 0.xxx 的标签,有的话把0.xxx的0. 去掉
3> 在 [ v3_req ] 块下增加一行 subjectAltName = @SubjectAlternativeName
4> 在文件末尾增加如下信息:
[SubjectAlternativeName]
DNS.1 = service.
xxx.cn
DNS.2 =
xxx.xxx.azurenet.cn
DNS.3 =
yyyy.xxx.azurenet.cn
DNS.6 = *.service.azurenet.cn
3:使用私钥和配置文件生成证书请求CSR文件server.csr,没有修改配置文件的不用写配置文件的参数

openssl req -new -key server.key -out server.csr -config ./openssl.cnf
3.1> 生成CSR文件需要填写一些信息,Common Name填写主要域名,这个域名要在DNS.XX里
 Country Name (2 letter code) [AU]:CN             State or Province Name (full name) [Some-State]:Beijin Locality Name (eg, city) []:BeijinOrganization Name (eg, company) [Internet Widgits Pty Ltd]:vianetOrganizational Unit Name (eg, section) []:vianetCommon Name (e.g. server FQDN or YOUR name) []:service.azurenet.cnEmail Address []:yue.li3@21vianet.comPlease enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:y4#nTO8OSkRBh*mJ2PV1An optional company name []:vianet
住:server.csr 这个文件就是要拿给CA厂商签名的,server.key这个私钥文件自己保存好。拿给厂商签名后厂商会用他们的根证书前面这个CSR文件生成你服务器可用证书给你,在这之前我们可以自己充当CA厂商这个角色来测试一下
4:要生成用来前面CSR文件的根证书,首先创建CA目录
mkdir ./demoCAmkdir demoCA/newcertstouch demoCA/index.txtecho 01 > demoCA/serial
5:生成ca.key,并自签名生成ca.crt证书,需要填写密码两次,如1234,填写的Common Name要和上面生成CSR文件一致。其他步骤一样,建议还是按照CSR文件那样填写就好了。
openssl req -new -x509 -days 36500 -keyout ca.key -out ca.crt -config ./openssl.cnf
Country Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:BeijinLocality Name (eg, city) []:BeijinOrganization Name (eg, company) [Internet Widgits Pty Ltd]:vianetOrganizational Unit Name (eg, section) []:vianetCommon Name (e.g. server FQDN or YOUR name) []:service.azurenet.cnEmail Address []:yue.li3@21vianet.com
6:使用自签署的CA证书签署服务器CSR证书请求,输入密码,一直按y就好了:
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -extensions v3_req -config openssl.cnf
7:这时候当前目录有这几个文件:ca.key ca.crt server.key server.crt server.csr,其中server.key server.crt就是要放在服务器上的,ca.key相当于电脑内置的根证书

如果需要证书之间的转换请查看:http://blog.csdn.net/u010131277/article/details/71077610
到这支持多域名的证书已经制作完成。如有不正确的地请多指教。
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 过敏后脸上反复出现湿疹怎么办 孕妇脸上长湿疹过敏红肿怎么办 一岁宝宝一直流鼻涕怎么办 三岁宝宝一直流鼻涕怎么办 3岁宝宝一直流鼻涕不好怎么办 7岁半边鼻子不通气怎么办 感冒流鼻涕鼻子不通气怎么办 鼻子不通气干的怎么办 7个月婴儿流鼻涕怎么办 鼻子火辣辣的光想流鼻涕怎么办? 三岁宝宝鼻塞流鼻涕怎么办 一岁宝宝感冒流鼻涕鼻塞怎么办 1岁宝宝鼻塞流鼻涕怎么办 一岁多宝宝感冒鼻塞流鼻涕怎么办 宝宝鼻塞流鼻涕怎么办速效办法 八个月宝宝感冒流鼻涕鼻塞怎么办 7岁儿童流清鼻涕怎么办 1岁的宝宝流鼻涕怎么办 3岁宝宝鼻塞严重怎么办 宝宝流鼻涕2个月怎么办 一个月宝宝流鼻子怎么办 六个月宝宝流清水鼻涕怎么办 婴儿流鼻涕怎么办最简单方法 婴儿咳嗽流鼻涕怎么办最简单方法 6个月小孩流鼻涕怎么办 宝宝风寒感冒咳嗽流鼻涕怎么办 三个月宝宝流清鼻涕怎么办 三个月宝宝留清鼻涕怎么办 三个月婴儿流清鼻涕怎么办 宝宝7个月流鼻涕怎么办 6个月孩子流鼻涕怎么办 十一个月孩子感冒流鼻涕怎么办 7个月孩子流鼻涕怎么办 18个月的宝宝流鼻涕怎么办 6个月宝宝咳嗽流鼻涕怎么办 18个月宝宝咳嗽流鼻涕怎么办 6个月宝宝流鼻涕打喷嚏怎么办 宝宝18个月流鼻涕怎么办 18个月宝宝感冒流鼻涕怎么办 小孩睡觉鼻子不通气怎么办 宝宝鼻子里有鼻涕出不来怎么办