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

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

我来自荷兰,在线支付的常用方式是实施 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,不管是什么......)但是我如何使用该密钥创建一个证书?

【问题讨论】:

标签: windows ssl certificate ssl-certificate


【解决方案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 上创建自签名证书...

  1. 打开 IIS

  2. 选择您的服务器(顶级项目或您的计算机名称)

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

  4. 点击“创建自签名证书”

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

  6. 点击“确定”

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

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

  2. 点击“添加”

    • 类型:https
    • IP 地址:“全部未分配”
    • 端口:443
    • SSL 证书:“本地主机”
  3. 点击“确定”

  4. 点击“关闭”

【讨论】:

  • IIS 证书生成器不会生成有效的 SSL 证书(请参阅 stackoverflow.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 文件。
猜你喜欢
  • 1970-01-01
  • 2019-04-30
  • 1970-01-01
  • 2019-10-27
  • 1970-01-01
  • 2020-03-09
  • 2023-04-09
  • 1970-01-01
  • 2015-07-14
相关资源
最近更新 更多