OpenSSL生成一个自签名的泛域名证书,遵循以下简明步骤:
- 生成私钥: 执行以下命令创建一个2048位的RSA私钥文件(以
yyyy.com.key
为例):
openssl genrsa -out yyyy.com.key 2048
- 生成证书签名请求 (CSR): 使用刚才创建的私钥来生成CSR,并确保在Common Name字段中指定泛域名(如
*.yyyy.com
):
openssl req -new -key yyyy.com.key -out yyyy.com.csr
当提示输入信息时,确保将Common Name (e.g., server FQDN or YOUR name)
设置为*.yyyy.com
。
- 生成自签名证书: 利用CSR和私钥创建一个有效期为365天的自签名证书:
openssl x509 -req -days 365 -in yyyy.com.csr -signkey yyyy.com.key -out yyyy.com.crt
- (可选)配置扩展以明确泛域名和其他选项: 如果需要更详细的配置,比如指定证书扩展,可以这样做:
openssl req -new -key yyyy.com.key -out yyyy.com.csr -subj "/CN=*.yyyy.com"
openssl x509 -req -days 365 -in yyyy.com.csr -signkey yyyy.com.key -out yyyy.com.crt -extensions v3_req -extfile <(echo "[v3_req] basicConstraints=CA:FALSE,pathlen:0 keyUsage=keyEncipherment,dataEncipherment extendedKeyUsage=serverAuth subjectAltName=@alt_names"; echo "[alt_names] DNS.1=*.yyyy.com")
- 验证证书: 检查生成的证书是否包含了正确的泛域名信息:
openssl x509 -in yyyy.com.crt -text -noout
注意:自签名证书在正式环境中可能不被浏览器信任,因为它们没有由权威的证书颁发机构(CA)签署。这类证书更适合于本地测试或内部网络使用。对于公开互联网上的部署,请通过受信任的CA获取证书,例如使用Let’s Encrypt服务申请免费的泛域名证书。
将自签名的泛域名证书应用到Windows系统上,以便用于HTTPS服务(如本地Web服务器),主要涉及以下几个步骤:
1. 安装证书到受信任的根证书颁发机构存储区
这一步是为了让Windows系统信任您的自签名证书。
- 导出证书: 首先,您需要将生成的
.crt
证书转换为Windows可识别的格式(通常是.pfx
或.p12
),并包括私钥。这可以通过以下命令完成:
openssl pkcs12 -export -out yyyy.com.pfx -inkey yyyy.com.key -in yyyy.com.crt -certfile ca.crt
注意:这里的ca.crt
是可选的,如果您没有单独的CA证书文件,可以忽略此参数。
- 导入证书到“受信任的根证书颁发机构”存储区:
- 打开“开始菜单” > “运行”,输入
mmc
,点击确定打开Microsoft管理控制台。 - 在MMC中,点击“文件” > “添加/删除管理单元”。
- 在弹出的窗口中选择“证书”,点击“添加” > “我的用户账户” > “完成” > “确定”。
- 展开左侧的“证书 – 当前用户”,找到并点击“受信任的根证书颁发机构”。
- 右键点击“证书”,选择“所有任务” > “导入”。
- 按照向导指示,浏览并选择之前导出的
.pfx
文件,完成证书的导入过程。
- 打开“开始菜单” > “运行”,输入
2. 配置IIS或其他Web服务器使用证书
这里以IIS(Internet Information Services)为例:
- 打开IIS管理器: 打开“开始菜单” > 搜索“IIS管理器”并启动。
- 绑定SSL证书:
- 导航到您的网站,在左侧栏中选择需要配置SSL的站点。
- 右键点击站点名称,选择“编辑绑定”。
- 在弹出的窗口中点击“添加”,选择类型为“https”,IP地址和端口根据需要设置。
- 在“SSL证书”下拉菜单中,选择您刚才导入的自签名证书(例如
yyyy.com
)。 - 确定后关闭所有窗口。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...