制作和使用SSL证书

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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]: Organizational Unit Name (department, division) []:CA Division

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/.pem

用下面的方法可以查看证书的内容

# openssl x509 -in -noout -text -purpose | more

用下面的方法可以将证书内容改变为不可读的方式

# mv

# openssl x509 -in -out

5、证书的发布

在提供给客户端时,需要提供如下的文件,客户需要将提供给他的证书保存在指定的目录下。

root证书:

客户端证书:

制作CSR时生成的Key文件:

相关文档
最新文档