在 Windows 上创建 OpenSSL 证书 [关闭]

Posted

技术标签:

【中文标题】在 Windows 上创建 OpenSSL 证书 [关闭]【英文标题】:Create a OpenSSL certificate on Windows [closed] 【发布时间】:2011-01-22 06:30:05 【问题描述】:

由于我对 SSL 证书以及它们的创建和使用非常陌生,我想也许 *** 成员可以帮助我。

我来自荷兰,在线支付的常用方式是实施 iDEAL。主要银行支持的在线支付协议。我必须实现一个“专业”版本。这包括创建 RSA 私钥。基于该密钥,我必须创建一个证书并将其上传到网络服务器。

我在一台 Windows 机器上,完全不知道该怎么做。我查看了 OpenSSL 网站,因为手册将我转发到该网站以获取 SSL 工具包。

手册提供了两个必须执行的命令才能创建 RSA 密钥和证书。

命令是:

openssl genrsa -des3 –out priv.pem -passout pass:myPassword 1024

openssl req -x509 -new -key priv.pem -passin pass:myPassword -days 3650 -out cert.cer

有没有办法通过 Windows 机器上的实用程序来做到这一点?我已经下载了 PuTTy KeyGenerator。但我不知道该怎么做,我已经创建了一个密钥(SSH-2 RSA,不管是什么......)但是我如何使用该密钥创建一个证书?

【问题讨论】:

这里可以在线创建自签名证书:mobilefish.com/services/ssl_certificates/ssl_certificates.php 见问题Way to run Bash scripts on Windows 见PUTTYGEN - KEY GENERATOR FOR PUTTY ON WINDOWS 【参考方案1】:

你可以下载原生的OpenSSL for Windows,也可以一直使用Cygwin。

【讨论】:

来自该 OpenSSL 链接:“OpenSSL 项目不以二进制形式分发任何代码,也不正式推荐任何特定的二进制分发” 如果你碰巧已经安装了 scoop,你可以'scoop install openssl'。 您也可以在 Bash for Windows 中运行(在 Windows 10 中)【参考方案2】:

您当然可以使用 putty (puttygen.exe) 来做到这一点。

或者您可以获取Cygwin 以使用您刚刚描述的实用程序。

【讨论】:

puttygen.exe 超级简单,我总是忘记它! 我了解如何在 puttygen 中创建公钥/私钥对,但是如何在 puttygen 中创建证书(.pem)? 我创建了公钥和私钥,但是证书呢? 这个问题不是关于以 PEM 格式创建(私有)SSH 密钥。这是关于在 PEM-fromat 中创建一个自签名的 X509 SSL 证书。 PuttyGen 不会创建此类证书。【参考方案3】:

使用 IIS 6 在 Windows 7 上创建自签名证书...

    打开 IIS

    选择您的服务器(***项目或您的计算机名称)

    在 IIS 部分下,打开“服务器证书”

    点击“创建自签名证书”

    将其命名为“localhost”(或类似的名称)

    点击“确定”

然后您可以将该证书绑定到您的网站...

    右键单击您的网站并选择“编辑绑定...”

    点击“添加”

    类型:https IP 地址:“全部未分配” 端口:443 SSL 证书:“本地主机”

    点击“确定”

    点击“关闭”

【讨论】:

IIS 证书生成器不会生成有效的 SSL 证书(请参阅 ***.com/questions/46641473/…),这并不能回答所提出的问题。 这个问题在2014年5月经过我的回答修改了。【参考方案4】:

如果您在 Windows 上使用 apache,可能通过 WAMP 或 Drupal 堆栈安装程序,您还可以下载 git for windows 软件包,其中包括许多有用的 linux 命令行工具,其中之一是 openssl。

以下命令创建 apache 所需的自签名证书和密钥,并在 Windows 中正常工作:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privatekey.key -out certificate.crt

【讨论】:

感谢您提到 OpenSSL 附带 git for windows。 您也可以在 Windows 上的 git bash 中使用此方法:How to create an https server? 是 SSH-2 还是 SSH-1? 我有一个错误:unable to find 'distinguished_name' in config 18268:error:0E06D06A:configuration file routines:NCONF_get_string:no conf or environment variable:crypto\conf\conf_lib.c:270: privatekey.key 已生成,但不是crt 文件。

以上是关于在 Windows 上创建 OpenSSL 证书 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Windows安装使用Openssl创建pks p12证书

windows下用nginx配置https服务器( OpenSSL创建证书)

windows下用nginx配置https服务器( OpenSSL创建证书)

ArcGIS软件部署-OpenSSL创建ArcGIS Enterprise所需证书的批处理脚本

如何将 OpenSSL 密钥文件导入 Windows 证书存储

在 Windows 上使用开放 ssl 创建自签名证书