曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3365|回复: 0
打印 上一主题 下一主题

生成证书申请单

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2012-9-2 20:05:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如搭建一个基于 HTTPS  的网站,一般都需要解决身份识别的问题,而这个身份就是网站的证书。比如你想在铁道部的购票网站 12306 购买火车票时,你得先下载该网站提供的根证书。作为企业或网站站长来说,要获取证书,就必须向 CA(Certificate Authority,原意指受信任的第三方公正机构)申请,而申请就需要先为网站填写一份证书申请单。下面介绍在 Linux 下如何填写这份申请单:
1. 切换到 /etc/pki/tls/misc 目录下:
# cd /etc/pki/tls/misc/
# ls
CA  c_hash  c_info  c_issuer  c_name

2. 执行 CA 工具并使用 -newreq 选项表明要填写证书清单:
[root@beyes   misc]# ./CA -newreq
Generating a 2048 bit RSA private key              #以随机方式产生 2048 位的 RSA 私钥(解密密钥 SK)
.......+++
....................+++
writing new private key to 'newkey.pem'             #将产生的私钥写入 newkey.pem 文件中
Enter PEM pass phrase:                                    #要求输入密码来加密私钥

Verifying - Enter PEM pass phrase:                   #再输入一次密码进行确认
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----        #以下填写网站信息,这些信息最后会存放在申请下来的证书中
Country Name (2 letter code) [XX]:CN               

State or Province Name (full name) []:Hainan
Locality Name (eg, city) [Default City]:Wenchang
Organization Name (eg, company) [Default Company Ltd]:Groad
Organizational Unit Name (eg, section) []:EDU
Common Name (eg, your name or your server's hostname) []:edu.groad.net
Email Address []:groad_net@163.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:             #可以直接回车
An optional company name []:     #可以直接回车
Request is in newreq.pem, private key is in newkey.pem    #申请单为 newreq.pem 文件,保存私钥的文件为 newkey.pem

打开 newreq.pem 文件,可以看到:
-----BEGIN CERTIFICATE REQUEST-----
MIICzzCCAbcCAQAwgYkxCzAJBgNVBAYTAkNOMQ8wDQYDVQQIDAZIYWluYW4xETAP
BgNVBAcMCFdlbmNoYW5nMQ4wDAYDVQQKDAVHcm9hZDEMMAoGA1UECwwDRURVMRYw
FAYDVQQDDA1lZHUuZ3JvYWQubmV0MSAwHgYJKoZIhvcNAQkBFhFncm9hZF9uZXRA
MTYzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMNm43Hkoc7l
WWLFFXh5ZATZmxKHQ4Sh9Fke/0FaFzow8+wlMndczEsTJdJ+DLRKiLeCb931nPhx
fKzlE6LQlnptLI3b1tk8yw4ETkNkHrarA1x2xW63IY56l1WV0GaRHY3gNn9nkjuv
r2B+SyBWqmvG92Vgq+aehRyTSD/M6Q9gV1Xs8cxSMwBR03syDZG2Xq3SuJDWIpA6
HYOk9RZ1ttjp2P+doBbTmaxFO17TjH8Y6wm46iBlY7qGynyU1gdGDQU9Qg/t6rop
oRIPQh1bcQsOu/AXv4Ez2p4BjVe8gqOzc1AqGXdj8xVh3elieWhE/npztd/XbDcJ
jrAKScC7nDUCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQCUdEdJPKRNmdTJ/wlP
TSTzGPclis2MgXEqZnxlFcKWGSewC6qH/EQxNx9pHyEsD7xMdONjB2kRCBDNLNFJ
X8Z382KX+jquzAZCRqmCr7uM0ercw2bEYoFSN8m3trm0iI8+Ve9J2QKLYCJBMKoj
3wbZ6RHL0F6UtlfC4sgsMqLgGUVkZNbc39b/8A7k1TjV39v2Xy1hE2upYnTdngaP
LTm5Ez8mN6DEAaWg9HtxVyWXE9MY7LOaAR1mot6aofvInhtLiO1Yi5o/tdnKbJ3H
OHEbYbYnkQs1l2kXihZrP8sWl+nYbSivs+JZmCksy2YkgX2bDhLPu5XCutLjOAHh
nrO3
-----END CERTIFICATE REQUEST-----

上面的内容包含了两项信息:网站信息网站的公钥

打开 newkey.pem 文件可以看到:
$ cat newkey.pem
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIUp+y/oMu6xACAggA
MBQGCCqGSIb3DQMHBAhYHboQKhn5jwSCBMicNtKM/G+DmtDScQ2vxr+KPP0EHSTj
Ctn+yvFvFIccZQ+AbWUXdACtKTjToq1NhHGRd03fxqloK0d9hvILjfvUj/JQemsb
TQ9kH2ruEyLe95NqCmYmXC/S6uKUHqo2a89CGPB/9Z99CxmKjdGv9ahqOO516dPm
q0YQ2/bWxrOqNmp5/2SC9+UmqKCIIWCTRSLZlOKo6x6MqWDFC0KX+fwMnW206g/s
FYTdECkVZIj9uJ1AMaktZLUC0LsQgtDve/OZ0W522efyT04jkVIxpOGZ1Ysvxnol
/whpbDyvH3APqcM9v1+x8J+0Fn/F/lri4I8lbXz/SWTMexkESH60BDOUJykuxKtv
l2sITBHEhDX+BAO4GOBlGfFdsXwgclpFJWxIBOYoO/8sQzQbwH2Qszq1hH5fnONB
yIaAv31aMQ9Vi5rSbMTmzmYi+FXmIvPBM8EMkQkS2MEzpQN16Ir28tjj+ZMKlbH2
9DzzopO6kPfH4e9+TbGPWhxenJXggFQot2A7DiddfXeTsEPlB7/dZmqN/IVqvEST
3UlkEMEiLUNLyadq8OA8MC+YgB5ZpotD5nu3APkPD3YcwyAoGmxuoOqOCDOqRBIZ
tqczHUiw4/O/WbNY4bollYAkX5FKlBVeyov1WRioVJ0CMv5pNG1oKjo5PztdxkU3
0ItUDBd3nHstmbSSqmXc47dHAvonwtOnN5JNrfEGZHzR8P/xNoVUY3p5OKi1zkvF
B+HCtcqZx3I4DNwUecja7pZA1NoLdFtTzUE/yWJOr3kkHnXR0kCXdZf0JtDXlv6X
Jwcf4t8VXDVYvbadgMHrEZBiZgHi0LyOalTl5bRW+QzDOZT9LiriA6M83NMr6QX1
6P7dyQ6s3vz8IEt9XDusrqYwvssHeawqBfKhM6pN5ZdnkHUC77KsIX1NTIZAivVK
p7QPh/x8jZbl0/q9dL51ZJICWz/VZjrv23mvfEJ2/3SJtgG9uffA0sX/Ad9jJhbn
8TFOh5PF5lRpCZSxYqQr1us1LNW0SCFn/JB8XEBC1aAlA/4ReOhp0pcd/CnHyuA/
7eOH9+4d6yXc5dVJoN5KNrJa/lrD8r2VnGdV6U8JeMe9c/axx+APAbbNxwf4We9Q
/qIv0I7jrERyUwz6/dcZlBoQ2Xyzn2/GWq3BQvsXwQjoG+PAknrUIDn++wKNfqDG
2UkVF1KLwo0P/DYmJ2y5MfxX6NADJDHg4MmK9LLl3uEwPR3rLYQL+yzOSGONisXg
PFV5ewlD27Lfnj2noc0uKQK6wC1WXYoX+8iP1KlqoZuijpqj6dkB66pis5/4013I
cL7BEcum2ssHTPhTboHQ1i7nlpBewD1xWBIo5mrp1iWV6fM1RrzAcd5IgB/+Zutx
tHA+kSjGR46JHMZ3n26kTEA2p8DOINYFw3EiWq8WPhtXtz/oqtvt2yejgzfhrqqX
1vselNljrcva0T7LOA5xNP5iI6OAWNnXr615zxyvSSu+9zdrw9DnhjdLjcygVG40
PeqJKJquV0P104++gY3fXX5tDI/XyNrTC4aGYWhfo0h4C6Kyp9qaBah3NJEFpAOG
drHwOW6XsNel6FWKWKUxiltPXcLUH5mtPvwi5Ib89GR0jR5f/Whp06VLUifezlrt
vc4=
-----END ENCRYPTED PRIVATE KEY-----
上面的私钥文件没有经过加密,但从一般安全的角度考虑会设置密码进行加密保护。我们可以利用 openssl 命令对私钥进行加密和解密(openssl 相当于一个加密类命令的管理器)。

为私钥设置密码保护:
[root@beyes   misc]# openssl rsa -des3 -in newkey.pem -out newkey.des3
Enter pass phrase for newkey.pem:             # 加密 newkey.pem 这个文件需要的密码,如果取消该文件的加密行为,也需要用到它
writing RSA key
Enter PEM pass phrase:                             # 加密私钥的口令
Verifying - Enter PEM pass phrase:            # 再输入一次确认

为私钥取消密码保护:
[root@beyes   misc]# openssl rsa -in newkey.pem -out newkey.txt
Enter pass phrase for newkey.pem:     #输入先前加密时输入的口令

实际上,是 openssl 这个工具调用了 rsa 这个命令来完成加密和解密两个功能。其中 -des3 选项表示采用 DES3 加密算法;-in 选项后接输入的密钥文件;-out 选项后接处理后的输出的文件。在使用 rsa 命令时,如果其后不指定任何加密算法选项,那么就表示要去掉加密。

此外,第一次输入的口令 (Enter pass phrase for newkey.pem) 是我们打算对 newkey.pem 这个文件中的私钥进行加密,它相当于采取一种“行为”,如果要取消这种行为,就要需要再次输入该口令。而 Enter PEM pass phrase 中输入的是用来加密私钥本身的口令,打开加密后的私钥文件可以看到:
[root@beyes   misc]# cat newkey.des3
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,4B219874C954239D

yp2oOetTpLIwXyQobSC65RIumrn+KlYxwYWAmmIaOuy8/LXL2aYkRlTEhyoD2bst
z1bywY7nPL/cA23hS+t0t69rqQH7ZP21D5Y1urm6TD1agh+LjxMxIETlhaVLd8Yi
JQ+Ue+0fuMjNp9ofpLZv722ALZtsCMxXopF8tT6NXgzeM2fQsvSPfGdbyidH87XG
xhbfkR7GUvOZPRsfDF1DgIadWwVruR4rwDEYJ/w+Ehn9VHbT32LxKhDhWTabKMqH
5/9X/YWS0D9UQSPOCLswMCmCB/VsvmO2vDZTPVEKNpoUuxNMcwxUZqAvJMifYpN+
QWD0KDEOO0enay+Odno/per9Bb8lZQYVqd418gJTbLnEedgB1BsR0J6lnQ0He7aV
+gIez96KPsr/+ONTDclMJ5+iWlJ/9a2qoGhVp+NNgt0MeOl92JrGMHpX4sPIXBuv
si82SU8bRa2Cq/VSCOEsNFRmMxKmyEv0BLHwvCv3J3lN3vPOUYmzd1u5jeme5yHV
eLsFh9c6u5pIK9GfY80uvATu34ONyF686yrOvq9vA8xbCxTIZoWU3GglmrohI8ro
j1KyIPgN7BGbtA3qRIwLvU2jPZGRuTOO8RxHWXr9igFII2+SWi8u6Doa3U1/r/lt
Qd6IORHZ390UzdsXLwYnk0Uy3V3K7f8/UCSqJKCf2RYGoedry8HZMala+fNT8TJ4
FfD1W3sJffuo3lyzubYVohrHPh47lh5Uu/gqnH9kw+MP7Rg+wDouUN1bnVADFQIR
ijTa9ABKe4YLbDifZL6SloSnbqtZX6p6Wm9Cov7CX2kpOAXjRcCdZqgAj3aqetS6
kX7TsZ0Dq3GMP/oAEC58FtKvIeVzexWeCNEIcghd2gVlC/1IVv/ONKWfS3jy3wv6
lrfGebMSOAiGDhPowbqyweSobCuOV80MQVg2nBsciSsk2vaYCEQLxTH1RxfAq1OP
M5wT8T8GTfhYdL4JEZcGeW3VA2WrQhjSinefCLcxaHfg8x58iaGQaRA7QuC0dptf
x9g/CX+21UrztdRiLN6s8IaY6nkJolh7bfHL+S7Exmcu3ZpEye/UtHKWhCLAg+RD
mvY9O8COWpByPRtXB4VJn1A3L4o8HhY4KcxGiRVAlktCwojHhcx1B9xrKQPPfY9D
pjiCqXepzK7wikxtpb+VlT0jp9mLF5ugsF2ILK3VUM0gPsWKCdjbb2Nznca04M+s
Fn7YjwWq8uTIjSlr8unY3RLdiZtVCg9mO2T7Pw4zJr5VWZk+tK5Gqu0vH+NTnJoc
lsojAqQ3eBQVfu0fQBoQjnsr0Db1JLt18K9gS50GbyVFgK9WmWDU8GsEntsLYnrI
REDp7zpEO1cRGTn0JQP5DFSjhUDE3oZxPj9knyw+Cr5iodKJkz6bv31NYOQ7Kxpm
/W7MXbpPAjj1iT+bJ1P+vhnKSSQUN787Z+jkMMX1PnbdFo1lwADv/EMiVhJmXM9N
HSOEjg6WbnlGWEvYJWvNNKPrEr27suF5HrwHb0BBfU2QHMIly9Olljd+iMLfjx07
zulPrMwoh4bxg64laID1xJl3rxWrQYoWomodyJBnELks6CwQAnNO1A==
-----END RSA PRIVATE KEY-----

在公钥体系中,一个网站的数字证书中的公钥是公开的。当使用者要向网站发送数据时,他就用该公钥进行数据加密,而网站就用对应的私钥进行解密,从而保证了数据的安全性。

关于网站中使用的公钥私钥可以参考:《https 工作流程

关于数字证书,根证书之类的概念可参考:《
数字证书,根证书等概念图文解说》
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 17:16 , Processed in 0.076829 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表