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à.
Se si intende utilizzare i contenuti del Documenti di identità dell'istanza per uno scopo importante, occorre verificarne il contenuto e l'autenticità prima di utilizzarlo.
Il Documenti di identità dell'istanza di testo normale è accompagnato da tre firme con hash e crittografate. Puoi utilizzare queste firme per verificare l'origine e l'autenticità del Documenti di identità dell'istanza e delle informazioni incluse. Vengono fornite le seguenti firme:
-
Firma con codifica Base64: si tratta di un hash con codifica base64 del documento di identità dell'istanza che viene crittografato utilizzando una coppia SHA256 di chiavi RSA.
-
PKCS7 Firma: si tratta di un SHA1 hash del documento di identità dell'istanza crittografato utilizzando una coppia di chiavi DSA.
-
Firma RSA-2048: si tratta di un SHA256 hash del documento di identità dell'istanza crittografato utilizzando una coppia di chiavi RSA-2048.
Ogni firma è disponibile in un endpoint diverso nei metadati dell'istanza. Puoi utilizzare una di queste firme qualsiasi a seconda dei requisiti di hashing e di crittografia. Per verificare le firme, è necessario utilizzare il certificato pubblico corrispondente. AWS
Opzioni
Opzione 1: verifica il documento di identità dell'istanza utilizzando la firma PKCS7
Questo argomento spiega come verificare il documento di identità dell'istanza utilizzando la PKCS7 firma e il certificato pubblico AWS DSA.
Per verificare il documento di identità dell'istanza utilizzando la PKCS7 firma e il certificato AWS pubblico DSA
-
Collegati all'istanza.
-
Recupera la PKCS7 firma dai metadati dell'istanza e aggiungila a un nuovo file denominato
pkcs7
insieme all'intestazione e al piè di pagina richiesti. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza. -
Trovare il certificato pubblico DSA per la propria regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungere i contenuti in un nuovo file denominato
certificate
. -
Utilizzare il comando OpenSSL smime per verificare la firma. Includere l'opzione
-verify
per indicare che la firma deve essere verificata e l'opzione-noverify
per indicare che il certificato non deve essere verificato.$
openssl smime -verify -inpkcs7
-inform PEM -certfilecertificate
-noverify | tee documentSe la firma è valida, viene visualizzato il messaggio
Verification successful
.Il comando, inoltre, scrive i contenuti del documento di identità dell'istanza in un nuovo file denominato
document
. Puoi confrontare i contenuti del documento di identità dell'istanza dai metadati dell'istanza con i contenuti di questo file utilizzando i comandi seguenti.$
openssl dgst -sha256 <document
$
curl -s -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic/instance-identity/document | openssl dgst -sha256Se non è possibile verificare la firma, contattare Supporto.
Prerequisiti
Questa procedura richiede la classe System.Security
Microsoft .NET Core. Per aggiungere la classe alla PowerShell sessione, esegui il comando seguente.
PS C:\>
Add-Type -AssemblyName System.Security
Nota
Il comando aggiunge la classe solo alla PowerShell sessione corrente. Se avvii una nuova sessione, devi eseguire nuovamente il comando.
Per verificare il documento di identità dell'istanza utilizzando la PKCS7 firma e il AWS certificato pubblico DSA
-
Collegati all'istanza.
-
Recuperate la PKCS7 firma dai metadati dell'istanza, convertitela in un array di byte e aggiungetela a una variabile denominata.
$Signature
Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza. -
Recuperare il documento di identità dell'istanza in testo normale dai metadati dell'istanza, convertirlo in un array di byte e aggiungerlo a una variabile denominata
$Document
. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza. -
Trovare il certificato pubblico DSA per la propria regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungere i contenuti in un nuovo file denominato
certificate.pem
. -
Estrarre il certificato dal file del certificato e archiviarlo in una variabile denominata
$Store
.PS C:\>
$Store
= [Security.Cryptography.X509Certificates.X509Certificate2Collection]::new([Security.Cryptography.X509Certificates.X509Certificate2]::new((Resolve-Pathcertificate.pem
))) -
Verifica la firma.
PS C:\>
$SignatureDocument
= [Security.Cryptography.Pkcs.SignedCms]::new()PS C:\>
$SignatureDocument
.Decode($Signature
)PS C:\>
$SignatureDocument
.CheckSignature($Store
, $true)Se la firma è valida, il comando non restituisce alcun output. Se non è possibile verificare la firma, il comando restituisce
Exception calling "CheckSignature" with "2" argument(s): "Cannot find the original signer
. Se non è possibile verificare la firma, contattare Supporto AWS. -
Convalidare il contenuto del documento di identità dell'istanza.
PS C:\>
[Linq.Enumerable]::SequenceEqual($SignatureDocument
.ContentInfo.Content,$Document
)Se il contenuto del documento di identità dell'istanza è valido, il comando restituisce
True
. Se il documento di identità dell'istanza non può essere convalidato, contatta Supporto AWS.
Opzione 2: Verifica il documento di identità dell'istanza usando la firma con codifica base64
Questo argomento spiega come verificare il documento di identità dell'istanza utilizzando la firma con codifica base64 e il certificato pubblico RSA. AWS
Per convalidare il documento di identità dell'istanza utilizzando la firma con codifica base64 e il certificato pubblico RSA AWS
-
Collegati all'istanza.
-
Recuperare la firma con codifica base64 dai metadati dell'istanza, convertirla in un formato binario e aggiungerla a un file denominato
signature
. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza. -
Recuperare il Documenti di identità dell'istanza in testo normale dai metadati dell'istanza e aggiungerlo a un file denominato
document
. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza. -
Trovare il certificato pubblico RSA per la propria regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungere i contenuti in un nuovo file denominato
certificate
. -
Estrai la chiave pubblica dal certificato pubblico AWS RSA e salvala in un file denominato.
key
$
openssl x509 -pubkey -noout -incertificate
>>key
-
Utilizzare il comando OpenSSL dgst per verificare il Documenti di identità dell'istanza.
$
openssl dgst -sha256 -verifykey
-signaturesignature
document
Se la firma è valida, viene visualizzato il messaggio
Verification successful
.Il comando, inoltre, scrive i contenuti del documento di identità dell'istanza in un nuovo file denominato
document
. Puoi confrontare i contenuti del documento di identità dell'istanza dai metadati dell'istanza con i contenuti di questo file utilizzando i comandi seguenti.$
openssl dgst -sha256 <document
$
curl -s -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic/instance-identity/document | openssl dgst -sha256Se non è possibile verificare la firma, contattare Supporto.
Per convalidare il documento di identità dell'istanza utilizzando la firma con codifica base64 e il certificato pubblico RSA AWS
-
Collegati all'istanza.
-
Recuperare la firma con codifica base64 dai metadati dell'istanza, convertirla in un array di byte e aggiungerla alla variabile denominata
$Signature
. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza. -
Recuperare il documento di identità dell'istanza in testo normale dai metadati dell'istanza, convertirlo in un array di byte e aggiungerlo a una variabile denominata
$Document
. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza. -
Trovare il certificato pubblico RSA per la propria regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungere i contenuti in un nuovo file denominato
certificate.pem
. -
Verificare il documento di identità dell'istanza.
PS C:\>
[Security.Cryptography.X509Certificates.X509Certificate2]::new((Resolve-Pathcertificate.pem
)).PublicKey.Key.VerifyData($Document
, 'SHA256',$Signature
)Se la firma è valida, il comando restituisce
True
. Se non è possibile verificare la firma, contattare Supporto.
Opzione 3: Verifica il documento di identità dell'istanza usando la firma RSA-2048
Questo argomento spiega come verificare il documento di identità dell'istanza utilizzando la firma RSA-2048 e il certificato pubblico RSA-2048. AWS
Per verificare il documento di identità dell'istanza utilizzando la firma RSA-2048 e il certificato pubblico RSA-2048 AWS
-
Collegati all'istanza.
-
Recuperare la firma RSA-2048 dai metadati dell'istanza e aggiungerla a un file denominato
rsa2048
, insieme all'intestazione e al piè di pagina richiesti. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza. -
Trovare il certificato pubblico RSA-2048 per la propria regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungere i contenuti in un nuovo file denominato
certificate
. -
Utilizzare il comando OpenSSL smime per verificare la firma. Includere l'opzione
-verify
per indicare che la firma deve essere verificata e l'opzione-noverify
per indicare che il certificato non deve essere verificato.$
openssl smime -verify -inrsa2048
-inform PEM -certfilecertificate
-noverify | tee documentSe la firma è valida, viene visualizzato il messaggio
Verification successful
. Se non è possibile verificare la firma, contattare Supporto.
Prerequisiti
Questa procedura richiede la classe System.Security
Microsoft .NET Core. Per aggiungere la classe alla PowerShell sessione, esegui il comando seguente.
PS C:\>
Add-Type -AssemblyName System.Security
Nota
Il comando aggiunge la classe solo alla PowerShell sessione corrente. Se avvii una nuova sessione, devi eseguire nuovamente il comando.
Per verificare il documento di identità dell'istanza utilizzando la firma RSA-2048 e il certificato pubblico RSA-2048 AWS
-
Collegati all'istanza.
-
Recuperare la firma RSA-2048 dai metadati dell'istanza, convertirla in un array di byte e aggiungerla a una variabile denominata
$Signature
. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza. -
Recuperare il documento di identità dell'istanza in testo normale dai metadati dell'istanza, convertirlo in un array di byte e aggiungerlo a una variabile denominata
$Document
. Utilizzare uno dei comandi seguenti a seconda della versione IMDS utilizzata dall'istanza. -
Trovare il certificato pubblico RSA-2048 per la propria regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungere i contenuti in un nuovo file denominato
certificate.pem
. -
Estrarre il certificato dal file del certificato e archiviarlo in una variabile denominata
$Store
.PS C:\>
$Store
= [Security.Cryptography.X509Certificates.X509Certificate2Collection]::new([Security.Cryptography.X509Certificates.X509Certificate2]::new((Resolve-Pathcertificate.pem
))) -
Verifica la firma.
PS C:\>
$SignatureDocument
= [Security.Cryptography.Pkcs.SignedCms]::new()PS C:\>
$SignatureDocument
.Decode($Signature
)PS C:\>
$SignatureDocument
.CheckSignature($Store
, $true)Se la firma è valida, il comando non restituisce alcun output. Se non è possibile verificare la firma, il comando restituisce
Exception calling "CheckSignature" with "2" argument(s): "Cannot find the original signer
. Se non è possibile verificare la firma, contattare Supporto AWS. -
Convalidare il contenuto del documento di identità dell'istanza.
PS C:\>
[Linq.Enumerable]::SequenceEqual($SignatureDocument
.ContentInfo.Content,$Document
)Se il contenuto del documento di identità dell'istanza è valido, il comando restituisce
True
. Se il documento di identità dell'istanza non può essere convalidato, contatta Supporto AWS.