2011-08-15 119 views
4

我們從Thawte獲得了新的證書(* .cer)文件,並且通過我們的標準程序允許它用於代碼簽名。PVK2PFX錯誤0x80070490 - 無法找到與密鑰匹配的證書

如果我使用舊(工作)證書:

  1. 轉換證書(.CER)爲軟件發佈證書( .SPC)

    >Cert2Spc.exe Avatar.cer Avatar.spc 
    Succeeded 
    
  2. 結合我們的私鑰文件(* .pvk)與SPC合併爲PFX:

    >pvk2pfx.exe -pvk Avatar.pvk -spc Avatar.spc -pfx Avatar.pfx -f 
    

    提示輸入私鑰文件的密碼,輸入它,然後單擊確定

    enter image description here

而且我們好到哪裏去;準備好使用signtool


現在我們已經證書,我按照同樣的程序:

  1. 轉換證書(.CER)爲軟件發佈證書( .SPC)

    >Cert2Spc.exe Avatar.cer Avatar.spc 
    Succeeded 
    
  2. 將我們的私鑰文件(* .pvk)與SPC合併爲一個PFX:

    >pvk2pfx.exe -pvk Avatar.pvk -spc Avatar.spc -pfx Avatar.pfx -f 
    

    提示輸入私鑰文件的密碼,輸入它,然後單擊確定

    enter image description here

    ERROR: Cannot find certificates that match the key. 
    (Error Code = 0x80070490). 
    

什麼錯?


注:

  • 我們使用相同的私鑰文件(* .pvk)了十年,今年Thawte的給了我們一個2年證書
  • ;而不是通常的1年期今年
  • Thawte的改變了他們的簽名證書從Thawte Code Signing CAThawte Code Signing CA - G2
  • 谷歌表示,沒有人曾經得到錯誤找不到證書相匹配的密鑰。
  • Windows SDK中只包含兩個引用錯誤代碼0x80070490

    • Visual FoxPro爲Windows頭文件(vfwmsgs.h):

      // 
      // MessageId: E_PROP_ID_UNSUPPORTED 
      // 
      // MessageText: 
      // 
      // The specified property ID is not supported for the specified property set.%0 
      // 
      #define E_PROP_ID_UNSUPPORTED   ((HRESULT)0x80070490L) 
      

      這幾乎肯定是一個紅色的鯡魚; Foxpro的?

    • 註釋代碼的RSS屏幕保護樣品(RssItem.cs

      // "Element not found. (Exception from HRESULT: 0x80070490)" 
      

      而且幾乎可以肯定紅鯡魚在; XML?的0x80070490

  • 小數點的版本是-2147023728

回答

4

原來,今年我們得到一個新的私鑰。

那麼,你不是給出一個私鑰,證書+密鑰通過瀏覽器提取並存儲在證書存儲區中。從那裏我們可以出口 a .PFX(A pfx包含一個證書和一個私鑰)。

通過從瀏覽器證書存儲區導出的PFX,我們可以直接使用它來使用signtool對代碼進行簽名。

注意:我們實際上是懲罰饞,並通過步驟去:

+--[.pfx]---+  +--[.cer]---+  +--[.spc]---+   +--[.pfx]---+ 
|Certificate|====>|Certificate|====>|Software |=========> |Certificate| 
| +  |  +-----------+  |Publishing |   |  +  | 
|Private Key|==+  +   |Certificate| +=====> |Private Key| 
+-----------+ |     +-----------+ |  +-----------+ 
       |         | 
       |         | 
       | +--[.pem]---+  +--[.pvk]---+ | 
       +=>|Private Key| ==> |Private Key|===+ 
        +-----------+  +-----------+ 

但所有的路線給了我們是不是有密碼保護的私有密鑰文件(*.pvk);所以signtool可以在沒有用戶交互的情況下運行。

但這個問題的答案是:私鑰與證書不匹配。

相關問題