Uso de la firma RSA-2048 para verificar el Documentos de identidad de instancia
En este tema, se explica cómo verificar el documento de identidad de la instancia mediante la firma RSA-2048 y el certificado público RSA-2048 de AWS.
Para verificar el documento de identidad de la instancia mediante la firma RSA-2048 y el certificado público RSA-2048 de AWS
-
Conéctese a la instancia.
-
Recupere la firma RSA-2048 de los metadatos de la instancia y agréguela a un archivo denominado
rsa2048
junto con el encabezado y el pie de página requeridos. Utilice uno de los siguientes comandos dependiendo de la versión IMDS utilizada por la instancia. -
Busque el certificado público RSA-2048 para su región en Certificados públicos de AWS y agregue el contenido a un archivo nuevo denominado
certificate
. -
Utilice el comando openSSL smime para verificar la firma. Incluya la opción
-verify
para indicar que es necesario verificar la firma, y la opción-noverify
para indicar que no es necesario verificar el certificado.$
openssl smime -verify -inrsa2048
-inform PEM -certfilecertificate
-noverify | tee documentSi la firma es válida, aparecerá el mensaje
Verification successful
. Si no se puede verificar la firma, póngase en contacto con AWS Support.
Requisitos previos
Este procedimiento requiere la clase Microsoft .NET Core de System.Security
. Para agregar la clase a la sesión de PowerShell, ejecute el siguiente comando.
PS C:\>
Add-Type -AssemblyName System.Security
nota
El comando agrega la clase solo a la sesión actual de PowerShell. Si inicia una nueva sesión, debe ejecutar el comando de nuevo.
Para verificar el documento de identidad de la instancia mediante la firma RSA-2048 y el certificado público RSA-2048 de AWS
-
Conéctese a la instancia.
-
Recupere la firma RSA-2048 de los metadatos de instancia, conviértala en una matriz de bytes y agréguela a una variable denominada
$Signature
. Utilice uno de los siguientes comandos dependiendo de la versión IMDS utilizada por la instancia. -
Recupere el documento de identidad de instancia de texto sin formato de los metadatos de instancia, conviértalo en una matriz de bytes y agréguelo a una variable denominada
$Document
. Utilice uno de los siguientes comandos dependiendo de la versión IMDS utilizada por la instancia. -
Busque el certificado público RSA-2048 para su región en Certificados públicos de AWS y agregue el contenido a un archivo nuevo denominado
certificate.pem
. -
Extraiga el certificado del archivo de certificado y guárdelo en una variable denominada
$Store
.PS C:\>
$Store
= [Security.Cryptography.X509Certificates.X509Certificate2Collection]::new([Security.Cryptography.X509Certificates.X509Certificate2]::new((Resolve-Pathcertificate.pem
))) -
Verifique la firma.
PS C:\>
$SignatureDocument
= [Security.Cryptography.Pkcs.SignedCms]::new()PS C:\>
$SignatureDocument
.Decode($Signature
)PS C:\>
$SignatureDocument
.CheckSignature($Store
, $true)Si la firma es válida, el comando no devuelve ningún resultado. Si no se puede verificar la firma, el comando devuelve
Exception calling "CheckSignature" with "2" argument(s): "Cannot find the original signer
. Si su firma no se puede verificar, póngase en contacto con AWS Support. -
Valide el contenido del documento de identidad de instancia.
PS C:\>
[Linq.Enumerable]::SequenceEqual($SignatureDocument
.ContentInfo.Content,$Document
)Si el contenido del documento de identidad de instancia es válido, el comando devuelve
True
. Si el documento de identidad de instancia no se puede validar, póngase en contacto con AWS Support.