PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC funzione di callback (wincrypt.h)
Se una firma contiene parametri codificati, la funzione di callback PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC viene chiamata per decodificare e restituire l'identificatore dell'algoritmo hash e facoltativamente i parametri della firma.
Sintassi
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC PfnCryptExtractEncodedSignatureParametersFunc;
BOOL PfnCryptExtractEncodedSignatureParametersFunc(
[in] DWORD dwCertEncodingType,
[in] PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
[out, optional] void **ppvDecodedSignPara,
[out] LPWSTR *ppwszCNGHashAlgid
)
{...}
Parametri
[in] dwCertEncodingType
Specifica il tipo di codifica utilizzata. È sempre accettabile specificare sia il certificato che i tipi di codifica dei messaggi combinandoli con un'operazione OR bit per bit, come illustrato nell'esempio seguente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING I tipi di codifica attualmente definiti sono:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pSignatureAlgorithm
Puntatore a una struttura CRYPT_ALGORITHM_IDENTIFIER che contiene l'identificatore dell'oggetto firma (OID) e i relativi parametri con codifica facoltativa.
[out, optional] ppvDecodedSignPara
Puntatore a un indirizzo per la struttura dei dati dei parametri di firma decodificata e allocata. La restituzione del buffer decodificato è facoltativa.
[out] ppwszCNGHashAlgid
Puntatore a un indirizzo per la stringa Unicode allocata che rappresenta l'identificatore dell'algoritmo hash CNG estratto dai parametri della firma codificata. Se questa funzione restituisce TRUE, è necessario restituire un puntatore non NULL .
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).
Se la funzione non riesce, restituisce zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.
Se questa funzione di callback non supporta l'algoritmo di firma, deve restituire FALSE e chiamare SetLastError con ERROR_NOT_SUPPORTED.
Commenti
La memoria per i parametri ppvDecodedSignPara e ppwszCNGHashAlgid deve essere allocata tramite la funzione LocalAlloc .
È possibile usare le funzioni di supporto OID per distribuire questa funzione di callback. Wincrypt.h definisce la costante seguente a questo scopo.
Costante | Definizione |
---|---|
CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC | "CryptDllExtractEncodedSignatureParameters" |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |