Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Vérifier le document d'identité de l'instance pour une EC2 instance Amazon
Si vous avez l’intention d’utiliser le contenu du Documents d’identité d’instance à des fins importantes, vous devez vérifier son contenu et son authenticité avant de l’utiliser.
Le Documents d’identité d’instance en texte brut est accompagné de trois signatures hachées et chiffrées. Vous pouvez utiliser ces signatures pour vérifier l’origine et l’authenticité du Documents d’identité d’instance et les informations qu’il contient. Les signatures suivantes sont fournies :
-
Signature codée en base64 : il s'agit d'un SHA256 hachage codé en base64 du document d'identité de l'instance chiffré à l'aide d'une paire de clés. RSA
-
PKCS7Signature : il s'agit d'un SHA1 hachage du document d'identité de l'instance chiffré à l'aide d'une paire de clés. DSA
-
RSASignature -2048 : il s'agit d'un SHA256 hachage du document d'identité de l'instance chiffré à l'aide d'une paire de clés -2048. RSA
Chaque signature est disponible à un point de terminaison différent dans les métadonnées de l’instance. Vous pouvez utiliser l’une de ces signatures en fonction de vos exigences de hachage et de chiffrement. Pour vérifier les signatures, vous devez utiliser le certificat AWS public correspondant.
Options
Option 1 : vérifier le document d'identité de l'instance à l'aide de la PKCS7 signature
Cette rubrique explique comment vérifier le document d'identité de l'instance à l'aide de la PKCS7 signature et du certificat AWS DSA public.
Pour vérifier le document d'identité de l'instance à l'aide de la PKCS7 signature et du certificat AWS DSA public
-
Connectez-vous à l’instance.
-
Récupérez la PKCS7 signature à partir des métadonnées de l'instance et ajoutez-la à un nouveau fichier nommé
pkcs7
avec l'en-tête et le pied de page requis. Utilisez l'une des commandes suivantes en fonction de la IMDS version utilisée par l'instance. -
Trouvez le certificat DSApublic de votre région dans AWS des certificats publics, par exemple des signatures de documents d'identité et ajoutez-en le contenu dans un nouveau fichier nommé
certificate
. -
Utilisez la commande Open SSL smime pour vérifier la signature. Incluez l’option
-verify
indiquant que la signature doit être vérifiée et l’option-noverify
indiquant que le certificat n’a pas besoin d’être vérifié.$
openssl smime -verify -inpkcs7
-inform PEM -certfilecertificate
-noverify | tee documentSi la signature est valide, le message
Verification successful
s’affiche.La commande écrit également le contenu du document d’identité d’instance dans un nouveau fichier nommé
document
. Vous pouvez comparer le contenu du document d’identité d’instance provenant des métadonnées d’instance avec le contenu de ce fichier à l’aide des commandes suivantes.$
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 -sha256Si la signature ne peut pas être vérifiée, contactez AWS Support.
Prérequis
Cette procédure nécessite System.Security
Microsoft. NETClasse de base. Pour ajouter la classe à votre PowerShell session, exécutez la commande suivante.
PS C:\>
Add-Type -AssemblyName System.Security
Note
La commande ajoute la classe à la PowerShell session en cours uniquement. Si vous démarrez une nouvelle séance, vous devez exécuter à nouveau la commande.
Pour vérifier le document d'identité de l'instance à l'aide de la PKCS7 signature et du certificat AWS DSA public
-
Connectez-vous à l’instance.
-
Récupérez la PKCS7 signature à partir des métadonnées de l'instance, convertissez-la en tableau d'octets et ajoutez-la à une variable nommée
$Signature
. Utilisez l'une des commandes suivantes en fonction de la IMDS version utilisée par l'instance. -
Récupérez le document d’identité d’instance en texte brut à partir des métadonnées d’instance, convertissez-le en un tableau d’octets et ajoutez-le à une variable nommée
$Document
. Utilisez l'une des commandes suivantes en fonction de la IMDS version utilisée par l'instance. -
Trouvez le certificat DSApublic de votre région dans AWS des certificats publics, par exemple des signatures de documents d'identité et ajoutez-en le contenu dans un nouveau fichier nommé
certificate.pem
. -
Extrayez le certificat du fichier de certificat et stockez-le dans une variable nommée
$Store
.PS C:\>
$Store
= [Security.Cryptography.X509Certificates.X509Certificate2Collection]::new([Security.Cryptography.X509Certificates.X509Certificate2]::new((Resolve-Pathcertificate.pem
))) -
Vérifiez la signature.
PS C:\>
$SignatureDocument
= [Security.Cryptography.Pkcs.SignedCms]::new()PS C:\>
$SignatureDocument
.Decode($Signature
)PS C:\>
$SignatureDocument
.CheckSignature($Store
, $true)Si la signature est valide, la commande ne renvoie aucune sortie. Si la signature ne peut pas être vérifiée, la commande renvoie
Exception calling "CheckSignature" with "2" argument(s): "Cannot find the original signer
. Si votre signature ne peut pas être vérifiée, contactez AWS Support. -
Validez le contenu du document d’identité d’instance.
PS C:\>
[Linq.Enumerable]::SequenceEqual($SignatureDocument
.ContentInfo.Content,$Document
)Si le contenu du document d’identité d’instance est valide, la commande renvoie
True
. Si le document d'identité de l'instance ne peut pas être validé, contactez AWS Support.
Option 2 : vérifier le document d'identité de l'instance à l'aide de la signature codée en base64
Cette rubrique explique comment vérifier le document d'identité de l'instance à l'aide de la signature codée en base64 et du certificat AWS RSA public.
Pour valider le document d'identité de l'instance à l'aide de la signature codée en base64 et du certificat public AWS RSA
-
Connectez-vous à l’instance.
-
Récupérez la signature codée en base64 à partir des métadonnées d’instance, convertissez-la en binaire et ajoutez-la à un fichier nommé
signature
. Utilisez l'une des commandes suivantes en fonction de la IMDS version utilisée par l'instance. -
Récupérez le Documents d’identité d’instance en texte brut à partir des métadonnées de l’instance et ajoutez-le à un fichier nommé
document
. Utilisez l'une des commandes suivantes en fonction de la IMDS version utilisée par l'instance. -
Trouvez le certificat RSApublic de votre région dans AWS des certificats publics, par exemple des signatures de documents d'identité et ajoutez-en le contenu dans un nouveau fichier nommé
certificate
. -
Extrayez la clé publique du certificat AWS RSA public et enregistrez-la dans un fichier nommé
key
.$
openssl x509 -pubkey -noout -incertificate
>>key
-
Utilisez la commande Open SSL dgst pour vérifier le document d'identité de l'instance.
$
openssl dgst -sha256 -verifykey
-signaturesignature
document
Si la signature est valide, le message
Verification successful
s’affiche.La commande écrit également le contenu du document d’identité d’instance dans un nouveau fichier nommé
document
. Vous pouvez comparer le contenu du document d’identité d’instance provenant des métadonnées d’instance avec le contenu de ce fichier à l’aide des commandes suivantes.$
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 -sha256Si la signature ne peut pas être vérifiée, contactez AWS Support.
Pour valider le document d'identité de l'instance à l'aide de la signature codée en base64 et du certificat public AWS RSA
-
Connectez-vous à l’instance.
-
Récupérez la signature codée en base64 à partir des métadonnées d’instance, convertissez-la en un tableau d’octets et ajoutez-la à la variable nommée
$Signature
. Utilisez l'une des commandes suivantes en fonction de la IMDS version utilisée par l'instance. -
Récupérez le document d’identité d’instance en texte brut à partir des métadonnées d’instance, convertissez-le en un tableau d’octets et ajoutez-le à une variable nommée
$Document
. Utilisez l'une des commandes suivantes en fonction de la IMDS version utilisée par l'instance. -
Trouvez le certificat RSApublic de votre région dans AWS des certificats publics, par exemple des signatures de documents d'identité et ajoutez-en le contenu dans un nouveau fichier nommé
certificate.pem
. -
Vérifier le document d’identité d’instance
PS C:\>
[Security.Cryptography.X509Certificates.X509Certificate2]::new((Resolve-Pathcertificate.pem
)).PublicKey.Key.VerifyData($Document
, 'SHA256',$Signature
)Si la signature est valide, la commande renvoie
True
. Si la signature ne peut pas être vérifiée, contactez AWS Support.
Option 3 : vérifier le document d'identité de l'instance à l'aide de la signature RSA -2048
Cette rubrique explique comment vérifier le document d'identité de l'instance à l'aide de la signature RSA -2048 et du certificat public AWS RSA -2048.
Pour vérifier le document d'identité de l'instance à l'aide de la signature RSA -2048 et du certificat public AWS RSA -2048
-
Connectez-vous à l’instance.
-
Récupérez la signature RSA -2048 à partir des métadonnées de l'instance et ajoutez-la à un fichier nommé le
rsa2048
long de l'en-tête et du pied de page requis. Utilisez l'une des commandes suivantes en fonction de la IMDS version utilisée par l'instance. -
Recherchez le certificat public RSA-2048 pour votre région AWS des certificats publics, par exemple des signatures de documents d'identité et ajoutez-en le contenu dans un nouveau fichier nommé.
certificate
-
Utilisez la commande Open SSL smime pour vérifier la signature. Incluez l’option
-verify
indiquant que la signature doit être vérifiée et l’option-noverify
indiquant que le certificat n’a pas besoin d’être vérifié.$
openssl smime -verify -inrsa2048
-inform PEM -certfilecertificate
-noverify | tee documentSi la signature est valide, le message
Verification successful
s’affiche. Si la signature ne peut pas être vérifiée, contactez AWS Support.
Prérequis
Cette procédure nécessite System.Security
Microsoft. NETClasse de base. Pour ajouter la classe à votre PowerShell session, exécutez la commande suivante.
PS C:\>
Add-Type -AssemblyName System.Security
Note
La commande ajoute la classe à la PowerShell session en cours uniquement. Si vous démarrez une nouvelle séance, vous devez exécuter à nouveau la commande.
Pour vérifier le document d'identité de l'instance à l'aide de la signature RSA -2048 et du certificat public AWS RSA -2048
-
Connectez-vous à l’instance.
-
Récupérez la signature RSA -2048 à partir des métadonnées de l'instance, convertissez-la en tableau d'octets et ajoutez-la à une variable nommée.
$Signature
Utilisez l'une des commandes suivantes en fonction de la IMDS version utilisée par l'instance. -
Récupérez le document d’identité d’instance en texte brut à partir des métadonnées d’instance, convertissez-le en un tableau d’octets et ajoutez-le à une variable nommée
$Document
. Utilisez l'une des commandes suivantes en fonction de la IMDS version utilisée par l'instance. -
Recherchez le certificat public RSA-2048 pour votre région AWS des certificats publics, par exemple des signatures de documents d'identité et ajoutez-en le contenu dans un nouveau fichier nommé.
certificate.pem
-
Extrayez le certificat du fichier de certificat et stockez-le dans une variable nommée
$Store
.PS C:\>
$Store
= [Security.Cryptography.X509Certificates.X509Certificate2Collection]::new([Security.Cryptography.X509Certificates.X509Certificate2]::new((Resolve-Pathcertificate.pem
))) -
Vérifiez la signature.
PS C:\>
$SignatureDocument
= [Security.Cryptography.Pkcs.SignedCms]::new()PS C:\>
$SignatureDocument
.Decode($Signature
)PS C:\>
$SignatureDocument
.CheckSignature($Store
, $true)Si la signature est valide, la commande ne renvoie aucune sortie. Si la signature ne peut pas être vérifiée, la commande renvoie
Exception calling "CheckSignature" with "2" argument(s): "Cannot find the original signer
. Si votre signature ne peut pas être vérifiée, contactez AWS Support. -
Validez le contenu du document d’identité d’instance.
PS C:\>
[Linq.Enumerable]::SequenceEqual($SignatureDocument
.ContentInfo.Content,$Document
)Si le contenu du document d’identité d’instance est valide, la commande renvoie
True
. Si le document d'identité de l'instance ne peut pas être validé, contactez AWS Support.