2024年3月29日发(作者:)

制作和使用SSL证书

在Linux环境下,一般都安装有 OPENSS。下面的内容就是用 OPENSS快速制作root 证书以

及客户端证书的步骤和方法。

1、初始准备工作

1)创建一个我们制作证书的工作目录

# mkdir CA

# cd CA

# mkdir newcerts private

opmssL cnf. csam?

h 2)制作一个我们创建证书时需要的配置文件,内容可以参考见

# cd CA

# vi

3)创建我们自己的证书库的索引

# echo '01' >serial

# touch

2、制作一个root证书

执行下面的命令

#

-out -days 3650 -config ./

在屏幕上会出现如下的交互内容,按照提示相应的信息。注意,一定要记住

在以后生成客户端证书时都需要。

PEM这个

Using con figuratio n from ./

Gen erat ing a 1024 bit RSA private key

...... ++++++

........................ ++++++

writi ng new private key to 'private/' En ter PEM pass phrase: demo Verify ing

password - En ter 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 en ter is what is called a Dist in guished 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 en ter '.', the field will be left bla nk.

Orga ni zati on Name (compa ny) [The Sample Compa ny]:

Orga ni zati onal Unit Name (departme nt, divisi on) []: CA Divisi on

Email Address

Locality Name (city, district) [Metropolis]:

State or Province Name (full n ame) [New York]:

Cou ntry Name (2 letter code) [US]:

Com mon Name (host name, IP, or your n ame) []: TSC Root CA

其中:

-new -x509 :表示创建一个自我签名的证书

-exte nsio ns v3_ca :表示创建一个 CA证书

-days 3650 :表示证书的有效期为 10年。在root证书过期后,需要重新创建 root证 书和为所

有客户提供的客户端证书以及为客户重新发布证书。这些工作量会很大。

-keyout private/ :指明 root 证书的 Key 文件

-out :指明root证书文件

-co nfig ./ :表明用我们的配置文件

命令执行完成后,会生成两个文件

一个存放私钥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 ./

在屏幕上会出现如下的交互内容,按照提示输入相应的信息。

Orga ni zatio nal Unit Name (departme nt, divisi on) []:

Email Address

Com mon Name (hos tn ame, IP, or your name)[]:

一个存放私钥Key的文件:

一个CSR

ffi

书文件:

可以用下面的命令来看文件所包含的内容

Mail Server

经过上面的命令,会有两个输出文件

# openssl req -in -text -verify -noout

注意:有关root证书的所以信息以及

以后做客户端证书时有问题。

4、 签名一个证书

req证书的所有信息很关键,不能被删掉,以免

执行下面的命令

openssl ca -out -config ./ -infiles

在屏幕上会出现如下的交互内容,按照提示输入相应的信息

Using con figuratio n from ./

En ter PEM pass phrase: demo

Check that the request matches the sig nature

Sig nature ok

The Subjects Disti nguished Name is as follows

orga ni zatio nN ame :PRINTABLE:'The Sample Compa ny'

orga nizatio nalU ni tName:PRINTABLE:'Mail Server'

emailAddress :IA5STRING:''

localityName :PRINTABLE:'Metropolis'

stateOrProvi nceName :PRINTABLE:'New York'

coun tryName :PRINTABLE:'US'

commonN ame :PRINTABLE:''

Certificate is to be certified until Dec 8 04:37:38 2002 GMT (365days)

Sig n the certificate [y/n]: y

1 out of 1 certificate requests certified, commit [y/n]

Write out database with 1 new en tries

Data Base Updated

经过上面的命令,输出两个文件:

一个客户端证书文件:

一个客户端证书的备份: n ewcerts/.pem

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

y

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

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

# mv

# openssl x509 -in -out

5、证书的发布

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

root证书:

客户端证书:

制作CSR时生成的Key文件: