解決使用Certreq.exe取得SSL憑證發生0x80092004錯誤

解決使用Certreq.exe取得SSL憑證發生0x80092004錯誤

自從G大(谷歌)說,我要提升使用HTTPS網站排名之後,慢慢網站的世界有了改變。啟用HTTPS的網站比例不斷升高。例如,kkbruce.tw就啟用了HTTPS。這裡感謝DigiCert提供免費的SSL憑證。

更新SSL憑證

kkbruce.tw是建置在Microsoft Azure之上,而且現在Microsoft Azure上的文件寫的還不錯,新的一年到來,也到了要更新kkbruce.tw的SSL憑證時間,要更新SSL憑證可以參考針對 Azure App Service 中的 App 啟用 HTTPS的內容。在取得SSL憑證,我採用的是使用 Certreq.exe 取得憑證

  1. 參考產生 kkbruce.csr
  2. 將 kkbruce.csr 上傳(或copy內容) 至 CA 單位。(選擇所使用者網頁伺服器,這裡我選IIS 8)
  3. 下載 *.cer 檔進行匯入作業。
  4. certreq -accept -user www_kkbruce_tw.cer
certreq-0x80092004-error

如圖,我在第四步碰到些問題:

如果執行時發生:憑證要求處理器: 找不到物件或內容。 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)

請G大幫了一會兒,沒找到好方法,無聊查聊certreq -q的內容:

CertReq -Accept [Options] [CertChainFileIn | FullResponseFileIn | CertFileIn]

接受並安裝上個新要求的回應。

選項:

-user

-machine

-pin Pin

好像還有其他路可以走。死馬當活馬醫。

指令:certreq -accept -machine www_kkbruce_tw.cer

居然成功了。

匯出憑證

接下來,如果照文件做的話,各位會發現找不到匯入的憑證。原因很簡單嘛,我們把-user改到了-machine去了。

certmgr certlm

憑證儲存區有二種,certmgr是使用者儲存區,certlm是本機儲存區。

certlm

在本機電腦中就能找到匯入的憑證。其他匯出與上傳至Azure步驟前面說的文件已經寫的很清楚了,請自行參考。

DigiCert提供是含www.kkbruce.tw與kkbruce.tw比較高級的SSL憑證。如果是個人或僅需要www.yourdomain.com這類憑證,那麼可以考慮startssl的StartSSL Free的免費方案,並且提供一年有效的SSL憑證,也是超佛心的。

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。