如何在windows系统中创建本地SSL证书
1.环境准备
Windows 安装 OpenSSL
https://slproweb.com/products/Win32OpenSSL.html
Win64 OpenSSL v3.0.5 Light
EXE | MSI
安装完毕,添加到系统变量 Path
C:\Program Files\OpenSSL-Win64\bin
win 键 + R,cmd,打开命令行界面
查看 openssl 版本
C:\Users\ran>openssl version
OpenSSL 3.0.5 5 Jul 2022 (Library: OpenSSL 3.0.5 5 Jul 2022)
比如想要生成的证书,放在 D 盘 cert 文件夹下,先 CD 到目录
C:\Users\ran>D:
D:\>cd D:\cert
D:\cert>
2 证书创建的具体过程
解压openssl-WIN32.zip,进⼊解压⽬录的bin⽬录中,打开openssl.exe,以下的命令均在openssl.exe中执⾏。
⽣成私钥
使⽤openssl⼯具⽣成⼀个RSA私钥
genrsa -des3 -out server.key 2048
说明:⽣成rsa私钥,des3算法,2048位强度,server.key是秘钥⽂件名。
注意:⽣成私钥,需要提供⼀个⾄少4位的密码。
⽣成CSR(证书签名请求)
⽣成私钥之后,便可以创建csr⽂件了。
此时可以有两种选择。理想情况下,可以将证书发送给证书颁发机构(CA),CA验证过请求者的⾝份之后,会出具签名证书(很贵)。另
外,如果只是内部或者测试需求,也可以使⽤OpenSSL实现⾃签名,具体操作如下:
req -new -key server.key -out server.csr
说明:需要依次输⼊国家,地区,城市,组织,组织单位,Common Name和Email。其中Common Name,可以写⾃⼰的名字或者域
名,如果要⽀持https,Common Name应该与域名保持⼀致,否则会引起浏览器警告。
以下为样例:
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:joyios
Organizational Unit Name (eg, section) []:info technology
Common Name (e.g. server FQDN or YOUR name) []:demo.joyios.com
Email Address []:test@joyios.com
删除私钥中的密码
在第1步创建私钥的过程中,由于必须要指定⼀个密码。⽽这个密码会带来⼀个副作⽤,那就是在每次Apache启动Web服务器时,都会要
求输⼊密码,这显然⾮常不⽅便。要删除私钥中的密码,操作如下:
rsa -in server.key -out server_no_passwd.key
此时需要输⼊创建私钥时输⼊的密码
这时候的bin⽬录下的⽂件应该是这样的
⽣成⾃签名证书
如果你不想花钱让CA签名,或者只是测试SSL的具体实现。那么,现在便可以着⼿⽣成⼀个⾃签名的证书了。
需要注意的是,在使⽤⾃签名的临时证书时,浏览器会提⽰证书的颁发机构是未知的。
命令⾏输⼊:
x509 -req -days 365 -in server.csr -signkey server_no_passwd.key -out server.crt
得到的server.crt就是我们需要的SSL证书了。文章来源:https://www.toymoban.com/news/detail-417019.html
说明:crt上有证书持有⼈的信息,持有⼈的公钥,以及签署者的签名等信息。当⽤户安装了证书之后,便意味着信任了这份证书,同时拥有了其中的公钥。证书上会说明⽤途,例如服务器认证,客户端认证,或者签署其他证书。当系统收到⼀份新的证书的时候,证书会说明,是由谁签署的。如果这个签署者确实可以签署其他证书,并且收到证书上的签名和签署者的公钥可以对上的时候,系统就⾃动信任新的证书。文章来源地址https://www.toymoban.com/news/detail-417019.html
到了这里,关于如何在windows系统中创建本地SSL证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!