简介
生成签名证书的工具有很多,最为常见的就是使用 openssl
库来生成证书,但是操作起来
并不是特别友好,这里我们介绍一个叫 XCA
的软件,可以对各种证书进行图形界面操作。
证书链信息
通常情况下,证书链最上级是 Root CA
证书,下属的是各种用途的 CA
证书,再往下一层,就是
颁发给各公司进行 数字签名
的证书。如果只是自己测试使用,可以直接使用 Root CA
进行签名操作
生成CA证书
XCA软件可以在此链接下载:https://www.hohnstaedt.de/xca/index.php/download
运行该软件后,首先需要创建一个存储所有证书的数据库,选择如下所示
会提示输入存储路径和文件名,然后再输入数据库的 访问密码
,点击OK创建完毕。
我们首先创建一个私钥,在 Private Keys
选项卡页面,点击 New Key
按钮
在 Name
栏输入名称,类型 Keytype
默认选择 RSA
,长度 Keysize
默认选择2048 bit
,
点击 Create
按钮创建私钥
然后准备创建证书,在 Certificates
选项卡窗口,点击 New Certificate
按钮
在 Source
选项卡的最下边,选择新证书的模板,这里选择 CA
模板,点击 Apply all
按钮
在 Subject
选项卡窗口,输入 Distinguished name
的相关信息, 并在最下边选择私钥
缩写 | 字段 | 描述 |
---|---|---|
C | countryName | 国家名称,中国就是CN,非必填项 |
S | stateOrProvinceName | 洲或省名称,非必填项 |
L | localityName | 地区名称,非必填项 |
O | organizationName | 组织名称,非必填项 |
CN | commonName | 公用名,授权的目标,必填项 |
在 Extensions
选项卡窗口,可以查看扩展信息,在选择模板并应用后,这里会自动完成设置,
如果与下图不一致,则说明模板未操作成功,另外可以在 Time range
修改授权的有效期限
在 Key usage
选项卡窗口,可以查看该证书的授权范围,左边一栏在选择 CA
模板后默认为
Certificate Sign
CRL Sign
两项,勾选上左边的 Critical
标识,点击OK按钮完成创建
如果想使用该证书进行 数字签名
,可以在左边选上第1行的 Digital Signature
授权,同时
右边选上第3行的 Code Signing
授权,右边的 Critical
标识也要勾选上
生成SSL证书
首选需要创建一个私钥,然后创建证书时,选择 HTTPS_server
模板,使用 Root CA
进行签名
在 Subject
选项卡窗口,选择新建的私钥,并在 commonName
处填写授权的 网址域名
在 Extensions
选项卡窗口,注意在 Subject Alternative Name
处,修改为授权的域名,
多个域名使用逗号隔开,例如:DNS:*.shuiniu.com, DNS:*.shuiniu.cn
在 Key usage
选项卡窗口,按照如下所示进行选择,点击OK按钮完成创建
添加授权条目
另外还可以添加自定义的授权条目,比如 Windows应用商店(1.3.6.1.4.1.311.76.3.1)
授权条目,
在软件的安装目录下,可以找到 oids.txt
和 eku.txt
两个文件,复制到 settings
子文件夹下,
在 oids.txt
最后一行增加 1.3.6.1.4.1.311.76.3.1: windows-store: Windows Store Signer
内容,在 eku.txt
最后一行增加 windows-store
内容,重新打开软件后,就可以选择该授权条目
证书的导出
在 Certificates
选项卡界面,选择想要导出的证书,点击 Export
按钮
输入导出文件的路径,选择 .p12
格式,可以把证书和私钥一起导出,点击OK按钮后,
会提示输入该证书的访问密码,再次点击OK之后导出完成。
证书 .p12
格式与 .pfx
格式一样,通常情况下可以直接修改扩展名使用。