XML 數位簽章密碼編譯延伸模組
CryptXML 可讓開發人員藉由註冊全系統的密碼編譯擴充 DLL 來擴充原生支援的密碼編譯演算法。 擴充 DLL 會擴充 SignatureMethod 和 DigestMethod XML 元素支援的演算法。 擴充 DLL 可支援將其他參數編碼為 XML 數位簽章的演算法。
所有延伸模組 DLL 都必須支援 CryptXmlDllGetInterface 函式,此函式會傳回 CRYPT_XML_CRYPTOGRAPHIC_INTERFACE 結構的指標。 此結構提供實作密碼編譯擴充函式的函式指標。 支援的函式取決於支援的密碼編譯演算法類型,以及演算法是否必須將參數編碼為 XML 數位簽章。
密碼編譯延伸模組函式包含下列函式指標:
-
必要函式
-
Digest 方法函式
-
Signature 方法函式
-
針對具有預設編碼參數的演算法
密碼編譯擴充 DLL 會以整個系統為基礎註冊。 需要系統管理員許可權才能註冊密碼編譯延伸模組 DLL。
所有 CryptXML 密碼編譯延伸模組都是由 SignatureMethod 中設定的 URI 值或 DigestMethod 元素的演算法屬性欄位所註冊。
延伸模組 DLL 的登錄路徑如下所示:
-
32 位
-
\ HKEY_LOCAL_MACHINE軟體\微軟\密碼\CryptXML\Uri\{uri}
-
64 位
-
\ HKEY_LOCAL_MACHINE軟體\微軟\密碼\CryptXML\Uri\{uri}
\ HKEY_LOCAL_MACHINE軟體\\ WOW6432NODE微軟\密碼\CryptXML\Uri\{uri}
每個索引鍵都包含下列設定。
名稱 | 類型 | 資料 |
---|---|---|
DLL |
可展開的字串 |
必要。 XML 密碼編譯提供者 DLL 的絕對路徑。 **注意:**我們建議密碼編譯擴充 DLL 位於只能由具有系統管理許可權的應用程式寫入的目錄中。 LoadLibrary 可用來載入密碼編譯延伸模組 DLL。 |
名稱 |
String | 選擇性。 與此 URI 相關聯的顯示名稱。 |
GroupId |
DWORD | 必要。 與此密碼編譯演算法相關聯的群組識別碼。 可能的值包括下列:CRYPT_XML_GROUP_ID_HASH< strong > = 1 < CRYPT_XML_GROUP_ID_SIGNstrong > = 2 |
CNGAlgid |
String | 必要。 要傳遞至 BCrypt 或 NCrypt 函式的 CNG 演算法名稱。 |
CNGExtraAlgid |
String | 選擇性。 CNGAlgid 成員中的字串以外的額外演算法字串,可以傳遞至 CNG 函式。 對於簽章演算法 (CRYPT_XML_GROUP_ID_SIGN) ,此成員是傳遞至 CNG 函式的公開金鑰演算法字串。 對於 GroupId 的其他值,請將 pwszCNGExtraAlgid 成員設定為空字串 L「」。 |
相關主題