Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure cloud HSM supporta l'archiviazione dei certificati tramite PKCS#11, consentendo alle applicazioni di gestire i certificati X.509 insieme alle chiavi. Questa esercitazione fornisce istruzioni dettagliate per configurare i prerequisiti di archiviazione dei certificati, tra cui Archiviazione BLOB di Azure e configurazione dell'identità gestita. Per informazioni dettagliate sull'uso delle API PKCS#11 per gestire i certificati, vedere API PKCS#11 per l'archiviazione dei certificati.
Prerequisites
I prerequisiti seguenti sono necessari per supportare l'archiviazione dei certificati con Azure modulo di protezione hardware cloud. Consultare la guida introduttiva di Azure Cloud HSM per l'installazione e la configurazione dell'SDK se la distribuzione di Azure Cloud HSM non è stata completata.
Requisiti di sistema
- La risorsa Azure Cloud HSM viene distribuita, inizializzata e configurata.
- Azure Cloud HSM Client SDK
- Copia del certificato del proprietario della partizione "PO.crt" nel server applicazioni.
- Indirizzo noto del modulo HSM
hsm1.chsm-<resource-name>-<unique-string>.privatelink.cloudhsm.azure.net. - Conoscenza delle credenziali dell'utente di crittografia
Prerequisiti per l'archiviazione dei certificati
- Account di archiviazione BLOB di Azure
- Identità gestita per accedere all'archiviazione
Importante
I clienti che usano qualsiasi versione di Windows Server devono installare la versione più recente di Visual C++ Redistributable.
Configurare un account Archiviazione BLOB di Azure
Prima di poter usare l'API PKCS#11 per l'archiviazione dei certificati, è necessario creare un account Archiviazione BLOB di Azure. Questo account di archiviazione contiene gli oggetti certificato PKCS#11, che vengono salvati e recuperati in formato JWS.
Per configurare un account di Archiviazione BLOB di Azure per l'archiviazione dei certificati PKCS#11, passare al portale di Azure e creare un nuovo account di archiviazione.
Dopo aver creato l'account di archiviazione, passarvi nel portale di Azure e selezionare Contenitori in Archiviazione dati. Creare un nuovo contenitore per archiviare i BLOB.
Dopo aver creato il contenitore, individuare l'URL dell'endpoint del contenitore passando a Proprietà contenitore. Questo URL è necessario in un secondo momento.
In Proprietà contenitore è presente l'URL del contenitore elencato. Questo URL è necessario più avanti nel file azcloudhsm_application.cfg per consentire alle applicazioni PKCS#11 di individuare il percorso di archiviazione per gli oggetti certificato.
Configurare un'identità gestita assegnata dall'utente per accedere all'archiviazione
Il prerequisito successivo per l'archiviazione dei certificati consiste nel creare un'identità gestita assegnata dall'utente. A questa identità viene concesso il ruolo necessario per accedere all'account Archiviazione BLOB di Azure e viene usato per eseguire l'autenticazione dalla macchina virtuale amministratore designata.
Annotazioni
L'esempio seguente crea e usa un'identità gestita assegnata dall'utente. È anche possibile creare e usare un'identità gestita assegnata dal sistema nella macchina virtuale.
Per creare un Identity gestita assegnata dall'utente per l'archiviazione dei certificati PKCS#11, passare al portale di Azure e creare una nuova identità.
Dopo aver creato correttamente l'identità gestita, prendere nota dell'ID client, necessario più avanti nel file azcloudhsm_application.cfg per abilitare l'autenticazione all'account di archiviazione dalla macchina virtuale.
Assegnare il ruolo di Azure appropriato per concedere all'identità gestita l'autorizzazione per leggere e scrivere nell'account gestione rete virtuale di Azure creato in precedenza. Assegnare all'identità gestita il ruolo di Collaboratore ai dati del BLOB di archiviazione, impostando l'ambito su Archiviazione e selezionando la risorsa specifica dell'account di archiviazione.
Assegnare l'identità gestita assegnata dall'utente alla macchina virtuale che esegue l'applicazione di archiviazione certificati PKCS#11. Passare alla risorsa macchina virtuale nel portale di Azure, selezionare la sezione Sicurezza, selezionare Identità e aggiungere l'identità assegnata dall'utente.
Configurare gli strumenti client Azure Cloud HSM
Creare una chiave di firma di archiviazione
Usare il comando seguente azcloudhsm_util per creare una coppia di chiavi di firma RSA per l'archiviazione certificati PKCS#11 in un unico passaggio. Per impostazione predefinita, genera una chiave RSA a 2048 bit con un esponente pubblico di 65537. È possibile modificare le dimensioni della chiave in base alle esigenze. Prima di eseguire il comando, assicurarsi che azcloudhsm_client sia in esecuzione come servizio in background.
Sostituire i segnaposto come segue:
-
PKCS11_Scon il nome utente di crittografia (ad esempio,cu1) -
PKCS11_Pcon la password utente per la crittografia (ad esempio,user1234) -
SIGNING_KEY_IDcon l'ID coppia di chiavi desiderato (questo ID viene usato anche più avanti nelazcloudhsm_application.cfgfile)
Impostare SIGNING_KEY_ID su un valore casuale per questo esempio:
SIGNING_KEY_ID=$(tr -dc 'a-z' </dev/urandom | head -c 10)
Linux:
sudo ./azcloudhsm_util singlecmd loginHSM -u CU -s $PKCS11_S -p $PKCS11_P genRSAKeyPair -m 2048 -e 65537 -l $SIGNING_KEY_ID -id $SIGNING_KEY_ID
Windows:
.\azcloudhsm_util.exe singlecmd loginHSM -u CU -s %PKCS11_S% -p %PKCS11_P% genRSAKeyPair -m 2048 -e 65537 -l %SIGNING_KEY_ID% -id %SIGNING_KEY_ID%
Importante
Assicurarsi che ogni nodo del modulo di protezione hardware restituisca successo.
chsmVMAdmin@AdminVM:/opt/azurecloudhsm/bin$ sudo ./azcloudhsm_util singlecmd loginHSM -u CU -s cu1 -p user1234 genRSAKeyPair -m 2048 -e 65537 -l signkeyid -id signkeyid
Version info, Client Version: <version>, SDK API Version: <version>, SDK Package Version: <version>
Cfm3Initialize() returned app id : 01000000
session_handle 1000000
Current FIPS mode is: 00000000
Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS
Cluster Status:
Node id 1 status: 0x00000000 : HSM Return: SUCCESS
Node id 2 status: 0x00000000 : HSM Return: SUCCESS
Node id 3 status: 0x00000000 : HSM Return: SUCCESS
Command: genRSAKeyPair -m 2048 -e 65537 -L signkeyid -id signkeyid
Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS
Cfm3GenerateKeyPair: public key handle: 262151 private key handle: 262152
Cluster Status:
Node id 1 status: 0x00000000 : HSM Return: SUCCESS
Node id 2 status: 0x00000000 : HSM Return: SUCCESS
Node id 3 status: 0x00000000 : HSM Return: SUCCESS
Aggiornare i file di configurazione
Aggiornare la configurazione dell'applicazione
Sarà necessario aggiornare i parametri seguenti nel file azcloudhsm_application.cfg.
CERTSTORAGE_URL: questo campo fa riferimento all'URL del contenitore all'interno dell'account gestione rete virtuale di Azure del cliente e viene usato per archiviare le informazioni sul certificato. (ad esempio https://chsmstorage.blob.core.windows.net/certificates)
CERTSTORAGE_SIGNING_KEYID: questo campo fa riferimento all'ID assegnato alla coppia di chiavi, che viene usato per eseguire controlli di integrità durante le operazioni di lettura e scrittura nell'archiviazione (firma e verifica).
UAMI_CLIENT_ID: questo campo fa riferimento all'ID client dell'identità gestita assegnata dall'utente, usato per eseguire l'autenticazione all'account gestione rete virtuale di Azure del cliente. Se lasciato vuoto, per impostazione predefinita l'autenticazione usa un'identità gestita assegnata dal sistema.
Annotazioni
Questi parametri si applicano solo quando si eseguono operazioni di certificato in PKCS#11. Non è necessario per le operazioni chiave.
DAEMON_ID=1
SOCKET_TYPE=UNIXSOCKET
PORT=1111
USER_KEK_HANDLE=262150
DEFAULT_WRAP_WITH_TRUSTED=1
CERTSTORAGE_URL=https://chsmstorage.blob.core.windows.net/certificates
CERTSTORAGE_SIGNING_KEYID=hjgrwvvofe
UAMI_CLIENT_ID=25e659cc-6570-4f3b-9617-adfbc84b2565
Convalidare la configurazione PKCS#11
Per la convalida basata su esempio della configurazione PKCS#11, vedere la guida all'integrazione di PKCS#11.
chsmVMAdmin@AdminVM:/opt/azurecloudhsm$ sudo ./cust_p11_app -s cu1 -p user1234 -l /opt/azurecloudhsm/lib64/libazcloudhsm_pkcs11.so
[INFO] Azure Cloud HSM – Loading PKCS#11 library.
[INFO] Azure Cloud HSM – C_GetFunctionList
[INFO] Azure Cloud HSM – Preparing PIN with given username and password.
[INFO] Azure Cloud HSM – C_Initialize
[INFO] Azure Cloud HSM – C_GetInfo
[INFO] Azure Cloud HSM – Retrieve access token, C_GetTokenInfo
[INFO] Azure Cloud HSM – Start session with specified token, C_OpenSession
[INFO] Azure Cloud HSM – Login with PIN, C_Login
Add Your PKCS#11 Code Here
Passaggi successivi
- API PKCS#11 per l'archiviazione dei certificati: Scopri come usare le API PKCS#11 per gestire i certificati X.509 nell'HSM cloud di Azure.
- Panoramica di Azure Cloud HSM
- Proteggi il cloud HSM di Azure