Procedimento para criar uma CA (CLI) - AWS Private Certificate Authority

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Procedimento para criar uma CA (CLI)

Use o create-certificate-authoritycomando para criar uma CA privada. Você deve especificar a configuração da CA (contendo informações do algoritmo e do nome do requerente), a configuração de revogação (se planeja usar o OCSP e/ou uma CRL) e o tipo de CA (raiz ou subordinada). Os detalhes da configuração e da revogação estão contidos em dois arquivos que você fornece como argumentos ao comando. Opcionalmente, você também pode configurar o modo de uso da CA (para emitir certificados padrão ou de curta duração), anexar etiquetas e fornecer um token de idempotência.

Se estiver configurando uma CRL, você deverá ter um bucket Amazon S3 protegido antes de emitir o comando create-certificate-authority. Para ter mais informações, consulte Políticas de acesso para CRLs no Amazon S3 .

O arquivo de configuração da CA especifica as seguintes informações:

  • O nome do algoritmo

  • O tamanho da chave a ser usada para criar a chave privada da CA

  • O tipo de algoritmo de assinatura que a CA usa para assinar

  • Informações do assunto X.500

A configuração de revogação do OCSP define um objeto OcspConfiguration com as seguintes informações:

  • O sinalizador Enabled é definido como “true”.

  • (Opcional) Um CNAME personalizado declarado como um valor para OcspCustomCname.

A configuração de revogação de uma CRL define um objeto CrlConfiguration com as seguintes informações:

  • O sinalizador Enabled é definido como “true”.

  • O período de expiração da CRL em dias (o período de validade da CRL).

  • O bucket do Amazon S3 que conterá a CRL.

  • (Opcional) Um ObjectAcl valor S3 que determina se a CRL está acessível ao público. No exemplo apresentado, o acesso público está bloqueado. Para ter mais informações, consulte Habilitando o S3 Block Public Access (BPA) com CloudFront.

  • (Opcional) Um alias CNAME para o bucket do S3 que é incluído em certificados emitidos pela CA. Se a CRL não estiver acessível ao público, isso apontará para um mecanismo de distribuição como a Amazon CloudFront.

  • (Opcional) Um CrlDistributionPointExtensionConfiguration objeto com as seguintes informações:

    • O OmitExtension sinalizador definido como “verdadeiro” ou “falso”. Isso controla se o valor padrão da extensão CDP será gravado em um certificado emitido pela CA. Para obter mais informações sobre a extensão CDP, consulteDeterminando o URI do ponto de distribuição da CRL (CDP) . A CustomCname não pode ser definido se OmitExtension for “verdadeiro”.

nota

É possível habilitar os dois mecanismos de revogação na mesma CA, definindo um objeto OcspConfiguration e um objeto CrlConfiguration simultaneamente. Se você não fornecer um parâmetro --revocation-configuration, os dois mecanismos serão desabilitados por padrão. Se precisar de suporte para validação de revogação posteriormente, consulte Atualizar uma CA (CLI).

Os exemplos a seguir pressupõem que você tenha configurado seu diretório de configuração .aws com uma região, um endpoint e credenciais padrão válidos. Para obter informações sobre como configurar seu AWS CLI ambiente, consulte Configuração e configurações do arquivo de credenciais. Para facilitar a leitura, fornecemos a entrada de configuração e revogação da CA como arquivos JSON nos comandos de exemplo. Modifique os arquivos de exemplo conforme necessário para seu uso.

Todos os exemplos usam o arquivo de configuração ca_config.txt a seguir, salvo indicação em contrário.

Arquivo: ca_config.txt

{ "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "Country":"US", "Organization":"Example Corp", "OrganizationalUnit":"Sales", "State":"WA", "Locality":"Seattle", "CommonName":"www.example.com" } }

Exemplo 1: criar uma CA com o OCSP habilitado

Neste exemplo, o arquivo de revogação ativa o suporte padrão do OCSP, que usa o CA privada da AWS respondente para verificar o status do certificado.

Arquivo: revoke_config.txt para OCSP

{ "OcspConfiguration":{ "Enabled":true } }

Comando

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA

Se obtiver êxito, esse comando produz o nome de recurso da Amazon (ARN) da nova CA.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:region:account: certificate-authority/CA_ID" }

Comando

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA-2

Se obtiver êxito, esse comando produz o nome de recurso da Amazon (ARN) da CA.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

Use o comando a seguir para inspecionar a configuração da CA.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

Essa descrição deve conter a seção a seguir.

"RevocationConfiguration": { ... "OcspConfiguration": { "Enabled": true } ... }

Exemplo 2: criar uma CA com o OCSP e um CNAME personalizado habilitado

Neste exemplo, o arquivo de revogação habilita suporte personalizado ao OCSP. O parâmetro OcspCustomCname usa um nome de domínio totalmente qualificado (FQDN) como valor.

Quando você fornece um FQDN nesse campo, CA privada da AWS insere o FQDN na extensão Authority Information Access de cada certificado emitido no lugar do URL padrão do respondente OCSP. AWS Quando um endpoint recebe um certificado contendo o FQDN personalizado, ele consulta esse endereço para obter uma resposta do OCSP. Para que esse mecanismo funcione, você precisa fazer duas ações adicionais:

  • Use um servidor proxy para encaminhar o tráfego que chega ao seu FQDN personalizado para o respondente AWS OCSP.

  • Adicionar um registro CNAME correspondente ao seu banco de dados DNS.

dica

Para obter mais informações sobre a implementação de uma solução OCSP completa usando um CNAME personalizado, consulte Configurar um URL personalizado para OCSP da CA privada da AWS.

Por exemplo, aqui está um registro CNAME para OCSP personalizado exibido no Amazon Route 53.

Nome de registro Tipo Política de roteamento Diferenciador Valor/Encaminhar tráfego para

alternative.example.com

CNAME Simples - proxy.example.com
nota

O valor do CNAME não deve incluir um prefixo de protocolo como “http://” ou “https://”.

Arquivo: revoke_config.txt para OCSP

{ "OcspConfiguration":{ "Enabled":true, "OcspCustomCname":"alternative.example.com" } }

Comando

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA-3

Se obtiver êxito, esse comando produz o nome de recurso da Amazon (ARN) da CA.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

Use o comando a seguir para inspecionar a configuração da CA.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

Essa descrição deve conter a seção a seguir.

"RevocationConfiguration": { ... "OcspConfiguration": { "Enabled": true, "OcspCustomCname": "alternative.example.com" } ... }

Exemplo 3: criar uma CA com uma CRL anexada

Neste exemplo, a configuração de revogação define parâmetros da CRL.

Arquivo: revoke_config.txt

{ "CrlConfiguration":{ "Enabled":true, "ExpirationInDays":7, "S3BucketName":"DOC-EXAMPLE-BUCKET" } }

Comando

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA-1

Se obtiver êxito, esse comando produz o nome de recurso da Amazon (ARN) da CA.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

Use o comando a seguir para inspecionar a configuração da CA.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

Essa descrição deve conter a seção a seguir.

"RevocationConfiguration": { ... "CrlConfiguration": { "Enabled": true, "ExpirationInDays": 7, "S3BucketName": "DOC-EXAMPLE-BUCKET" }, ... }

Exemplo 4: criar uma CA com uma CRL anexada e um CNAME personalizado habilitado

Neste exemplo, a configuração de revogação define parâmetros de CRL que incluem um CNAME personalizado.

Arquivo: revoke_config.txt

{ "CrlConfiguration":{ "Enabled":true, "ExpirationInDays":7, "CustomCname": "alternative.example.com", "S3BucketName":"DOC-EXAMPLE-BUCKET" } }

Comando

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA-1

Se obtiver êxito, esse comando produz o nome de recurso da Amazon (ARN) da CA.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

Use o comando a seguir para inspecionar a configuração da CA.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

Essa descrição deve conter a seção a seguir.

"RevocationConfiguration": { ... "CrlConfiguration": { "Enabled": true, "ExpirationInDays": 7, "CustomCname": "alternative.example.com", "S3BucketName": "DOC-EXAMPLE-BUCKET", ... } }

Exemplo 5: criar uma CA e especificar o modo de uso

Neste exemplo, o modo de uso da CA é especificado ao criar uma CA. Se não for especificado, o parâmetro de modo de uso assumirá GENERAL_PURPOSE como padrão. Neste exemplo, o parâmetro está definido como SHORT_LIVED_CERTIFICATE, o que significa que a CA emitirá certificados com um período máximo de validade de sete dias. Em situações em que é inconveniente configurar a revogação, um certificado de curta duração comprometido expira rapidamente como parte das operações normais. Consequentemente, esse exemplo de CA não tem um mecanismo de revogação.

nota

CA privada da AWS não executa verificações de validade em certificados de CA raiz.

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --certificate-authority-type "ROOT" \ --usage-mode SHORT_LIVED_CERTIFICATE \ --tags Key=usageMode,Value=SHORT_LIVED_CERTIFICATE

Use o describe-certificate-authoritycomando no AWS CLI para exibir detalhes sobre a CA resultante, conforme mostrado no comando a seguir:

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn arn:aws:acm:region:account:certificate-authority/CA_ID
{ "CertificateAuthority":{ "Arn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID", "CreatedAt":"2022-09-30T09:53:42.769000-07:00", "LastStateChangeAt":"2022-09-30T09:53:43.784000-07:00", "Type":"ROOT", "UsageMode":"SHORT_LIVED_CERTIFICATE", "Serial":"serial_number", "Status":"PENDING_CERTIFICATE", "CertificateAuthorityConfiguration":{ "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "Country":"US", "Organization":"Example Corp", "OrganizationalUnit":"Sales", "State":"WA", "Locality":"Seattle", "CommonName":"www.example.com" } }, "RevocationConfiguration":{ "CrlConfiguration":{ "Enabled":false }, "OcspConfiguration":{ "Enabled":false } }, ...

Exemplo 6: criar uma CA para login do Active Directory

É possível criar uma CA privada adequada para uso no repositório Enterprise NTAuth do Microsoft Active Directory (AD), onde ela pode emitir certificados de logon com cartão ou de controlador de domínio. Para obter informações sobre a importação de um certificado CA para o AD, consulte Como importar certificados de autoridade de certificação (CA) de terceiros para o repositório Enterprise NTAuth.

A ferramenta certutil da Microsoft pode ser usada para publicar certificados CA no AD invocando a opção -dspublish. Um certificado publicado no AD com certutil é confiável em toda a floresta. Com o uso de uma política de grupo, também é possível limitar a confiança a um subconjunto de toda a floresta, por exemplo, um único domínio ou um grupo de computadores em um domínio. Para que o logon funcione, a CA emissora também deve ser publicada no repositório NTAuth. Para obter mais informações, consulte Distribuir certificados para computadores cliente usando a política de grupo.

Esse exemplo usa o arquivo de configuração ca_config_AD.txt a seguir.

Arquivo: ca_config_AD.txt

{ "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "CustomAttributes":[ { "ObjectIdentifier":"2.5.4.3", "Value":"root CA" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"example" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"com" } ] } }

Comando

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config_AD.txt \ --certificate-authority-type "ROOT" \ --tags Key=application,Value=ActiveDirectory

Se obtiver êxito, esse comando produz o nome de recurso da Amazon (ARN) da CA.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

Use o comando a seguir para inspecionar a configuração da CA.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

Essa descrição deve conter a seção a seguir.

... "Subject":{ "CustomAttributes":[ { "ObjectIdentifier":"2.5.4.3", "Value":"root CA" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"example" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"com" } ] } ...

Exemplo 7: Crie um Matter CA com uma CRL anexada e a extensão CDP omitida dos certificados emitidos

Você pode criar uma CA privada adequada para emitir certificados para o padrão doméstico inteligente Matter. Neste exemplo, a configuração da CA ca_config_PAA.txt define uma Autoridade de Atestado de Produto Matter (PAA) com a ID do fornecedor (VID) definida como FFF1.

Arquivo: ca_config_PAA.txt

{ "KeyAlgorithm":"EC_prime256v1", "SigningAlgorithm":"SHA256WITHECDSA", "Subject":{ "Country":"US", "Organization":"Example Corp", "OrganizationalUnit":"SmartHome", "State":"WA", "Locality":"Seattle", "CommonName":"Example Corp Matter PAA", "CustomAttributes":[ { "ObjectIdentifier":"1.3.6.1.4.1.37244.2.1", "Value":"FFF1" } ] } }

A configuração de revogação ativa as CRLs e configura a CA para omitir a URL padrão do CDP de qualquer certificado emitido.

Arquivo: revoke_config.txt

{ "CrlConfiguration":{ "Enabled":true, "ExpirationInDays":7, "S3BucketName":"DOC-EXAMPLE-BUCKET", "CrlDistributionPointExtensionConfiguration":{ "OmitExtension":true } } }

Comando

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config_PAA.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA-1

Se obtiver êxito, esse comando produz o nome de recurso da Amazon (ARN) da CA.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

Use o comando a seguir para inspecionar a configuração da CA.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

Essa descrição deve conter a seção a seguir.

"RevocationConfiguration": { ... "CrlConfiguration": { "Enabled": true, "ExpirationInDays": 7, "S3BucketName": "DOC-EXAMPLE-BUCKET", "CrlDistributionPointExtensionConfiguration":{ "OmitExtension":true } }, ... } ...