2016-02-28 114 views
1

用於代碼簽名本MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG標誌支持Windows XP中的Windows VistaWindows 7的代碼簽名證書標誌

當我在上述操作系統CertVerifyCertificateChainPolicy功能使用此標誌,我得到

CERT_E_UNTRUSTEDROOT 錯誤。

儘管如此,它對我來說工作正常Windows 8及以上。

回答

0

根據Microsoft

CERT_CHAIN_POLICY_PARA結構的dwFlags成員指出由pPolicyStatus參數可以包含MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG flag這將導致此功能還需要檢查的微軟應用程序根目錄「Microsoft根證書頒發機構2011「。

因此,請確保那些較舊的系統安裝了「Microsoft Root Certificate Authority 2011」軟件包。欲瞭解更多信息,請參閱http://support.microsoft.com/kb/931125


手動安裝證書

  1. 下載http://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe

  2. 使用命令rootsupd.exe/C/T提取文件:C:\ TEMP \ extroot

  3. from c:\ temp \ extroot運行以下4條命令(從提升的提示符)

    updroots.exe authroots.sst
    updroots.exe updroots.sst
    updroots.exe -l roots.sst
    updroots.exe -d delroots.sst

+0

感謝蒂姆。但我正在使用桌面應用程序,供全球用戶使用。因此,我們如何讓用戶在其系統上安裝「Microsoft Root Certificate Authority 2011」軟件包。這個解決方案很難使用。有什麼方法可以使代碼在較低的操作系統上工作。 – rguabhi

+0

首先我會驗證這個在你的測試Win7機器上;那麼如果這是真的,你需要問問自己,如果你真的想使用這個標誌,或者不知道微軟說了什麼。 –

+0

我已經在Windows Vista和Windows 7上測試過了,它是失敗的。我需要這個標誌,因爲微軟已經改變了代碼簽名證書。要驗證新證書我想要這個標誌。 – rguabhi