Condividi tramite


Funzione CryptImportPKCS8 (wincrypt.h)

[La funzione CryptImportPKCS8 non è più disponibile per l'uso a partire da Windows Server 2008 e Windows Vista. Usare invece la funzione PFXImportCertStore .

Importante Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare le API cryptography next generation. Microsoft potrebbe rimuovere questa API nelle versioni future.
 
La funzione CryptImportPKCS8 importa la chiave privata in formato PKCS #8 in un provider di servizi di crittografia (CSP). CryptImportPKCS8 restituirà un handle al provider e l'importazione di KeySpec usata.

Sintassi

BOOL CryptImportPKCS8(
  [in]            CRYPT_PKCS8_IMPORT_PARAMS sPrivateKeyAndParams,
  [in]            DWORD                     dwFlags,
  [out, optional] HCRYPTPROV                *phCryptProv,
  [in, optional]  void                      *pvAuxInfo
);

Parametri

[in] sPrivateKeyAndParams

Struttura CRYPT_PKCS8_IMPORT_PARAMS che contiene il BLOB della chiave privata e i parametri corrispondenti.

[in] dwFlags

Valore DWORD . Questo parametro può essere uno dei valori seguenti, una combinazione di essi o un valore Null.

Valore Significato
CRYPT_EXPORTABLE
La chiave importata viene infine riesesportata. Se questo flag non viene usato, le chiamate a CryptExportKey con l'handle di chiave hanno esito negativo.
CRYPT_USER_PROTECTED
Se questo flag è impostato, il provider di servizi di configurazione invia una notifica all'utente tramite una finestra di dialogo o un altro metodo quando si tenta di usare questa chiave. Il comportamento preciso viene specificato dal CSP o dal tipo CSP usato. Se il contesto del provider è stato acquisito con CRYPT_SILENT impostato, l'uso di questo flag causa un errore e l'ultimo errore viene impostato su NTE_SILENT_CONTEXT.

[out, optional] phCryptProv

Puntatore a HCRYPTPROV per ricevere l'handle del provider in cui viene importata la chiave chiamando la funzione CryptImportPKCS8 .

Al termine dell'uso dell'handle, liberare l'handle chiamando CryptReleaseContext.

Questo parametro può essere NULL, nel qual caso l'handle del provider non viene restituito.

[in, optional] pvAuxInfo

Questo parametro deve essere 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.

Il codice di errore seguente è specifico di questa funzione.

Codice restituito Descrizione
ERROR_UNSUPPORTED_TYPE
L'identificatore dell'oggetto algoritmo (OID) della chiave privata non è supportato.
 

Se la funzione ha esito negativo, GetLastError può restituire un errore di codifica/decodifica ASN.1 ( Abstract Syntax Notation One ). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.

Commenti

CryptImportPKCS8 chiama la funzione PCRYPT_RESOLVE_HCRYPTPROV_FUNC usando la struttura CRYPT_PKCS8_IMPORT_PARAMS contenuta nel parametro sPrivateKeyAndParams per recuperare un handle del provider in cui importare la chiave. Se PCRYPT_RESOLVE_HCRYPTPROV_FUNC è NULL, viene usato il provider predefinito.

Questa funzione è supportata solo per le chiavi asimmetriche.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll

Vedi anche

CRYPT_PKCS8_IMPORT_PARAMS

CryptExportPKCS8Ex

CryptReleaseContext

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC

PCRYPT_RESOLVE_HCRYPTPROV_FUNC