Pedido de certificados públicos SSL / TLS
Você pode usar IBM Cloud® Secrets Manager para armazenar, solicitar e gerar certificados públicos SSL / TLS que podem ser usados em seus aplicativos ou serviços.
Um certificado SSL/TLS é um tipo de certificado digital que é usado para estabelecer a privacidade de comunicação entre um servidor e um cliente. Os certificados são emitidos por autoridades de certificação(CA)Uma organização ou empresa de terceiro confiável que emite os certificados digitais. A autoridade de certificação geralmente verifica a identidade dos indivíduos que recebem o certificado exclusivo. e contêm informações que são usadas para criar conexões confiáveis e seguras entre endpoints. Depois de incluir um certificado em sua instância do Secrets Manager, ele poderá ser usado para proteger comunicações de rede para suas implementações em nuvem ou no local. Seu certificado é armazenado de forma segura em sua instância de serviço dedicada do Secrets Manager, na qual é possível gerenciar centralmente seu ciclo de vida.
Em Secrets Manager, os certificados que você solicita por meio de Secrets Manager de uma autoridade de certificação de terceiros são certificados públicos. Os certificados importados para o serviço são certificados importados (imported_cert). Os certificados criados usando uma autoridade de certificação privada são certificados privados (private_cert).
Antes de Iniciar
Antes de começar, certifique-se de ter o nível de acesso necessário. Para criar ou incluir segredos, é necessária a função de serviço Gravador ou superior.
Antes de solicitar um certificado, certifique-se de que:
- Preparar sua instância para pedir certificados
- Analise as configurações da autoridade de certificação e do provedor de DNS que estão disponíveis. Para visualizar as configurações que estão definidas para sua instância, acesse a página Mecanismos de segredos > Certificados públicos na IU do Secrets Manager.
Para trabalhar com um provedor DNS que não está atualmente integrado ao serviço, não é necessário incluir uma configuração para solicitar seu certificado público.
Pedindo certificados públicos
Depois de configurar o mecanismo de certificados públicos para sua instância, você pode usar Secrets Manager para solicitar certificados públicos SSL / TLS da Let's Encrypt. Para que um certificado possa ser emitido para você, o Secrets Manager usa validação de domínio para verificar a propriedade de seus domínios. Ao solicitar um certificado:
-
O Secrets Manager envia sua solicitação para a autoridade de certificação selecionada. O status do certificado muda para Pré-ativação para indicar que sua solicitação está sendo processada.
-
Se a validação for concluída com sucesso, seu certificado será emitido e seu status mudará para Ativo.
-
Se a validação não for concluída com sucesso, o status de seu certificado será mudado para Desativado. A partir da tabela Segredos, é possível verificar os detalhes de emissão do seu certificado clicando no ícone Ações
> Visualizar detalhes.
-
Se a validação não for concluída com sucesso, o status de seu certificado será mudado para Desativado. A partir da tabela Segredos, é possível verificar os detalhes de emissão do seu certificado clicando no ícone Ações
> Visualizar detalhes.
-
Se a validação não for concluída com sucesso, o status de seu certificado será mudado para Desativado. É possível usar a API Obter metadados secretos para verificar o campo
resources.issuance_infopara emissão de detalhes em seu certificado. -
Após o certificado ser emitido, é possível implementá-lo em seus apps integrados, fazer download ou modificar suas opções de rotação.
Pedindo certificados públicos com provedores DNS integrados na IU
É possível solicitar um certificado usando a IU do Secrets Manager.
-
No console, clique no ícone Menu
> Lista de Recursos.
-
Na lista de serviços, selecione sua instância do Secrets Manager.
-
Na tabela Segredos, clique em Incluir.
-
Clique no bloco Pedir certificado público.
-
Inclua um nome e uma descrição para identificar facilmente o seu certificado.
-
Selecione o grupo de segredos que você deseja designar ao segredo. Você não tem um grupo de segredos? No campo Grupo de segredos, é possível clicar em Criar para fornecer um nome e uma descrição para um novo grupo. Seu segredo é incluído no novo grupo automaticamente. Para obter mais informações sobre grupos de segredos, confira Organizando seus segredos.
-
Opcional: inclua rótulos para ajudar a procurar segredos semelhantes em sua instância.
-
Opcional: inclua metadados em seu segredo ou em uma versão específica de seu segredo Faça o upload de um arquivo ou insira os metadados e os metadados da versão no formato JSON
-
Clique em Avançar.
-
Selecione uma configuração de autoridade de certificação.
A configuração que você seleciona determina a autoridade de certificação a ser usada para assinar e emitir o certificado. Para visualizar as configurações que são definidas para sua instância, é possível acessar Mecanismos de segredos > Certificados públicos.
-
Selecione o algoritmo chave a ser usado para gerar a chave pública para o seu certificado.
O algoritmo de chave que você selecionar determina o algoritmo de criptografia (RSA ou ECDSA) e o tamanho da chave a serem usados para gerar chaves e assinar certificados. Para certificados de vida útil mais longa,
é recomendável usar comprimentos de chave mais longos para fornecer mais proteção de criptografia. As opções incluem RSA2048, RSA4096, ECDSA256 e ECDSA384.
-
Opcional: ative opções avançadas para o certificado.
-
Para agrupar seu certificado emitido com certificados intermediários, alterne a alternância do agrupamento para Ativado. Depois que seus certificados forem agrupados, eles não poderão mais ser descompactados. Se você optar por não agrupar os certificados, isso não poderá ser alterado posteriormente, somente com a criação de um novo segredo.
-
Para habilitar a rotação automática para o certificado, alterne o botão de rotação para Ativado. Seu certificado é alternado 31 dias antes de expirar.
-
Para solicitar uma nova chave privada com o certificado em cada rotação, alterne o botão de rechave para Ativado.
-
Selecione uma configuração de provedor de DNS. A configuração que você selecionar determinará o provedor DNS para validar a propriedade de seus domínios. Para visualizar as configurações que são definidas para sua instância, é possível acessar Mecanismos de segredos > Certificados públicos.
-
Inclua os domínios a serem incluídos em sua solicitação.
-
Clique em Selecionar domínios.
-
A partir da sua lista de domínios, selecione o nome comum do certificado.
O nome comum é uma entrada opcional. Se o Common Name não for explicitamente especificado, o Let's encrypt atribui automaticamente o primeiro nome alternativo que não tenha mais de 64 caracteres como Common Name. Se esse nome alternativo não for encontrado, o certificado será emitido sem um nome comum.
Opcionalmente, você também pode adicionar manualmente domínios válidos usando o Adicione domínios manualmente campo.
-
Clique em Avançar.
-
Revise os detalhes do certificado.
-
Clique em Incluir.
Ao solicitar um certificado, a validação de domínio ocorre para verificar a propriedade de seus domínios selecionados. Esse processo pode levar alguns minutos para ser concluído. Depois de enviar os detalhes do seu certificado, o Secrets Manager envia sua solicitação para a autoridade de certificação selecionada. Depois que um certificado é emitido, é possível implementá-lo em seus aplicativos integrados, fazer download ou alterná-lo manualmente. Sua chave privada para SSL/TLS é gerada diretamente no Secrets Manager e armazenada de forma segura.
Precisa verificar o status do seu pedido? A partir da tabela Segredos, é possível verificar os detalhes de emissão do seu certificado clicando no ícone Ações > Visualizar detalhes.
Pedindo certificados públicos com provedores de DNS integrados por meio da CLI
Antes de começar, siga os documentos da CLI para definir seu endpoint de API.
Para pedir um certificado público com um provedor DNS integrado usando o plug-in da CLI do Secrets Manager, execute o exemplo de ibmcloud secrets-manager secret-create command.For, o comando a seguir solicita um segredo de certificado público da autoridade de certificação especificada.
Ao solicitar um certificado, a validação de domínio ocorre para verificar a propriedade de seus domínios selecionados. Esse processo pode levar alguns minutos para ser concluído.
ibmcloud secrets-manager secret-create \
--secret-name example-public-certificate \
--secret-description "Extended description for this secret." \
--secret-type public_cert \
--secret-group-id bc656587-8fda-4d05-9ad8-b1de1ec7e712 \
--secret-labels dev,us-south \
--public-cert-dns dns_provider \
--certificate-common-name cert_common_name \
--certificate-alt-names alt_name1,alt_name2 \
--public-cert-ca lets-encrypt-config \
--public-cert-key-algorithm RSA2048 \
--secret-rotation '{"auto_rotate": true, "rotate_keys": false}' \
--secret-custom-metadata '{"anyKey": "anyValue"}' \
--secret-version-custom-metadata '{"anyKey": "anyValue"}'
O comando gera o valor do ID do segredo, além de outros metadados. Para obter mais informações sobre as opções de comando, consulte ibmcloud secrets-manager secret-create.
Pedindo certificados públicos com provedores DNS integrados usando a API
É possível solicitar certificados programaticamente chamando a API do Secrets Manager.
O exemplo a seguir mostra uma consulta que pode ser usada para solicitar um certificado. Ao chamar a API, substitua as variáveis de ID e o token IAM pelos valores que são específicos para a sua instância do Secrets Manager.
É possível armazenar metadados relevantes para as necessidades de sua organização com os parâmetros de solicitação custom_metadata e version_custom_metadata. Os valores do version_custom_metadata são
retornados apenas para as versões de um segredo Os metadados customizados de seu segredo são armazenados como todos os outros metadados, para até 50 versões e você não deve incluir dados confidenciais.
Ao solicitar um certificado, a validação de domínio ocorre para verificar a propriedade de seus domínios selecionados. Esse processo pode levar alguns minutos para ser concluído.
curl -X POST
-H "Authorization: Bearer {iam_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-public-certificate",
"description": "Description of my public certificate",
"secret_type": "public_cert",
"secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
"labels": [
"dev",
"us-south"
],
"common_name": "example.com",
"alt_names": [
"s1.example.com",
"*.s2.example.com"
],
"ca": "lets-encrypt-config",
"dns": "cloud-internet-services-config",
"rotation": {
"auto_rotate": true,
"rotate_keys": true
},
"bundle_certs": true,
"custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"version_custom_metadata": {
"custom_version_key": "custom_version_value"
}
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"
Ao enviar os detalhes do seu certificado, o Secrets Manager envia sua solicitação para a autoridade de certificação selecionada. Depois que um certificado é emitido, é possível implementá-lo em seus aplicativos integrados, fazer download ou alterná-lo manualmente. Sua chave privada para SSL/TLS é gerada diretamente no Secrets Manager e armazenada de forma segura. Para obter mais informações sobre os parâmetros de solicitação obrigatórios e opcionais, consulte Criar um segredo.
Precisa verificar o status do seu pedido? Use a API Get secret metadata para verificar o campo resources.issuance_info para obter detalhes de emissão
sobre seu certificado.
Pedindo certificados públicos com provedores DNS integrados usando o Terraform
O exemplo a seguir mostra uma configuração que você pode usar para solicitar um certificado público.
resource "ibm_sm_public_certificate" "sm_public_certificate" {
instance_id = local.instance_id
region = local.region
name = "test-public-certificate"
secret_group_id = "default"
ca = ibm_sm_public_certificate_configuration_ca_lets_encrypt.my_lets_encrypt_config.name
dns = ibm_sm_public_certificate_configuration_dns_cis.my_cis_dns_config.name
rotation {
auto_rotate = true
rotate_keys = false
}
}
Simplifique o pedido de certificados públicos com o Terraform IBM Modules (TIM) para Secrets Manager Public Certificate, que lida com o gerenciamento do ciclo de vida do certificado por meio de código. Explore os módulos do Terraform IBM para conhecer as práticas recomendadas.
Pedindo certificados públicos com seu próprio provedor DNS na IU
Para criar um certificado público usando um provedor DNS manual na IU, conclua as etapas a seguir.
-
No console, clique no ícone Menu
> Lista de Recursos.
-
Na lista de serviços, selecione sua instância do Secrets Manager.
-
Na tabela Segredos, clique em Incluir.
-
Clique no bloco Pedir certificado público.
-
Inclua um nome e uma descrição para identificar facilmente o seu certificado.
-
Selecione o grupo de segredos que você deseja designar ao segredo. Você não tem um grupo de segredos? No campo Grupo de segredos, é possível clicar em Criar para fornecer um nome e uma descrição para um novo grupo. Seu segredo é incluído no novo grupo automaticamente. Para obter mais informações sobre grupos de segredos, confira Organizando seus segredos.
-
Opcional: inclua rótulos para ajudar a procurar segredos semelhantes em sua instância.
-
Opcional: inclua metadados em seu segredo ou em uma versão específica de seu segredo Faça o upload de um arquivo ou insira os metadados e os metadados da versão no formato JSON
-
Clique em Avançar.
-
Selecione uma configuração de autoridade de certificação. A configuração que você seleciona determina a autoridade de certificação a ser usada para assinar e emitir o certificado. Para visualizar as configurações que são definidas para sua instância, é possível acessar Mecanismos de segredos > Certificados públicos.
-
Selecione o algoritmo chave a ser usado para gerar a chave pública para o seu certificado. O algoritmo de chave que você selecionar determina o algoritmo de criptografia (
RSAouECDSA) e o tamanho da chave a serem usados para gerar chaves e assinar certificados. Para certificados de vida útil mais longa, é recomendável usar comprimentos de chave mais longos para fornecer mais proteção de criptografia. As opções incluemRSA2048,RSA4096,ECDSA256eECDSA384. -
Opcional: ative opções avançadas para o certificado.
-
Para agrupar seu certificado emitido com certificados intermediários, alterne a alternância do agrupamento para Ativado. Depois que seus certificados forem agrupados, eles não poderão mais ser descompactados. Se você optar por não agrupar os certificados, isso não poderá ser alterado posteriormente, somente com a criação de um novo segredo.
-
Para solicitar uma nova chave privada com o certificado em cada rotação, alterne o botão de rechave para Ativado.
-
Selecione Manual como seu provedor DNS.
-
Inclua os domínios a serem incluídos em sua solicitação.
É possível incluir até 100 domínios, subdomínios ou curingas. O nome comum, ou o nome completo do domínio do certificado, não pode exceder 64 caracteres de comprimento. Um curinga pode ser selecionado como o nome comum.
- Na seção Nome comum, na lista de domínios, selecione o Nome comum do certificado.
- Clique em Avançar.
- Revise os detalhes do certificado.
- Clique em Incluir.
- Verifique os detalhes de emissão de seu certificado clicando no ícone Ações
> Visualizar detalhes
- Clique em Desafios para acessar o nome e o valor do registro TXT que estão associados a cada um de seus domínios. Você precisa deles para completar os desafios.
- Para validar a propriedade de seus domínios, inclua manualmente os registros TXT que são fornecidos para cada um de seus domínios na conta do provedor DNS. Você deve abordar apenas os desafios que não são validados antes da data de expiração..
Se você pedir um certificado para um subdomínio, por exemplo, sub1.sub2.domain.com, será necessário incluir os registros TXT em seu domínio registrado domain.com
- Verifique se os registros TXT incluídos em seus domínios são propagados. Dependendo do seu provedor DNS, pode levar algum tempo para ser concluído.
- Depois de confirmar que os registros são propagados, clique em Validar para solicitar o Let' s Encrypt para validar os desafios para seus domínios e criar um certificado público
Se o pedido falhar porque os registros TXT não foram propagados com êxito, deve-se iniciar um novo pedido para continuar
- Quando seu certificado for emitido, limpe e remova os registros TXT dos domínios na conta do provedor DNS.
Pedindo certificados públicos com seu próprio provedor DNS usando a API
Para criar um certificado público usando um provedor de DNS manual, conclua as etapas a seguir:
-
Crie uma configuração de autoridade de certificação (CA) seguindo as etapas definidas em Incluindo uma configuração de CA.
-
Crie um novo certificado público especificando
manualcomo sua configuração DNS.curl -X POST -H "Authorization: Bearer {iam_token}" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d '{ "name": "example-public-certificate", "description": "description of my public certificate", "secret_type": "public_cert", "secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa", "labels": [ "dev", "us-south" ], "common_name": "example.com", "alt_names": [ "s1.example.com", "*.s2.example.com" ], "ca": "lets-encrypt-config", "dns": "manual", "rotation": { "auto_rotate": true, "rotate_keys": true }, "bundle_certs": true, "custom_metadata": { "metadata_custom_key": "metadata_custom_value" }, "version_custom_metadata": { "custom_version_key": "custom_version_value" } }' \ "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"Resposta de exemplo:
"metadata": { "collection_type": "application/vnd.ibm.secrets-manager.secret+json", "collection_total": 1 }, "resources": [ { "alt_names": [ "domain2", "domain3" ], "common_name": "domain1", "created_by": "User", "creation_date": "2022-09-13T06:21:33Z", "crn": "secret crn", "description": "Description for ordered certificate.", "downloaded": false, "id": "38747ae6-8c69-d745-5276-cdf3157b9021", "issuance_info": { "auto_rotated": false, "bundle_certs": false, "ca": "ca_config_name", "challenges": [ { "domain": "domain1", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain1.", "txt_record_value": "TA6J7fFYrwP3Jg-S_IAQSj2Ydqfw4Ycm4sMwlzuCcxk" }, { "domain": "domain2", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain2.", "txt_record_value": "qSDrCkFAViX4xANKuEPcMNairWm1PUtROm6kp9bmSS0" }, { "domain": "domain3", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain3.", "txt_record_value": "8dcgan91fW6aK3aIhPAVZRkHpbYEoMcCNPpVh1n4tSA" } ], "dns": "manual", "ordered_on": "2022-09-13T06:21:33Z", "state": 0, "state_description": "Pre-activation" }, "key_algorithm": "RSA2048", "labels": [], "last_update_date": "2022-09-13T06:21:33Z", "locks_total": 0, "name": "my-public-certificate", "rotation": { "auto_rotate": false, "rotate_keys": false }, "secret_type": "public_cert", "state": 0, "state_description": "Pre-activation", "versions": [], "versions_total": 1 } ] -
Conclua os desafios que são marcados como
pendingantes que eles expirem, incluindo os registros TXT que são especificados no desafio para seu domínio em sua conta do provedor DNS para verificar sua propriedade do domínio.Se você pedir um certificado para subdomínios, por exemplo,
sub1.sub2.domain.com, será necessário incluir os registros TXT em seu domínio registradodomain.com -
Valide se os registros TXT incluídos foram propagados. Dependendo do seu provedor DNS, pode levar algum tempo para ser concluído.
-
Após os registros serem propagados, chame a API Secrets Manager Criar uma ação secreta para solicitar o Let' s Encrypt para validar os desafios para seu domínio e criar um certificado público.
curl -X POST --header "Authorization: Bearer {iam_token}" --header "Accept: application/json" --header "Content-Type: application/json" --data '{ "action_type": "public_cert_action_validate_dns_challenge" }'\ "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/actions"Se você precisar atualizar seu certificado posteriormente, poderá usar a API Criar uma ação secreta, mas com a ação
rotate. No entanto, não é possível alternar automaticamente os certificados manuais do provedor de DNS em Secrets Manager. -
Quando seu certificado for emitido, limpe e remova os registros TXT dos domínios na conta do provedor DNS.
Deseja automatizar a criação de seus certificados públicos? Se seus domínios forem configurados por meio de um provedor de DNS, será possível criar um script para concluir os desafios. Alguns provedores de DNS oferecem uma API que verifica
se os novos registros são totalmente transmitidos. Se o seu provedor DNS não oferece essa opção, você pode configurar o seu cliente para esperar por um período de tempo especificado, às vezes até uma hora. Em Secrets Manager, depois de chamar
validate-dns-challenges, você pode verificar o status da emissão do certificado obtendo os metadados do certificado. Quando o campo IssuanceInfo.State retornado for alterado para active, o certificado
será emitido.
Pedindo certificados públicos com seu próprio provedor DNS usando a CLI
Para pedir um certificado público com seu próprio provedor DNS usando o plug-in da CLI do Secrets Manager, execute o comando ibmcloud secrets-manager secret-create.
Por exemplo, o comando a seguir solicita um segredo de certificado público da autoridade de certificação especificada.
Ao solicitar um certificado, a validação de domínio ocorre para verificar a propriedade de seus domínios selecionados. Esse processo pode levar alguns minutos para ser concluído.
ibmcloud secrets-manager secret-create \
--secret-name example-public-certificate \
--secret-description "Extended description for this secret." \
--secret-type public_cert \
--secret-group-id bc656587-8fda-4d05-9ad8-b1de1ec7e712 \
--secret-labels dev,us-south \
--public-cert-dns manual \
--certificate-common-name cert_common_name \
--certificate-alt-names alt_name1,alt_name2 \
--public-cert-ca lets-encrypt-config \
--public-cert-key-algorithm RSA2048 \
--secret-rotation '{"enabled": false, "rotate_keys": false}' \
--secret-custom-metadata '{"anyKey": "anyValue"}' \
--secret-version-custom-metadata '{"anyKey": "anyValue"}'
O comando gera o valor do ID do segredo, além de outros metadados. Para obter mais informações sobre as opções de comando, consulte ibmcloud secrets-manager secret-create.
Pedindo certificados públicos com o provedor DNS Akamai usando o Terraform
Para criar um certificado público usando o Akamai como seu provedor DNS, conclua as etapas a seguir.
-
Crie uma configuração de autoridade de certificação (CA) seguindo as etapas definidas em Incluindo uma configuração de CA.
-
Crie um novo certificado público especificando
akamaicomo sua configuração DNS. -
Use um dos seguintes métodos de autenticação da Akamai. É possível usar um arquivo
edgercou fornecer diretamente suas credenciais de autenticação do Akamai. Saiba mais sobre as credenciais de autenticação do Akamai.-
Forneça o caminho para o seu arquivo
.edgerce oconfig_sectionrelevanteresource "ibm_sm_public_certificate" "sm_public_certificate" { instance_id = local.instance_id region = local.region name = "test-public-certificate" secret_group_id = "default" ca = ibm_sm_public_certificate_configuration_ca_lets_encrypt.my_lets_encrypt_config.name dns = “akamai” akamai { edgerc { path_to_edgerc = “/path/to/your/edgerc/file” config_section = “default” } } rotation { auto_rotate = true rotate_keys = false } } ``` -
Forneça suas credenciais de autenticação da Akamai.
resource "ibm_sm_public_certificate" "sm_public_certificate" { instance_id = local.instance_id region = local.region name = "test-public-certificate" secret_group_id = "default" ca = ibm_sm_public_certificate_configuration_ca_lets_encrypt.my_lets_encrypt_config.name dns = “akamai” akamai { config { client_secret = “your_client_secret” host = “your_host” access_token = "your_access_token" client_token = "your_client_token" } } rotation { auto_rotate = true rotate_keys = false } } ```
-
Os registros TXT recém-criados que estão nos domínios relevantes na Akamai não são excluídos automaticamente.
Pedindo certificados públicos com seu próprio provedor DNS usando o Terraform
-
Crie uma configuração de autoridade de certificação (CA) seguindo as etapas definidas em Incluindo uma configuração de CA.
-
Crie um novo certificado público especificando
manualcomo sua configuração DNS.resource "ibm_sm_public_certificate" "sm_public_certificate" { instance_id = local.instance_id region = local.region name = "test-public-certificate" secret_group_id = "default" ca = ibm_sm_public_certificate_configuration_ca_lets_encrypt.my_lets_encrypt_config.name dns = “manual” rotation { auto_rotate = true rotate_keys = false } }Resposta de exemplo:
{ "alt_names": [ "domain2", "domain3" ], "bundle_certs": false, "ca": "ca_config_name", "common_name": "domain1", "created_by": "User", "creation_date": "2022-09-13T06:21:33Z", "crn": "secret crn", "description": "Description for ordered certificate.", "downloaded": false, "id": "38747ae6-8c69-d745-5276-cdf3157b9021", "issuance_info": { "auto_rotated": false, "challenges": [ { "domain": "domain1", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain1.", "txt_record_value": "TA6J7fFYrwP3Jg-S_IAQSj2Ydqfw4Ycm4sMwlzuCcxk" }, { "domain": "domain2", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain2.", "txt_record_value": "qSDrCkFAViX4xANKuEPcMNairWm1PUtROm6kp9bmSS0" }, { "domain": "domain3", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain3.", "txt_record_value": "8dcgan91fW6aK3aIhPAVZRkHpbYEoMcCNPpVh1n4tSA" } ], "dns": "manual", "ordered_on": "2022-09-13T06:21:33Z", "state": 0, "state_description": "Pre-activation" }, "key_algorithm": "RSA2048", "labels": [], "last_update_date": "2022-09-13T06:21:33Z", "locks_total": 0, "name": "my-public-certificate", "rotation": { "auto_rotate": false, "rotate_keys": false }, "secret_type": "public_cert", "state": 0, "state_description": "Pre-activation", "versions": [], "versions_total": 1 } -
Conclua os desafios que são marcados como
pendingantes que eles expirem, incluindo os registros TXT que são especificados no desafio para seu domínio em sua conta do provedor DNS para verificar sua propriedade do domínio.Se você pedir um certificado para subdomínios, por exemplo,
sub1.sub2.domain.com, será necessário incluir os registros TXT em seu domínio registradodomain.com -
Valide se os registros TXT incluídos foram propagados. Dependendo do seu provedor DNS, pode levar algum tempo para ser concluído.
-
Após os registros serem propagados, solicite o Let' s Encrypt para validar os desafios para seu domínio e criar um certificado público.
Você pode fazer isso usando o recurso
ibm_sm_public_certificate_action_validate_manual_dnsdo Terraform, conforme mostrado no exemplo a seguir de uma configuração:resource "ibm_sm_public_certificate_action_validate_manual_dns" "sm_public_certificate_action_validate_manual_dns_instance" { instance_id = local.instance_id region = local.region secret_id = ibm_sm_public_certificate.sm_public_certificate.secret_id }É possível usar Metaargumento
depends_ondo Terraform para assegurar que a configuração do Terraform esteja sendo criada na ordem lógica correta, conforme mostrado nestas instruções.
Como alternativa, é possível chamar a API Secrets Manager Criar uma ação secreta para solicitar a Let' s Encrypt para validar os desafios para seu domínio e criar um certificado público.
curl -X POST --header "Authorization: Bearer {iam_token}" --header "Accept: application/json" --header "Content-Type: application/json" --data '{ "action_type": "public_cert_action_validate_dns_challenge" }'\ "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/actions" -
Depois que o certificado for emitido (o estado dele é
active), você deverá executar o comando do Terraformterraform applynovamente para atualizar o recurso do Terraform do seu certificado público e usar o certificado recém-emitido. -
Limpe e remova os registros TXT dos domínios em sua conta do provedor DNS.