2010-03-01 141 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;)