如何搭建CA(向CA申请证书)

系统中搭建CA

CA的配置文件

vim /etc/pki/tls/openssl.cnf

默认 CA_default  (可建多个)

[ CA_default ]

dir             = /etc/pki/CA      # Where everything is kept  CA的工作目录

certs           = $dir/certs        # Where the issued certs are kept 存放证书的地方

crl_dir          = $dir/crl          # Where the issued crl are kept   证书吊销列表

database        = $dir/index.txt    # database index file.  存放证书信息的数据库,需要手工创建

new_certs_dir   = $dir/newcerts     # default place for new certs. 新证书默认放此文件夹

certificate     = $dir/cacert.pem     # The CA certificate   CA的证书文件

serial          = $dir/serial      # The current serial number 下一个要颁发的证书序列号(16进制数)

crlnumber       = $dir/crlnumber   # the current crl number下一个要吊销证书的序列号

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  不关键

 

policy          = policy_match   策略匹配

[ policy_match ]

countryName             = match   国家必须匹配

stateOrProvinceName      = match    省

organizationName         = match    公司名

organizationalUnitName    = optional  (可选的)

commonName            = supplied   必须提供不能空 一般为网站名域名

emailAddress             = optional    邮箱可写可不写

 

实验:向CA申请证书

进入到CA文件夹

1.建立RootCA

  • 生成私钥匙

(umask 077; openssl genrsa –out private/cakey.pem 4096)

      2)自签名证书

       openssl req -new -x509 -key private/cakey.pem -out cacert.pem -deys 3650

-new   建一个新申请

-x509  表示自签名 不加表示是普通证书

-key: 生成请求时用到的私钥文件

-days n:证书的有效期限

-out / PATH/TO/SOMECERTFILE : 证书的保存路径

CN 表示中国

beijing 省,市

查看证书里的内容 openssl x509 -in cacert.pem -noout -text

也可以传到windows里看,改成cer或crt后缀

2.用户或服务器

      1)生成私钥

(umask 077; openssl genrsa –out test.key –des 2048)

      2)生成证书申请文件

         openssl req -new -key text.pem -out text.csr

.csr 申请证书文件后缀

部门可不一致前面要一致

      3)将申请文件发给CA

         scp app.csr 192.168.30.111:/etc/pki/CA

注意:默认国家,省,公司名称三项必须和CA一致

3 .CA颁发证书

      touch  /index.txt  (不创建会提示错误)

echo 0F(可自己指定) >serial

openssl ca -in app.csr -out certs/app.crt -days 100

4.证书发送客户端

         scp certs/app.crt 192.168.30.6:/date (传回给申请者)

5.应用软件使证书

 

一个证书申请,可以申请几个证书

默认不允许

需要改这个文件 vim index.txt.attr

证书管理

查看证书中的信息

openssl x509 -in  /PATH/FROM/CERT_FILE  -noout -text|issuer|subject|serial|dates

openssl ca -status 证书编号  查看指定编号的证书状态

吊销证书

在客户端获取要吊销的证书的serial

openssl x509 -in / PATH/FROM/CERT_FILE -noout -serial -subject

在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致,

吊销证书:openssl ca -revoke /etc/pki/CA/newcerts/编号 .pem、

R表示已吊销

V 表示在使用

指定第一个吊销证书的编号 ,

注意:第一次更新证书吊销列表前,才需要执行

echo 01 > /etc/pki/CA/crlnumber

更新证书吊销列表

openssl ca -gencrl -out /etc/pki/CA/crl.pem

查看crl文件:

openssl crl -in /etc/pki/CA/crl.pem -noout -text

其实有脚本可以做这个事

rpm -qp –s cripts /misc/cd/Packages/mod_ssl-2.4.6-67.el7.centos.x86_64.rpm

你可能感兴趣的:(如何搭建CA(向CA申请证书))