Uso de UploadServerCertificate con un AWS SDK o la CLI - AWS Identity and Access Management

Uso de UploadServerCertificate con un AWS SDK o la CLI

Los siguientes ejemplos de código muestran 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 archivo my_private_key.pem y la cadena de certificados proporcionada por la entidad de certificación (CA) está en el archivo my_certificate_chain_file.pem. Cuando el archivo haya terminado de cargarse, estará disponible con el nombre myServerCertificate. Los parámetros que comienzan con file:// 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-body file://public_key_cert_file.pem \ --private-key file://my_private_key.pem \ --certificate-chain file://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 IAM con un AWS SDK. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.