

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Problemi noti della libreria PKCS \$111 per AWS CloudHSM
<a name="ki-pkcs11-sdk"></a>

I seguenti problemi riguardano la libreria PKCS \$111 per. AWS CloudHSM

**Topics**
+ [Problema: il key wrap AES nella versione 3.0.0 della libreria PKCS \$111 non viene convalidato prima dell'uso IVs](#ki-pkcs11-1)
+ [Problema: PKCS \$111 SDK 2.0.4 e versioni precedenti utilizzano sempre l'IV predefinito `0xA6A6A6A6A6A6A6A6` per il wrapping e l'annullamento del wrapping delle chiavi AES](#ki-pkcs11-2)
+ [Problema: l'attributo `CKA_DERIVE` non è supportato e non è stato gestito](#ki-pkcs11-3)
+ [Problema: l'attributo `CKA_SENSITIVE` non è supportato e non è stato gestito](#ki-pkcs11-4)
+ [Problema: l'hashing e la firma in più parti non sono supportati](#ki-pkcs11-5)
+ [Problema: `C_GenerateKeyPair` non gestisce `CKA_MODULUS_BITS` o `CKA_PUBLIC_EXPONENT` nel modello privato in un modo conforme agli standard](#ki-pkcs11-6)
+ [Problema: i buffer per le operazioni API `C_Encrypt` e `C_Decrypt` non possono superare 16 KB quando si usa il meccanismo `CKM_AES_GCM`](#ki-pkcs11-8)
+ [Problema: la derivazione della chiave Diffie-Hellman a curva ellittica (ECDH) viene eseguita parzialmente all'interno dell'HSM](#ki-pkcs11-9)
+ [Problema: la verifica delle firme secp256k1 non riesce su piattaforme come Cent e RHEL 6 EL6 OS6](#ki-pkcs11-10)
+ [Problema: una sequenza errata di chiamate di funzione fornisce risultati indefiniti anziché dare errore](#ki-pkcs11-11)
+ [Problema: la sessione di sola lettura non è supportata in SDK 5](#ki-pkcs11-13)
+ [Problema: il file di intestazione `cryptoki.h` è solo per Windows](#ki-pkcs11-14)

## Problema: il key wrap AES nella versione 3.0.0 della libreria PKCS \$111 non viene convalidato prima dell'uso IVs
<a name="ki-pkcs11-1"></a>

Se specifichi un IV di lunghezza inferiore a 8 byte, viene riempito con byte imprevedibili prima dell'uso. 

**Nota**  
Questo ha impatto su `C_WrapKey` solo con il meccanismo `CKM_AES_KEY_WRAP`.
+ **Impatto:** se fornisci un IV inferiore a 8 byte nella versione 3.0.0 della libreria PKCS \$111, potrebbe non essere possibile annullare il wrapping della chiave. 
+ **Soluzioni alternative: **
  + Si consiglia vivamente di eseguire l'aggiornamento alla versione 3.0.1 o successiva della libreria PKCS \$111, che applica correttamente la lunghezza degli IV durante il wrapping delle chiavi AES. Modifica il codice di wrapping per passare un IV NULL o specifica l'IV predefinito `0xA6A6A6A6A6A6A6A6`. Per ulteriori informazioni, consulta [Personalizzato IVs con lunghezza non conforme](troubleshooting-aes-keys.md) per AES Key Wrap.
  + Se hai eseguito il wrapping delle chiavi con la versione 3.0.0 della libreria PKCS \$111 utilizzando un IV inferiore a 8 byte, contattaci per ricevere [supporto](https://aws.amazon.com/support).
+ **Stato della risoluzione:** questo problema è stato risolto nella versione 3.0.1 della libreria PKCS \$111. Per eseguire il wrapping delle chiavi utilizzando il wrapper delle chiavi AES, specificare un IV di lunghezza NULL o 8 byte.

## Problema: PKCS \$111 SDK 2.0.4 e versioni precedenti utilizzano sempre l'IV predefinito `0xA6A6A6A6A6A6A6A6` per il wrapping e l'annullamento del wrapping delle chiavi AES
<a name="ki-pkcs11-2"></a>

Le informazioni fornite dall'utente IVs sono state ignorate silenziosamente.

**Nota**  
Questo ha impatto su `C_WrapKey` solo con il meccanismo `CKM_AES_KEY_WRAP`.
+ **Impatto:** 
  + Se utilizzi PKCS \$111 SDK 2.0.4 o una versione precedente e un IV fornito dall'utente, le chiavi vengono sottoposte al wrapping con l'IV predefinito `0xA6A6A6A6A6A6A6A6`.
  + Se hai utilizzato PKCS \$111 SDK 3.0.0 o versione successiva e un IV fornito dall'utente, le chiavi vengono sottoposte al wrapping con l'IV fornito dall'utente.
+ **Soluzioni alternative:**
  + Per annullare il wrapping delle chiavi sottoposte al wrapping con PKCS \$111 SDK 2.0.4 o versioni precedenti utilizza l'IV predefinito `0xA6A6A6A6A6A6A6A6`. 
  + Per annullare il wrapping delle chiavi sottoposte al wrapping con PKCS \$111 SDK 3.0.0 o versioni successive, utilizza l'IV fornito dall'utente.
+ **Stato della risoluzione:** si consiglia vivamente di modificare il codice di wrapping e annullamento del wrapping per passare un IV NULL o specificare l'IV predefinito `0xA6A6A6A6A6A6A6A6`.

## Problema: l'attributo `CKA_DERIVE` non è supportato e non è stato gestito
<a name="ki-pkcs11-3"></a>
+ **Stato risoluzione: **abbiamo implementato le correzioni per accettare `CKA_DERIVE` se impostato su `FALSE`. `CKA_DERIVE` impostato su `TRUE` non sarà supportato fino a quando non si aggiungerà il supporto per la funzione di derivazione della chiave su AWS CloudHSM. Per trarre vantaggio dalla correzione, è necessario aggiornare il client e gli SDK alla versione 1.1.1 o successiva.

## Problema: l'attributo `CKA_SENSITIVE` non è supportato e non è stato gestito
<a name="ki-pkcs11-4"></a>
+ **Resolution status (Stato di risoluzione)**: abbiamo implementato correzioni per accettare e rispettare correttamente l'attributo `CKA_SENSITIVE`. Per trarre vantaggio dalla correzione, è necessario aggiornare il client e gli SDK alla versione 1.1.1 o successiva.

## Problema: l'hashing e la firma in più parti non sono supportati
<a name="ki-pkcs11-5"></a>
+ **Impact (Impatto): **`C_DigestUpdate` e `C_DigestFinal` non sono implementati. `C_SignFinal` anche non è implementato e avrà esito negativo con `CKR_ARGUMENTS_BAD` per un buffer non-`NULL`. 
+ **Soluzione alternativa: esegui** l'hash dei dati all'interno dell'applicazione e utilizzali AWS CloudHSM solo per firmare l'hash. 
+ **Stato della risoluzione:** stiamo correggendo il client e la necessità di SDKs implementare correttamente l'hashing multipart. Gli aggiornamenti saranno annunciati nel forum AWS CloudHSM e nella pagina della cronologia delle versioni.

## Problema: `C_GenerateKeyPair` non gestisce `CKA_MODULUS_BITS` o `CKA_PUBLIC_EXPONENT` nel modello privato in un modo conforme agli standard
<a name="ki-pkcs11-6"></a>
+ **Impact: (Impatto) **`C_GenerateKeyPair` dovrebbe restituire `CKA_TEMPLATE_INCONSISTENT` quando il modello privato contiene `CKA_MODULUS_BITS` o `CKA_PUBLIC_EXPONENT`. Genera invece una chiave privata per la quale tutti i campi di utilizzo sono impostati su `FALSE`. La chiave non può essere utilizzata. 
+ **Workaround: (Soluzione) **consigliamo che l'applicazione verifichi i valori dei campi di utilizzo oltre al codice di errore.
+ **Resolution status: (Stato di risoluzione) **stiamo implementando correzioni per restituire il corretto messaggio di errore quando viene utilizzato un modello di chiavi private non corretto. L'aggiornamento della libreria PKCS \$111 sarà annunciato nella pagina della cronologia delle versioni. 

## Problema: i buffer per le operazioni API `C_Encrypt` e `C_Decrypt` non possono superare 16 KB quando si usa il meccanismo `CKM_AES_GCM`
<a name="ki-pkcs11-8"></a>

AWS CloudHSM non supporta la crittografia AES-GCM multiparte.
+ **Impact: (Impatto) **non è possibile utilizzare il meccanismo `CKM_AES_GCM` per crittografare dati di dimensioni superiori a 16 KB.
+ **Soluzione alternativa:** puoi utilizzare un meccanismo alternativo come `CKM_AES_CBC``CKM_AES_CBC_PAD`, oppure puoi dividere i dati in parti e crittografare ogni parte singolarmente. `AES_GCM` Se lo utilizzi`AES_GCM`, devi gestire la divisione dei dati e la successiva crittografia. AWS CloudHSM non esegue la crittografia AES-GCM multiparte per te. Si noti che FIPS richiede la generazione del vettore di inizializzazione (IV) sull'HSM. `AES-GCM` Pertanto, l'IV per ogni parte di dati crittografati AES-GCM sarà diverso. 
+ **Resolution status: (Stato di risoluzione) **stiamo correggendo l'SDK in modo che restituisca esplicitamente un errore se il buffer dei dati è di dimensioni eccessive. Restituiamo `CKR_MECHANISM_INVALID` per le operazioni API `C_EncryptUpdate` e `C_DecryptUpdate`. Stiamo valutando alternative per supportare buffer più grandi senza dover ricorrere alla crittografia in più parti. Gli aggiornamenti verranno annunciati nel AWS CloudHSM forum e nella pagina della cronologia delle versioni.

## Problema: la derivazione della chiave Diffie-Hellman a curva ellittica (ECDH) viene eseguita parzialmente all'interno dell'HSM
<a name="ki-pkcs11-9"></a>

La chiave privata EC rimane sempre all'interno dell'HSM, ma il processo di derivazione della chiave viene eseguito in più fasi. Pertanto, nel client sono disponibili i risultati intermedi di ciascuna fase.
+ **Impatto:** in Client SDK 3, la chiave derivata utilizzando il `CKM_ECDH1_DERIVE` meccanismo è inizialmente disponibile sul client e quindi viene importata nell'HSM. Un handle della chiave viene quindi restituito all'applicazione.
+ **Soluzione alternativa:** se state implementando SSL/TLS Offload in AWS CloudHSM, questa limitazione potrebbe non essere un problema. Se l'applicazione richiede che la chiave rimanga sempre all'interno di un limite FIPS, prendere in considerazione l'utilizzo di un protocollo alternativo che non si basi sulla derivazione della chiave ECDH.
+ **Stato della risoluzione:** SDK 5.16 ora supporta ECDH con Key Derivation, che viene eseguita interamente all'interno dell'HSM.

## Problema: la verifica delle firme secp256k1 non riesce su piattaforme come Cent e RHEL 6 EL6 OS6
<a name="ki-pkcs11-10"></a>

 Questo si verifica perché la libreria PKCS\$111 di CloudHSM evita una chiamata di rete durante l'inizializzazione dell'operazione di verifica utilizzando OpenSSL per verificare i dati della curva CE. Poiché SecP256K1 non è supportato dal pacchetto OpenSSL predefinito sulle piattaforme, l'inizializzazione non riesce. EL6 
+ **Impatto:** la verifica della firma SecP256k1 avrà esito negativo sulle piattaforme. EL6 La chiamata di verifica non riuscirà e restituirà un errore `CKR_HOST_MEMORY`.
+ **Soluzione alternativa:** consigliamo di utilizzare Amazon Linux 1 o qualsiasi altra EL7 piattaforma se l'applicazione PKCS \$111 deve verificare le firme secp256k1. In alternativa, eseguire l'aggiornamento del pacchetto OpenSSL a una versione che supporti la curva secp256k1.
+ **Stato della risoluzione: **stiamo implementando correzioni per tornare a HSM se la convalida della curva locale non è disponibile. L'aggiornamento della libreria PKCS \$111 sarà annunciato nella pagina della [cronologia delle versioni](client-history.md).

## Problema: una sequenza errata di chiamate di funzione fornisce risultati indefiniti anziché dare errore
<a name="ki-pkcs11-11"></a>
+ **Impatto**: se si chiama una sequenza errata di funzioni, il risultato finale non è corretto anche se le singole chiamate di funzione danno esito positivo. Ad esempio, i dati decrittografati potrebbero non corrispondere al testo in chiaro originale oppure potrebbe venire meno la verifica delle firme. Questo problema riguarda sia le operazioni a parte singola che quelle in più parti.

  Esempi di sequenze di funzioni errate:
  + `C_EncryptInit`/`C_EncryptUpdate` seguito da `C_Encrypt`
  + `C_DecryptInit`/`C_DecryptUpdate` seguito da `C_Decrypt`
  + `C_SignInit`/`C_SignUpdate` seguito da `C_Sign`
  + `C_VerifyInit`/`C_VerifyUpdate` seguito da `C_Verify`
  + `C_FindObjectsInit` seguito da `C_FindObjectsInit`
+  **Soluzione alternativa**: conformemente alla specifica PKCS \$111, l'applicazione deve utilizzare la sequenza corretta di chiamate di funzione per operazioni a parte singola e in più parti. L'applicazione non deve fare affidamento sulla libreria PKCS \$111 di CloudHSM per restituire un errore in questa circostanza. 

## Problema: la sessione di sola lettura non è supportata in SDK 5
<a name="ki-pkcs11-13"></a>
+ **Problema: **SDK 5 non supporta l'apertura di sessioni di sola lettura con `C_OpenSession`.
+ **Impatto: **se tenti di chiamare `C_OpenSession` senza fornire `CKF_RW_SESSION`, la chiamata darà esito negativo con l'errore `CKR_FUNCTION_FAILED`. 
+ **Soluzione alternativa: **quando si apre una sessione, è necessario trasferire i flag `CKF_SERIAL_SESSION | CKF_RW_SESSION` alla chiamata di funzione `C_OpenSession`. 

## Problema: il file di intestazione `cryptoki.h` è solo per Windows
<a name="ki-pkcs11-14"></a>
+ **Problema:** con le versioni di AWS CloudHSM Client SDK 5 da 5.0.0 a 5.4.0 su Linux, il file di intestazione è compatibile solo con i sistemi operativi Windows. `/opt/cloudhsm/include/pkcs11/cryptoki.h`
+ **Impatto: **è possibile riscontrare dei problemi quando si tenta di includere il file di intestazione nell'applicazione su sistemi operativi basati su Linux.
+ **Stato della risoluzione:** aggiornamento a AWS CloudHSM Client SDK 5 versione 5.4.1 o successiva, che include una versione compatibile con Linux di questo file di intestazione.