创建根CA证书
1 2 |
openssl req -newkey rsa:2048 -nodes -keyout ca.key -out ca.csr openssl x509 -req -days 36500 -in ca.csr -signkey ca.key -out ca.crt |
使用该命令后会生成三个文件 ca.crt ca.key ca.csr
其中crt证书文件以及key私钥请妥善保存,以后有需要使用该CA自签证书的时候会使用到
使用根证书创建客户端证书
1 2 |
openssl genrsa -out 192.168.1.1.key 2048 openssl req -new -key 192.168.1.1.key -out 192.168.1.1.csr |
1 2 3 4 5 6 7 8 9 10 11 |
字段 字段含义 示例 /C= Country 国家 CN /ST= State or Province 省 beijing /L= Location or City 城市 beijing /O= Organization 组织或企业 stars-mine /OU= Organization Unit 部门 stars-mine /CN= Common Name 是证书拥有者名称 172.xx.xx.xx #下面这两个参数,大家直接回车跳过就行 A challenge password []: An optional company name []: |
基于IP的证书需要生成扩展配置文件
1 |
echo "subjectAltName = IP:192.168.1.1" > 192.168.1.1.ext |
使用CA签发证书
1 |
openssl x509 -req -in 192.168.1.1.csr -CA ca.crt -CAkey ca.key -extfile ovpn.ext -out 192.168.1.1.crt -days 3650 |
- 您可以使用
openssl x509 -in 192.168.1.1.crt -text
命令查看证书详细信息,确保其中包含正确的IP地址。 - 您可以使用
openssl verify -CAfile ca.crt 192.168.1.1.crt
命令验证证书是否由您的CA签发。
生成pfx格式证书
1 |
openssl pkcs12 -export -out 192.168.1.1.pfx -inkey 192.168.1.1.key -in 192.168.1.1.crt |
必须是 pfx 格式,因为他同时包含公钥和私钥
双击该证书 存储位置选择 本地计算机
存储位置请选择 个人
此时可以右键大概pfx文件或者直接打开之前创建的 192.168.1.1.crt
证书,在详细信息中找到 指纹
选项复制该选项的数值(可以选择后ctrl+c
复制)
使用WIN+R快捷键 输入CMD后打开,使用如下命令(替换THUMBPRINT
为刚才记录的指纹值):
1 |
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="THUMBPRINT" |
至此 证书替换完成