一:创建私有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更改为其他选项,则不用强制匹配
1:创建所需要的文件夹
touch /etc/pki/CA/index.txt 生成证书索引数据库文件
echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号
2:生成CA秘钥
(umask 077; openssl genrsa –out /etc/pki/CA/private/cake.pem 2048)
生成秘钥,不带密码
成功生成文件cakey.pem文件
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为自签名证书
查看自签名证书的相关信息:
openssl x509 -in /etc/pki/CA/cacert.pem -noout -text
在windows上查看自签名ca证书的相关信息
1)rz /etc/pki/CA/cacert.pem 导出文件至windows
2) 更改文件后缀为.cer
二:客户端申请证书
1:创建私钥
(umask 077; openssl genrsa –out /app/service.key 4096)
2:利用私钥生成ca证书请求文件
openssl rep –new –key /app/service.key -out /app/service.csr
三:颁发证书
openssl ca -in /etc/pki/CA/csr/service.key –out /etc/pki/CA/cert/service.crt
此时数据库更新了
下一个证书的编号
查看已经颁发的证书:
查看已颁发证书的详细信息:
cat /etc/pki/CA/certs/service.crt
四:在windows中查看CA颁发的证书
1)上传文件sz /etc/pki/CA/certs/service.crt
2)查看:无上级证书路径
3)安装根CA至安全信任列表
也就是安装CA生成的自签名证书
4)再次查看service证书
五:申请多个证书
1:无需重复生成秘钥,直接生成另外的申请文件即可
openssl req –new –key /app/service.key –out /app/service2.csr
![clipboard.png](/im
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
1)把国家更改为可选的,其他两项没做更改,重新申请
openssl ca -in csr/service2.csr -out certs/service2.crt -days 7000
2)再去更改州及公司的匹配策略
重新创建 ok
六:/etc/pki/CA目录简要描述
其中:csr目录是自建的,方便存储CA申请文件
index.txt:也是自建的,格式也必须固定为index.txt
serial:文件也是自建的,文件名固定。其数值范围刚开始设
定,固定在00-99之间
index.txt.attr: 内存放的是subject的策略。
默认值为yes。subject内的内容是不可以全部都一致的,一致则不能颁发证书
cat index.txt.attr
unique_subject = yes
打开pem格式的文件使用命令
openssl x509 –in /etc/pki/CA/caert.pem –noout –text
七:证书的吊销
1:吊销
openssl ca –revoke /etc/pki/CA/newcerts/02.pem
2:指定第一个吊销证书的编号
手工创建吊销列表文件
echo 01 > /etc/pki/CA/crlnumber
3:更新吊销证书列表
更新:
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
查看crl内的pem文件
openssl crl -in /etc/pki/CA/crl/crl.pem –noout -text