生成自签名SSL证书可以使用OpenSSL工具,这是一个广泛使用的命令行工具,用于创建和管理SSL/TLS证书。
在生成证书前,先了解常见的SSL证书安全漏洞:
1、检测到目标SSL证书已过期;
2、SSL证书使用了弱hash算法;
生成SSL自签名证书,将介绍如何解决漏洞。同时介绍证书如何绑定IP地址,及生成证书过程中免手动输入国家代码、省份、城市、组织名称等信息。
以下是生成自签名SSL证书的步骤:
1、安装 OpenSSL
从OpenSSL官网下载并安装,推荐下载OpenSSL 3.0 及以上版本。
2、打开cmd窗口
使用Windows+R快捷键打开运行窗口,在里面输入cmd,打开cmd窗口;
执行了这个命令,会在bin目录下生成server.key。注释:这是使用128位的RSA算法生成的密钥,还可以使用其他的算法生成密钥,相关的用法可以使用搜索引擎搜索。4096是密钥的长度,这个值最好使用4096以上的值,必须是2的整数次方。

6、生成一个自签名的 X.509 证书,证书文件名为 server.crt
执行命令:
openssl req -new -x509 -days 3650 -key server.key -sha256 -out server.crt -subj "/C=CN/ST=ZJ/L=HZ/O=VV/OU=IT/CN =192.17.11.20" -extensions v3_req -config .cnfopenssl.cnf

这个命令使用生成的密钥文件 server.key生成证书文件server.crt;
证书有效期 3650 天≈10 年;
-sha256
处理SSL证书使用了弱hash算法的漏洞
指令中加-subj参数;
-subj "/C=CN/ST=ZJ/L=HZ/O=VC/OU=IT/CN=192.17.11.20"
表示直接在命令行给出证书主题(Distinguished Name),避免交互式输入:
/C=CN 国家(Country)
/ST=ZJ 省份(State/Province)
/L=HZ 城市(Locality)
/O=VC 组织(Organization)
/OU=IT 部门(Organizational Unit)
/CN=192.17.11.20 通用名(Common Name),这里填的是服务器 IP,浏览器会拿它来匹配访问地址。
7、查看证书详细信息
执行命令:
openssl x509 -in server.crt -text –noout
8、证书生成在bin目录下