Condividi tramite


Estensioni di crittografia della firma digitale XML

CryptXML consente agli sviluppatori di estendere algoritmi di crittografia supportati in modo nativo registrando una DLL di estensione di crittografia a livello di sistema. Le DLL di estensione estendono gli algoritmi supportati da SignatureMethod e elementi DigestMethod XML. Le DLL di estensione possono supportare algoritmi che codificano parametri aggiuntivi nella firma digitale XML.

Tutte le DLL delle estensioni devono supportare la funzioneCryptXmlDllGetInterface, che restituisce un puntatore a una struttura CRYPT_XML_CRYPTOGRAPHIC_INTERFACE. Questa struttura fornisce puntatori a funzioni per implementare le funzioni di estensione crittografica. Le funzioni supportate dipendono dal tipo di algoritmo di crittografia supportato e dal fatto che l'algoritmo debba codificare i parametri nella firma digitale XML.

Le funzioni di estensioni crittografiche includono i puntatori a funzione seguenti:

Funzioni obbligatorie

Funzioni del metodo digest

Funzioni del metodo signature

Per gli algoritmi con parametri codificati predefiniti

Le DLL dell'estensione di crittografia vengono registrate a livello di sistema. Per registrare una DLL dell'estensione di crittografia sono necessari privilegi di amministratore.

Tutte le estensioni di crittografia CryptXML vengono registrate dal valore URI impostato nel SignatureMethod o dal campo dell'attributo dell'algoritmo dell'elemento DigestMethod.

I percorsi del Registro di sistema per le DLL di estensione sono i seguenti:

a 32 bit

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\CryptXML\URI\{URI}

a 64 bit

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\CryptXML\URI\{URI}

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\Microsoft\Cryptography\CryptXML\URI\{uri}

Ogni chiave contiene le impostazioni seguenti.

Nome Digitare Dati
DLL
Stringa espandibile
Obbligatorio.
Percorso assoluto della DLL del provider di crittografia XML.
**Nota: **È consigliabile che le DLL dell'estensione di crittografia si trovino nelle directory in cui è possibile scrivere solo dalle applicazioni con privilegi amministrativi.
LoadLibrary viene usato per caricare la DLL dell'estensione di crittografia.
Nome
stringhe Opzionale.
Nome visualizzato associato a questo URI.
GroupId
DWORD Obbligatorio.
Identificatore del gruppo associato a questo algoritmo di crittografia. I valori possibili includono:CRYPT_XML_GROUP_ID_HASH<> sicuro = 1
CRYPT_XML_GROUP_ID_SIGN<> forte = 2
CNGAlgid
stringhe Obbligatorio.
Nome dell'algoritmo CNG da passare alle funzioni BCrypt o NCrypt.
CNGExtraAlgid
stringhe Opzionale.
Stringa di algoritmo aggiuntiva, diversa dalla stringa nel membro CNGAlgid, che può essere passata alle funzioni CNG.
Per gli algoritmi di firma (CRYPT_XML_GROUP_ID_SIGN), questo membro è la stringa dell'algoritmo a chiave pubblica da passare alle funzioni CNG.
Per gli altri valori di GroupId, impostare il membro pwszCNGExtraAlgid sulla stringa vuota L"".

 

algoritmi di crittografia della firma digitale XML