0x01
本文介绍了通过开源工具XCA(X Certificate and Key management)签发CA和SSL证书。本工具签发的SSL证书在安装CA后可被Chrome\Firefox等浏览器信任。
截止本文发布最新的版本为 XCA 2.4.0,本文也基于2.4.0版本演示
本文将引导您通过本工具创建自签名的CA证书,并通过CA证书签发其他的证书。并且通过信任CA证书的方式,信任本CA签发的其他证书
0x02
下载地址:
官网:https://hohnstaedt.de/xca
GitHub: https://github.com/chris2511/xca/
0x03
这里将引导您创建CA
- 创建密钥
在私钥界面点击创建密钥,创建RSA密钥。参数可自定
- 创建成功后,在证书界面创建CA证书。
配置如下
X509v3 Basic Constraints:
CA:TRUE
X509v3 Subject Key Identifier:
AA:94:25:64:3B:5D:9A:C7:71:99:6A:14:5C:84:E2:2F:74:56:DD:48
X509v3 Authority Key Identifier:
keyid:AA:94:25:64:3B:5D:9A:C7:71:99:6A:14:5C:84:E2:2F:74:56:DD:48
X509v3 Key Usage:
Digital Signature, Certificate Sign, CRL Sign
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication, Time Stamping, OCSP Signing
下面导入crt证书,并将证书安装到受信任的权威根证书中
0x04
下面将为localhost 签发ssl证书。并安装到nginx上。在私钥页创建localhost的私钥
在证书页创建新的证书,这里需要选择使用此CA进行签名
注意这里的Subject Alternative Name 填写
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
D8:E6:D0:77:ED:C0:13:0B:E4:1B:9C:9E:0B:5E:6D:17:B4:0A:40:DD
X509v3 Authority Key Identifier:
keyid:AA:94:25:64:3B:5D:9A:C7:71:99:6A:14:5C:84:E2:2F:74:56:DD:48
X509v3 Key Usage:
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Subject Alternative Name:
DNS:localhost, IP Address:127.0.0.1, DNS:*.tusdasa.net, IP Address:192.168.56.1
导出私钥和证书
导入nginx,这里可将私钥 localhost.pem 更名为localhost.key。localhost.crt更名为localhost.pem。配置nginx。chrome验证
这里没有到10年的原因是,上面设置了10年没点但是忘了点击应用,按默认的1年签发了
0x05
已上即是通过XCA签发SSL证书的方法,