2013-01-10 122 views
5

爲了測試目的,我需要在IIS8上啓用SSL(在Amazon服務器上)。我使用IIS創建了一個測試密鑰,並以* .pfx格式導出了該密鑰。 現在在Load Balancer設置中,我需要將該密鑰轉換爲* .PEM格式。我就是這樣做的使用https://www.sslshopper.com/ssl-converter.html證書密鑰 - 轉換

當我打開新生成的* .PEM鍵我有兩個領域: ----- BEGIN PRIVATE KEY ----- 關鍵是這裏... ---- -END PRIVATE KEY -----

,也是我有

----- BEGIN CERTIFICATE ----- 證書是在這裏... ----- END CERTIFICATE- ----

現在,當我在LoadBalancer中輸入這些值時,它始終抱怨:

公鑰證書無效。

我試圖用--- BEGIN和無以相同的結果粘貼兩個值...

這是怎麼回事?

回答

4

此鏈接給我提供瞭解決方案:

https://forums.aws.amazon.com/thread.jspa?threadID=56937

來自Amazon的技術支持詳述哪些命令需要使用。基本上用第一是: - 這將讓你一鍵 OpenSSL的PKCS12 -in filename.pfx退房手續private.key.1 -nodes -nocerts

並以此作爲一個將獲得證書本身: openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem

9

對於每個人都已經有.pem格式,仍然得到「無效公鑰證書」,這裏是我的解決方案。

證書鏈包實際上是由兩個證書組成的,它們是一個接一個:顛倒兩個爲我工作的順序。

2

由於其他原因,我得到「無效公鑰證書」。結果證明我的證書機器上的時鐘快了半個小時,所以證書還沒有生效!要檢查這一點,請使用:

openssl x509 -in yourcert.pem -text -noout 

並檢查「有效期/不在之前:」之後的時間戳。

半個小時的時間不算太長。在不更改表單內容的情況下,在那段時間之後我再次提交了提交,並且通過了確認。

1

我收到以下錯誤:

routines:PEM_read_bio:bad end line node.js

不管我做什麼,我總是得到這個錯誤。其他人得到相同的錯誤,建議在請求的頁眉和頁腳上添加額外的輸入。在我的情況下,它並沒有幫助。幫助我的是Notepad ++和EoL轉換。

我想你可以用其他編輯器來做,但我用的是Notepad ++。 只需編輯 - > EoL轉換並確保選擇了Windows。

希望這會爲其他遇到同樣問題的人節省時間。