2010-03-01 127 views
57

由于我对SSL证书非常陌生,以及它们的创建和使用,我想可能是StackOverflow成员可以帮助我。在Windows上创建一个OpenSSL证书

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

回答

25

您可以下载原生OpenSSL for Windows,或者您始终可以使用Cygwin

+2

从该OpenSSL链接:“OpenSSL项目不会以二进制形式分发任何代码,并且不会正式推荐任何特定的二进制发行版“ – 2017-01-11 16:40:53

8

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

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

+0

'puttygen.exe'超级简单,我总是忘记它! – wasatchwizard 2015-06-06 21:05:03

+11

我了解如何在puttygen中创建公钥/私钥对,但是如何在puttygen中创建证书(.pem)? – 2016-07-14 22:13:02

11

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

它还可以为你创建一个PFX。

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

+26

注意:私钥不应该通过公共网络传输;而且它们应该永远不会在没有完全控制的机器上生成。 - 因此,请使用cert-depot.com的输出进行测试和开发,但请确保您的生产证书是在可信环境中创建的。 - Dima,我并不是暗示你的服务不值得信赖,但通常的安全措施禁止在生产环境中使用这些证书。也就是说,我现在要从您的网站获取我的新开发服务器的证书;谢谢你方便的服务。 :) – JimmyB 2012-12-11 08:49:00

+4

我同意每一个字,饭能。而且,即使连接是安全的,也不应该信任第三方为他创建私钥(他们可以被存储并在以后使用)。我尽可能地强调所生成的证书仅适用于开发/测试目的。 – 2012-12-18 19:25:06

+4

感谢您的方便的开发工具Dima,但是您的声明是“我尽可能强调所生成的证书仅适用于开发/测试目的”,目前尚不成立。主页将是放置这种免责声明的理想场所,但它不在那里。 – 2014-09-26 14:35:17

1

尝试SSLTools Manager,它是一个完整的Windows管理工具,允许您轻松创建csr。这是我使用的。祝你好运!

12

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

  1. 打开IIS

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

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

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

  5. 将其命名为”localhost“(或类似那些不是特定的C)

  6. 单击 “确定”

您可以在证书然后绑定到你的网站...

  1. 鼠标右键点击你的网站,并选择“编辑绑定... “

  2. 点击 ”添加“

    • 键入:https
    • IP地址: “所有未分配”
    • 端口:443
    • SSL证书: “本地主机”
  3. 单击 “确定”

  4. 单击 “关闭”

56

如果你在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 
+10

感谢您提到OpenSSL带有用于Windows的git。 – 2016-02-23 09:47:17

+0

你也可以在Windows上的git bash中使用这个方法:[如何创建一个https服务器?](https://docs.nodejitsu.com/articles/HTTP/servers/how-to-create-a-HTTPS-server /) – Eido95 2017-06-16 22:54:08

+0

它是SSH-2还是SSH-1? – 2017-08-08 09:34:34

0

尝试使用cmder cmder。这个控制台包括所有comend;)你不必下载适用于Windows的原生OpenSSL;)