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à.
Verifica il documento di identità dell'istanza per un'EC2istanza Amazon
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 SHA256 una coppia di chiavi. RSA
-
PKCS7Firma: si tratta di un SHA1 hash del documento di identità dell'istanza che viene crittografato utilizzando una key pair. DSA
-
RSAFirma -2048: si tratta di un SHA256 hash del documento di identità dell'istanza crittografato utilizzando una coppia di chiavi -2048. RSA
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 AWS DSA pubblico.
Per verificare il documento di identità dell'istanza utilizzando la PKCS7 firma e il certificato AWS DSA pubblico
-
Collegati all'istanza.
-
Recuperate la PKCS7 firma dai metadati dell'istanza e aggiungetela a un nuovo file denominato
pkcs7
insieme all'intestazione e al piè di pagina richiesti. Utilizzate uno dei seguenti comandi a seconda della IMDS versione utilizzata dall'istanza. -
Trova il certificato DSApubblico per la tua regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungi il contenuto a un nuovo file denominato
certificate
. -
Usa il comando Open SSL 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 AWS Support.
Prerequisiti
Questa procedura richiede System.Security
Microsoft. NETClasse principale. 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 certificato AWS DSA pubblico
-
Collegati all'istanza.
-
Recuperate la PKCS7 firma dai metadati dell'istanza, convertitela in un array di byte e aggiungetela a una variabile denominata.
$Signature
Utilizzate uno dei seguenti comandi a seconda della IMDS versione 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
. Utilizzate uno dei seguenti comandi a seconda della IMDS versione utilizzata dall'istanza. -
Trova il certificato DSApubblico per la tua regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungi il contenuto a 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 AWS Support. -
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 AWS Support.
Opzione 2: verifica il documento di identità dell'istanza utilizzando 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. AWS RSA
Per convalidare il documento di identità dell'istanza utilizzando la firma con codifica base64 e il certificato pubblico AWS RSA
-
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
. Utilizzate uno dei seguenti comandi a seconda della versione utilizzata dall'IMDSistanza. -
Recuperare il Documenti di identità dell'istanza in testo normale dai metadati dell'istanza e aggiungerlo a un file denominato
document
. Utilizzate uno dei seguenti comandi a seconda della IMDS versione utilizzata dall'istanza. -
Trova il certificato RSApubblico per la tua regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungi il contenuto a un nuovo file denominato
certificate
. -
Estrai la chiave pubblica dal certificato AWS RSA pubblico e salvala in un file denominato
key
.$
openssl x509 -pubkey -noout -incertificate
>>key
-
Usa il comando Open SSL dgst per verificare il documento 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 AWS Support.
Per convalidare il documento di identità dell'istanza utilizzando la firma con codifica base64 e il certificato pubblico AWS RSA
-
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
. Utilizzate uno dei seguenti comandi a seconda della versione utilizzata dall'IMDSistanza. -
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
. Utilizzate uno dei seguenti comandi a seconda della IMDS versione utilizzata dall'istanza. -
Trova il certificato RSApubblico per la tua regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungi il contenuto a 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 AWS Support.
Opzione 3: verifica il documento di identità dell'istanza utilizzando la firma RSA -2048
Questo argomento spiega come verificare il documento di identità dell'istanza utilizzando la firma RSA -2048 e il AWS RSA certificato pubblico -2048.
Per verificare il documento di identità dell'istanza utilizzando la firma -2048 e il certificato RSA pubblico -2048 AWS RSA
-
Collegati all'istanza.
-
Recuperate la firma RSA -2048 dai metadati dell'istanza e aggiungetela a un file denominato lungo l'intestazione e il piè di pagina richiesti.
rsa2048
Utilizzate uno dei seguenti comandi a seconda della versione utilizzata dall'IMDSistanza. -
Trova il certificato pubblico RSA-2048 per la tua regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungi il contenuto a un nuovo file denominato.
certificate
-
Utilizzate il comando Open SSL 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 AWS Support.
Prerequisiti
Questa procedura richiede System.Security
Microsoft. NETClasse principale. 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 AWS RSA -2048
-
Collegati all'istanza.
-
Recuperate la firma RSA -2048 dai metadati dell'istanza, convertitela in un array di byte e aggiungetela a una variabile denominata.
$Signature
Utilizzate uno dei seguenti comandi a seconda della IMDS versione 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
. Utilizzate uno dei seguenti comandi a seconda della IMDS versione utilizzata dall'istanza. -
Trova il certificato pubblico RSA-2048 per la tua regione in AWS certificati pubblici, ad esempio firme di documenti di identità e aggiungi il contenuto a 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 AWS Support. -
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. AWS Support