1

一:创建私有CA

openssl的配置文件:/etc/pki/tls/openssl.cnf
根据此配置文件创建CA
dir:CA相关文件存放路径 /etc/pki/CA
certs:证书存放目录 /etc/pki/CA/certs
database:数据库文件 /etc/pki/CA/index.txt
new_certs_dir:新颁发证书存放路径 /etc/pki/CA/newcerts
certificate:自颁发证书 /etc/pki/CA/cacert.pem
serial:下一个证书的序列号 /etc/pki/CA/serial
private_key: 私钥 /etc/pki/CA/private/cakey.pem
crl_dir:证书吊销列表
crlnumber:下一个吊销证书的序列号
default_days 证书有效期

policy:策略
countryName = match 匹配
stateOrProvinceName =match 匹配
organizationName = match 匹配
客户端向服务端申请CA证书,此三项必须匹配
若策略由match更改为其他选项,则不用强制匹配

clipboard.png

1:创建所需要的文件夹

touch /etc/pki/CA/index.txt 生成证书索引数据库文件
echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号

clipboard.png

2:生成CA秘钥

(umask 077; openssl genrsa –out /etc/pki/CA/private/cake.pem 2048)
生成秘钥,不带密码

成功生成文件cakey.pem文件

clipboard.png

3:生成自签名证书

openssl req -new -x509 –key
/etc/pki/CA/private/cakey.pem -days 7300 -out
/etc/pki/CA/cacert.pem
-new: 生成新证书签署请求
-x509: 专用于CA生成自签证书
-key: 生成请求时用到的私钥文件
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE: 证书的保存路径
/etc/pki/CA/cacert.pem为自签名证书

clipboard.png

查看自签名证书的相关信息:
openssl x509 -in /etc/pki/CA/cacert.pem -noout -text

clipboard.png

在windows上查看自签名ca证书的相关信息
1)rz /etc/pki/CA/cacert.pem 导出文件至windows
2) 更改文件后缀为.cer

clipboard.png

二:客户端申请证书

1:创建私钥

(umask 077; openssl genrsa –out /app/service.key 4096)

clipboard.png

2:利用私钥生成ca证书请求文件

openssl rep –new –key /app/service.key -out /app/service.csr

clipboard.png

clipboard.png

三:颁发证书

openssl ca -in /etc/pki/CA/csr/service.key –out /etc/pki/CA/cert/service.crt

clipboard.png

此时数据库更新了

clipboard.png

下一个证书的编号

clipboard.png

查看已经颁发的证书:

clipboard.png

查看已颁发证书的详细信息:
cat /etc/pki/CA/certs/service.crt

clipboard.png

四:在windows中查看CA颁发的证书

1)上传文件sz /etc/pki/CA/certs/service.crt
2)查看:无上级证书路径

clipboard.png

3)安装根CA至安全信任列表
也就是安装CA生成的自签名证书

clipboard.png

clipboard.png

clipboard.png

4)再次查看service证书

clipboard.png

五:申请多个证书

1:无需重复生成秘钥,直接生成另外的申请文件即可
openssl req –new –key /app/service.key –out /app/service2.csr

![clipboard.png](/im
clipboard.png

2 :上传文件scp /app/service2.csr 192.168.80.166:/etc/pki/CA/csr
3: 颁发证书
openssl ca -in csr/service2.csr -out certs/service2.crt -days 7000
不成功,国家名不匹配

4更改ca策略,使其成功
vim /etc/pki/tls/openssl.cnf

clipboard.png

1)把国家更改为可选的,其他两项没做更改,重新申请
openssl ca -in csr/service2.csr -out certs/service2.crt -days 7000

clipboard.png

2)再去更改州及公司的匹配策略
重新创建 ok

六:/etc/pki/CA目录简要描述

其中:csr目录是自建的,方便存储CA申请文件

  index.txt:也是自建的,格式也必须固定为index.txt
  serial:文件也是自建的,文件名固定。其数值范围刚开始设
        定,固定在00-99之间

clipboard.png

index.txt.attr: 内存放的是subject的策略。
默认值为yes。subject内的内容是不可以全部都一致的,一致则不能颁发证书

cat  index.txt.attr
 unique_subject = yes

clipboard.png

打开pem格式的文件使用命令
openssl x509 –in /etc/pki/CA/caert.pem –noout –text

七:证书的吊销

1:吊销

openssl ca –revoke /etc/pki/CA/newcerts/02.pem

clipboard.png

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

手工创建吊销列表文件
echo 01 > /etc/pki/CA/crlnumber

clipboard.png

3:更新吊销证书列表

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

查看crl内的pem文件
openssl crl -in /etc/pki/CA/crl/crl.pem –noout -text


济贞
287 声望8 粉丝

不积跬步无以至千里;不积小流无以成江海。