制作和使用SSL证书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
制作和使用SSL证书
在Linux环境下,一般都安装有OPENSSL。下面的内容就是用OPENSSL快速制作root 证书以及客户端证书的步骤和方法。
1、初始准备工作
1)创建一个我们制作证书的工作目录
# mkdir CA
# cd CA
# mkdir newcerts private
2)制作一个我们创建证书时需要的配置文件,内容可以参考见
# cd CA
# vi
3)创建我们自己的证书库的索引
# echo '01' >serial
# touch
2、制作一个root证书
执行下面的命令
# openssl req -new -x509 -extensions v3_ca -keyout private/ \
-out -days 3650 -config ./
在屏幕上会出现如下的交互内容,按照提示相应的信息。注意,一定要记住PEM,这个在以后生成客户端证书时都需要。
Using configuration from ./
Generating a 1024 bit RSA private key
.......++++++
..........................++++++
writing new private key to 'private/'
Enter PEM pass phrase:demo
Verifying password - Enter PEM pass phrase:demo
-----
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.
-----
Organization Name (company) [The Sample Company]:
Email Address
Locality Name (city, district) [Metropolis]:
State or Province Name (full name) [New York]:
Country Name (2 letter code) [US]:
Common Name (hostname, IP, or your name) []:TSC Root CA
其中:
-new -x509:表示创建一个自我签名的证书
-extensions v3_ca:表示创建一个CA证书
-days 3650:表示证书的有效期为10年。在root证书过期后,需要重新创建root证书和为所有客户提供的客户端证书以及为客户重新发布证书。这些工作量会很大。
-keyout private/:指明root证书的Key文件
-out :指明root证书文件
-config ./:表明用我们的配置文件
命令执行完成后,会生成两个文件
一个存放私钥Key的文件:private/
一个root CA证书文件:
可以分别用如下的命令来看证书的内容、有效期以及用途:
# openssl x509 -in -noout -text
# openssl x509 -in -noout -dates
# openssl x509 -in -noout -purpose
3、制作一个CSR(Certificate Signing Request)
执行下面的命令:
# openssl req -new -nodes -out -config ./
在屏幕上会出现如下的交互内容,按照提示输入相应的信息。
...
Organizational Unit Name (department, division) []:Mail Server
Email Address
Common Name (hostname, IP, or your name) []:经过上面的命令,会有两个输出文件一个存放私钥Key的文件:
一个CSR证书文件:
可以用下面的命令来看文件所包含的内容
# openssl req -in -text -verify -noout
注意:有关root证书的所以信息以及req证书的所有信息很关键,不能被删掉,以免以后做客户端证书时有问题。
4、签名一个证书
执行下面的命令
openssl ca -out -config ./ -infiles
在屏幕上会出现如下的交互内容,按照提示输入相应的信息
Using configuration from ./
Enter PEM pass phrase:demo
Check that the request matches the signature
Signature ok
The Subjects Distinguished Name is as follows
organizationName :PRINTABLE:'The Sample Company' organizationalUnitName:PRINTABLE:'Mail Server'
emailAddress :IA5STRING:''
localityName :PRINTABLE:'Metropolis'
stateOrProvinceName :PRINTABLE:'New York'
countryName :PRINTABLE:'US'
commonName :PRINTABLE:''
Certificate is to be certified until Dec 8 04:37:38 2002 GMT (365 days) Sign the certificate [y/n]:y
1 out of 1 certificate requests certified, commit [y/n]y
Write out database with 1 new entries
Data Base Updated
经过上面的命令,输出两个文件:
一个客户端证书文件:
一个客户端证书的备份:newcerts/
用下面的方法可以查看证书的内容
# openssl x509 -in -noout -text -purpose | more
用下面的方法可以将证书内容改变为不可读的方式
# mv
# openssl x509 -in -out
5、证书的发布
在提供给客户端时,需要提供如下的文件,客户需要将提供给他的证书保存在指定的目录下。
root证书:
客户端证书:
制作CSR时生成的Key文件: