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


82

由于我是SSL证书的新手,所以我想也许StackOverflow成员可以帮助我。

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

我在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
lubosdz 2013年


Answers:


29

您可以下载Windows的本机OpenSSL,也可以始终使用Cygwin


3
通过该OpenSSL链接:“ OpenSSL项目不会以二进制形式分发任何代码,并且不会正式建议任何特定的二进制分发”
Ed Norris

如果您恰好已经安装了独家新闻,则可以“独家安装openssl”。
mpr

您也可以在Windows的Bash中运行(在Windows 10中)
Altair7852,

99

如果您在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

16
感谢您提到Windows的git附带有OpenSSL。
本杰明·阿尔伯特

2
您也可以在Windows上的git bash中使用此方法:如何创建https服务器?
Eido95 '17

是SSH-2还是SSH-1?
manish kumar,2017年

我有一个错误: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文件。
tryHard19年

15

考虑使用证书库Web应用程序轻松基于它创建私钥和证书:http : //www.cert-depot.com/

它还可以为您创建PFX。

免责声明:我是证书仓库的创建者。


35
当心:私钥绝对不能在公共网络上传输;实际上,它们绝对不应在您无法完全控制的机器上生成。-因此,请使用cert-depot.com的输出进行测试和开发,但请确保您的生产证书是在受信任的环境中创建的。-Dima,我并不是说您的服务不值得信赖,但是常见的安全做法禁止在生产环境中使用这些证书。也就是说,我现在将从您的站点获得我的新开发服务器的证书;感谢您提供的便捷服务。:)
JimmyB

5
我同意每个字,饭能。此外,即使连接是安全的,也不应信任第三方为他创建私钥(它们可以在以后存储和使用)。我想尽力强调生成的证书仅适用于开发/测试目的。
Dima Stopel 2012年

4
感谢您方便的开发工具Dima,但您的陈述“我在任何可以强调的地方,生成的证书仅适用于开发/测试目的”,目前并不正确。主页将是放置此类免责声明的理想之地,而且它不存在。
杰里米·库克

4
该服务似乎不再可用,将您的私钥交到其他任何人的手中还是一个好主意。
Fabian Ritzmann '16

2
您的网站cert-depot.com不见了。
darkenergy

14

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

  1. 打开IIS

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

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

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

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

  6. 点击“确定”

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

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

  2. 点击“添加”

    • 类型:https
    • IP地址:“所有未分配”
    • 端口:443
    • SSL证书:“ localhost”
  3. 点击“确定”

  4. 点击“关闭”


IIS证书生成器不会生成有效的SSL证书(请参阅stackoverflow.com/questions/46641473/…),并且不能回答所提出的问题。
道格

在我回答之后,该问题于2014年5月进行了修改。
teewuane

9

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

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


1
puttygen.exe非常简单,我总是会忘记它!
kodybrown 2015年

17
我了解如何在Puttygen中创建公共/私有密钥对,但是如何在Puttygen中创建证书(.pem)?
Aaron_H 2016年

我创建了公钥和私钥,但是证书呢?
tryHard19年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.