在CENTOS6.5上建立私有CA服务器。

首先看一下openssl的配置文件

# vim /etc/pki/tls/openssl.cnf  找到[ CA_default ],这里无需改动,已经做好相关配置,若要建立服务器,必须把生成的私钥及自签证书放在对应的目录下(注意字体加粗部分)。

[ CA_default ]


dir             = /etc/pki/CA           # Where everything is kept

certs           = $dir/certs            # Where the issued certs are kept

crl_dir         = $dir/crl              # Where the issued crl are kept

database        = $dir/index.txt        # 存放客户端证书相关信息.

#unique_subject = no                    # Set to 'no' to allow creation of

                                        # several ctificates with same subject.

new_certs_dir   = $dir/newcerts         # default place for new certs.


certificate     = $dir/cacert.pem       # The CA certificate

serial          = $dir/serial           # 存放证书序列号

crlnumber       = $dir/crlnumber        # the current crl number

                                        # must be commented out to leave a V1 CRL

crl             = $dir/crl.pem          # The current CRL

private_key     = $dir/private/cakey.pem   # The private key

RANDFILE        = $dir/private/.rand    # private random number file


x509_extensions = usr_cert              # The extentions to add to the cert


以下是建立CA服务器过程

  1. 生成私钥

(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

使用rsa算法,在子shell中,生成私钥文件,保存在/etc/pki/CA/private/目录中,私钥长度为2048

2. 生成自签证书

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 100

req 申请证书的命令,后面加-new表示新申请,-x509表示生成x509规范的证书,-key指定私钥文件的存放路径 -out指定生成证书的存放路径 -days指定证书有效期限。

3.初始化工作环境

手动建立2个文件,index.txt和serial

touch index.txt

touch serial

初始化证书序列号,从01开始

echo 01 > serial

至此CA服务器已经建立好。


客户端申请证书

  1. 客户端生成自己的私钥

    [root@bogon CA]# (umask 077;openssl genrsa -out /ssl/clientkey 2048)

    Generating RSA private key, 2048 bit long modulus

    .....+++

    ....+++

    e is 65537 (0x10001)

2. 客户端生成证书请求

   openssl req -new -key /ssl/clientkey -out /ssl/clientcsr

3. 将证书发给服务器

4. 服务器签署证书

    openssl ca -in /ssl/clientcsr -out /ssl/client.crt -days 10

5. 服务器将证书发给客户端


CA服务器的建立及发放证书已经完成。


.