Uso de UploadServerCertificate
con un AWS SDK o la CLI
En los siguientes ejemplos de código, se muestra cómo utilizar UploadServerCertificate
.
- CLI
-
- AWS CLI
-
Cómo cargar un certificado de servidor en su cuenta de AWS
El siguiente comando upload-server-certificate carga un certificado de servidor en su cuenta de AWS. En este ejemplo, el certificado está en el archivo
public_key_cert_file.pem
, la clave privada asociada está en el archivomy_private_key.pem
y la cadena de certificados proporcionada por la entidad de certificación (CA) está en el archivomy_certificate_chain_file.pem
. Cuando el archivo haya terminado de cargarse, estará disponible con el nombre myServerCertificate. Los parámetros que comienzan confile://
indican al comando que lea el contenido del archivo y lo use como valor del parámetro en lugar del nombre del archivo en sí.aws iam upload-server-certificate \ --server-certificate-name
myServerCertificate
\ --certificate-bodyfile://public_key_cert_file.pem
\ --private-keyfile://my_private_key.pem
\ --certificate-chainfile://my_certificate_chain_file.pem
Salida:
{ "ServerCertificateMetadata": { "Path": "/", "ServerCertificateName": "myServerCertificate", "ServerCertificateId": "ASCAEXAMPLE123EXAMPLE", "Arn": "arn:aws:iam::1234567989012:server-certificate/myServerCertificate", "UploadDate": "2019-04-22T21:13:44+00:00", "Expiration": "2019-10-15T22:23:16+00:00" } }
Para obtener más información, consulte Creación, carga y eliminación de certificados de servidor en la guía Uso de IAM.
-
Para obtener información sobre la API, consulte UploadServerCertificate
en la Referencia de comandos de la AWS CLI.
-
- JavaScript
-
- SDK para JavaScript (v3)
-
nota
Hay más información en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS
. import { UploadServerCertificateCommand, IAMClient } from "@aws-sdk/client-iam"; import { readFileSync } from "fs"; import { dirnameFromMetaUrl } from "@aws-doc-sdk-examples/lib/utils/util-fs.js"; import * as path from "path"; const client = new IAMClient({}); const certMessage = `Generate a certificate and key with the following command, or the equivalent for your system. openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \ -keyout example.key -out example.crt -subj "/CN=example.com" \ -addext "subjectAltName=DNS:example.com,DNS:www.example.net,IP:10.0.0.1" `; const getCertAndKey = () => { try { const cert = readFileSync( path.join(dirnameFromMetaUrl(import.meta.url), "./example.crt"), ); const key = readFileSync( path.join(dirnameFromMetaUrl(import.meta.url), "./example.key"), ); return { cert, key }; } catch (err) { if (err.code === "ENOENT") { throw new Error( `Certificate and/or private key not found. ${certMessage}`, ); } throw err; } }; /** * * @param {string} certificateName */ export const uploadServerCertificate = (certificateName) => { const { cert, key } = getCertAndKey(); const command = new UploadServerCertificateCommand({ ServerCertificateName: certificateName, CertificateBody: cert.toString(), PrivateKey: key.toString(), }); return client.send(command); };
-
Para obtener información sobre la API, consulte UploadServerCertificate en la Referencia de la API de AWS SDK for JavaScript.
-
- PowerShell
-
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo se carga un nuevo certificado de servidor en la cuenta de IAM. Los archivos que contienen el cuerpo del certificado, la clave privada y la cadena de certificados (opcional) deben tener todos codificación PEM. Tenga en cuenta que los parámetros requieren el contenido real de los archivos y no los nombres de los archivos. Tenga en cuenta que debe usar el parámetro de conmutación
-Raw
para procesar correctamente el contenido del archivo.Publish-IAMServerCertificate -ServerCertificateName MyTestCert -CertificateBody (Get-Content -Raw server.crt) -PrivateKey (Get-Content -Raw server.key)
Salida:
Arn : arn:aws:iam::123456789012:server-certificate/MyTestCert Expiration : 1/14/2018 9:52:36 AM Path : / ServerCertificateId : ASCAJIEXAMPLE7J7HQZYW ServerCertificateName : MyTestCert UploadDate : 4/21/2015 11:14:16 AM
-
Para obtener información sobre la API, consulte UploadServerCertificate en la Referencia de Cmdlet de AWS Tools for PowerShell.
-
Para obtener una lista completa de las guías para desarrolladores del AWS SDK y ejemplos de código, consulte Uso de este servicio con un SDK de AWS. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.