Share via


Metodo IX509AttributeArchiveKey::InitializeEncode (certenroll.h)

Il metodo InitializeEncode inizializza l'attributo da un oggetto IX509PrivateKey , il certificato di crittografia dell'autorità di certificazione e l'identificatore dell'oggetto dell'algoritmo di crittografia simmetrica (OID).

Sintassi

HRESULT InitializeEncode(
  [in]           IX509PrivateKey *pKey,
  [in]           EncodingType    Encoding,
  [in]           BSTR            strCAXCert,
  [in, optional] IObjectId       *pAlgorithm,
  [in]           LONG            EncryptionStrength
);

Parametri

[in] pKey

Puntatore a un'interfaccia IX509PrivateKey che rappresenta la chiave.

[in] Encoding

Valore di enumerazione EncodingType che specifica il tipo di codifica Unicode applicato alla stringa di input che contiene la chiave crittografata.

[in] strCAXCert

Variabile BSTR contenente il certificato di crittografia dell'autorità di certificazione contenente la chiave pubblica usata per crittografare la chiave privata.

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.
  • Vengono cercati solo gli archivi personali e delle richieste per la chiave privata.

[in, optional] pAlgorithm

Puntatore a un'interfaccia IObjectId che rappresenta l'OID dell'algoritmo di crittografia simmetrica usata per crittografare la chiave privata. Questo parametro è facoltativo e, Se non si specifica un OID, viene usato XCN_OID_RSA_DES_EDE3_CBC (Triple DES).

[in] EncryptionStrength

Variabile LONG che contiene la forza di crittografia dell'algoritmo identificato dal parametro pAlgorithm . Questo parametro non viene attualmente usato perché Certificate Enrollment SDK non supporta alcun algoritmo per il quale l'OID non implica già la forza (lunghezza chiave). Ad esempio, AES ha più punti di forza, ma la forza ogni è già indicato dall'OID.

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. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.

Commenti

L'identificatore dell'oggetto per questo attributo è XCN_OID_ARCHIVED_KEY_ATTR (1.3.6.1.4.1.311.21.13). Per altre informazioni, vedere CERTENROLL_OBJECTID.

È necessario chiamare InitializeEncode o InitializeDecode prima di poter usare un oggetto IX509AttributeArchiveKey. I due metodi si integrano tra loro. Il metodo InitializeEncode consente di costruire una struttura astratta notazione astratta (ASN.1) codificata dai dati non elaborati e il metodo InitializeDecode consente di inizializzare i dati non elaborati da una struttura ASN.1 codificata. È possibile chiamare le proprietà seguenti per recuperare i dati non elaborati:

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

IX509AttributeArchiveKey