【服务器】window 系统使用 OpenSSL 创建HTTPS证书

本文介绍如何在Windows环境下安装OpenSSL,并详细说明通过OpenSSL生成RSA私钥及公钥的过程,包括未加密及AES256加密方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载

开始教程

1、安装软件

安装过程跳过,不是程序员也会安装,此处软件我安装到D盘中,可以找到安装的目录,然后在目录中找到bin,新建文件夹为:myssl

2、运行生成的工具

在bin目录中 openssl.exe 文件,双击运行,弹出终端窗口。也可以使用 cmd 终端的命令操作,注意:此处不能使用window10中的 windows PowerShell进行操作。

openssl终端

3、生成RSA私钥(无加密)

下面是生成 2048位 key

# 这个是使用 openssl 终端使用
genrsa -out myssl/rsa_private.key 2048

生成RSA私钥

4、生成RSA公钥

和上面的操作一样,复制下面的直接粘贴到终端,然后回车。再去到文件夹中查看。

rsa -in myssl/rsa_private.key -pubout -out myssl/rsa_public.key

此处就不上图了

5、生成RSA私钥(使用aes256加密)

下面密码为 123456 。和上面操作一样,不多说

genrsa -aes256 -passout pass:123456 -out myssl/rsa_aes_private.key 2048

此处就不上图

生成公钥,需要提供密码上面第五步的密码

rsa -in rsa_aes_private.key -passin pass:111111 -pubout -out rsa_public.key

其他功能

实在太多,看下面:

https://blog.youkuaiyun.com/gengxiaoming7/article/details/78505107

<think>好的,用户想了解在Windows 10上搭建证书服务器。首先,我需要确认Windows 10是否有内置的证书颁发机构(CA)功能。通常,企业级的证书服务是通过Windows Server的“Active Directory证书服务”角色实现的,而Windows 10作为客户端操作系统,可能不支持直接安装这样的角色。不过,用户可能想用替代方法,比如使用OpenSSL或者第三方工具来搭建CA。 接下来,我需要考虑用户的使用场景。可能用户是个人开发者,想要在本地测试HTTPS网站,或者需要为内部网络中的设备颁发证书。这时候,搭建一个本地的证书服务器可以方便生成和管理自签名证书。 然后,步骤分解。首先,如果用户使用Windows Server,安装AD CS是标准做法,但Windows 10下可能需要其他方法。比如,使用OpenSSL工具生成根证书,然后签发终端证书。或者,使用Windows内置的PowerShell命令New-SelfSignedCertificate来创建自签名证书,但这可能不够灵活。 需要详细列出每一步的具体操作,包括工具下载(如OpenSSL)、配置文件修改、生成根证书、签发服务器或客户端证书的步骤,以及如何将根证书导入到受信任的根证书颁发机构存储中。此外,可能还需要指导用户如何配置IIS或其他服务器软件使用这些证书。 同时,要注意潜在的问题,比如Windows 10家庭版可能不支持某些功能,或者权限问题导致无法安装证书。还要提醒用户自签名证书在公共互联网上不被信任,仅适用于测试或内部环境。 最后,是否需要推荐第三方工具简化流程,比如XCA(X Certificate and Key Management)这样的图形界面工具,可能更适合不熟悉命令行的用户。此外,安全注意事项,如私钥的保护,避免根证书泄露等,也需要提及。 总结下来,回答需要分步骤说明,涵盖不同方法的优缺点,具体操作命令或配置,以及常见问题解决方法,确保用户能够根据自身需求选择合适的搭建方式。</think>在Windows 10上搭建证书服务器可分为以下两种方案,具体操作步骤如下: --- ### 方案一:使用OpenSSL搭建(推荐) 适用于开发测试环境或小型内部网络,无需Windows Server角色支持。 1. **安装OpenSSL** - 下载WindowsOpenSSL安装包([官网](https://slproweb.com/products/Win32OpenSSL.html)) - 选择`Light`版本(如`Win64 OpenSSL v3.x.x Light`)安装到默认路径 2. **生成根证书** ```bash # 生成根证书私钥 openssl genrsa -out rootCA.key 4096 # 生成自签名根证书(有效期10年) openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.crt ``` - 根据提示填写证书信息(家、组织名称等) 3. **签发服务器证书** ```bash # 生成服务器私钥 openssl genrsa -out server.key 2048 # 创建证书请求文件(CSR) openssl req -new -key server.key -out server.csr # 使用证书签发服务器证书 openssl x509 -req -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -days 825 -sha256 ``` 4. **证书部署** - 双击`rootCA.crt`安装到**受信任的根证书颁发机构** - 将`server.crt`和`server.key`部署到Web服务器(如IIS/Nginx) --- ### 方案二:Windows PowerShell自签名证书 适用于快速生成测试证书(功能有限) 1. **生成自签名证书** ```powershell New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "localhost" -FriendlyName "Test Certificate" -KeyUsage DigitalSignature, KeyEncipherment ``` 2. **导出证书** - 打开`certlm.msc` → 进入`个人\证书`目录 - 右键导出证书为`.pfx`格式(包含私钥) --- ### 方案对比 | 方案 | 优点 | 缺点 | |-----------|-------------------------|-------------------------| | OpenSSL | 支持完整CA功能,可签发多级证书 | 需要手动配置,学习成本较高 | | PowerShell| 无需安装额外工具,操作简单 | 仅能生成单级证书,功能有限 | --- ### 注意事项 1. 自签名证书在浏览器会显示安全警告,需手动信任根证书 2. 生产环境建议使用商业CA(如Let's Encrypt)或部署Windows Server AD CS 3. 私钥文件(`.key`)必须严格保,建议设置文件权限为仅管理员可访问 --- ### 扩展应用 - **IIS部署示例**:在站点绑定中选择`服务器证书` → 导入`.pfx`文件 - **局域网设备信任**:将`rootCA.crt`分发到所有设备安装到信任列表 - **代码签名**:修改OpenSSL配置文件的扩展用途字段为代码签名 如需更复杂的证书策略管理,建议使用Windows Server的[Active Directory证书服务]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值