Metodo ICertPropertyRenewal::InitializeFromCertificateHash (certenroll.h)

Il metodo InitializeFromCertificateHash inizializza l'oggetto dal nuovo certificato.

Sintassi

HRESULT InitializeFromCertificateHash(
  [in] VARIANT_BOOL MachineContext,
  [in] EncodingType Encoding,
  [in] BSTR         strCertificate
);

Parametri

[in] MachineContext

Valore VARIANT_BOOL che indica se l'archivio certificati è per il computer locale o l'utente corrente. Specificare VARIANT_TRUE per il computer e VARIANT_FALSE per l'utente.

[in] Encoding

Valore di enumerazione EncodingType che specifica il tipo di codifica Unicode applicato alla stringa di input contenente il certificato con codifica DER.

[in] strCertificate

Variabile BSTR contenente il certificato con codifica DER.

A partire da Windows 7 e Windows Server 2008 R2, è possibile specificare una stampa personale del certificato o un numero di serie anziché un certificato codificato. In questo modo, la funzione cerca gli archivi locali appropriati per il certificato corrispondente. Tenere presente quanto segue:

  • BSTR deve essere un numero pari di cifre esadecimali.
  • Lo spazio vuoto tra coppie esadecimali viene ignorato.
  • Il parametro Codifica deve essere impostato su XCN_CRYPT_STRING_HEXRAW.
  • Il parametro MachineContext determina se l'utente o gli archivi computer o entrambi vengono cercati.
  • Se è necessaria una chiave privata, vengono cercati solo gli archivi personali e delle richieste.
  • Se non è necessaria una chiave privata, vengono inoltre cercati gli archivi ca radice e intermedi.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce S_OK.

Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.

Codice/valore restituito Descrizione
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
L'oggetto è già inizializzato.

Commenti

Questo metodo crea un hash SHA-1 usando il certificato specificato. Il certificato deve essere codificato usando Distinguished Encoding Rules (DER) come definito dallo standard Astrazione Sintassi Notation One (ASN.1). È anche necessario specificare il tipo di codifica Unicode applicato alla stringa contenente il certificato con codifica DER.

In genere l'oggetto ICertPropertyRenewal viene inizializzato durante il processo di registrazione. È possibile recuperare il certificato usato durante la registrazione chiamando la proprietà Certificate nell'interfaccia IX509Enrollment .

Chiamare il metodo SetValueOnCertificate per associare la proprietà a un certificato. Chiamare la proprietà Renewal per recuperare l'hash.

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 certenroll.h
DLL CertEnroll.dll

Vedi anche

ICertPropertyRenewal