Creación de entidades emisoras de certificados raíz

Con IBM Cloud® Secrets Manager, puede crear y gestionar su propio sistema de infraestructura de claves públicas (PKI) creando entidades emisoras de certificados (CA) raíz e intermedia.

Una entidad emisora de certificados (CA) es la entidad que firma y emite los certificados SSL/TLS. Si buscas la posibilidad de generar rápidamente un certificado autofirmado, puedes utilizar Secrets Manager para crear una CA raíz firmada internamente. Puede utilizar esta CA como ancla de confianza para una cadena de certificados. Después de crear una CA raíz para su instancia, puede utilizarla para firmar una CA subordinada o de nivel inferior, por ejemplo, otras autoridades de certificación intermedias que cree en el servicio.

Puede crear hasta 10 entidades emisoras de certificados raíz por instancia. Para ver una lista de configuraciones disponibles para su instancia, vaya a la página Motores de secretos > Certificados privados de la interfaz de usuario de Secrets Manager.

Antes de empezar

Antes de empezar, asegúrese de que tiene el nivel de acceso necesario. Para gestionar configuraciones de motor para su instancia, necesita el rol de servicio Gestor o superior.

Creación de una entidad emisora de certificados raíz en la interfaz de usuario

Puede crear una autoridad de certificación raíz firmada internamente para su instancia de servicio utilizando la interfaz de usuario Secrets Manager.

  1. En la consola, pulse el icono Menú Icono de menú > Lista de recursos.

  2. En la lista de servicios, seleccione la instancia de Secrets Manager.

  3. En la página Motores de secretos, pulse la pestaña Certificados privados.

  4. En la tabla Entidades emisoras de certificados, pulse Crear entidad emisora de certificados para iniciar el asistente de creación.

  5. Especifique el tipo y las opciones de la entidad emisora de certificados.

    1. Seleccione Entidad emisora de certificados raíz como tipo de autorización.
    2. Especifique un nombre para identificar fácilmente la entidad emisora de certificados.
    3. Seleccione un tiempo de vida (TTL) máximo para el certificado que se va a generar para esta CA. El TTL determina el tiempo de validez del certificado de CA.
    4. Seleccione el número máximo de certificados intermedios subordinados o de nivel inferior que pueden existir en la cadena.
    5. Para codificar el URL del certificado de la CA emisora en los certificados de CA intermedios, establezca la opción Codificar URL en Habilitado.
  6. Especifique los campos de nombre de asunto para el certificado de CA raíz.

  7. Seleccione el servicio de gestión de claves. Elija el servicio Secrets Manager para crear las claves de entidad emisora de certificados raíz internamente por el servicio, o elija Hyper Protect Crypto Services (HPCS). Si se selecciona HPCS, realice las siguientes tareas:

    1. Seleccione su instancia HPCS o introduzca manualmente el CRN de su instancia HPCS

    2. Seleccione el secreto de Credenciales IAM que se creó anteriormente para autenticarse con HPCS.

      Una vez que la credencial IAM ha sido establecida en la configuración de la CA, no puede ser reemplazada posteriormente.

    3. Seleccione el almacén de claves privadas HPCS de la lista de almacenes de claves o introduzca el ID del almacén de claves manualmente.

    4. Elija entre utilizar las claves existentes o generar claves nuevas. En caso de seleccionar una clave privada HPCS existente o de introducir un ID de clave privada manualmente, asegúrese de que existe una clave pública y de que tiene el mismo ID que la clave privada en el almacén de claves privadas.

      En caso de que elija generar nuevas claves, éstas no serán borradas por Secrets Manager en caso de que la configuración sea eliminada.

  8. Seleccione el algoritmo de clave que desea utilizar para generar la clave pública y privada para el certificado de CA.

  9. Determine si desea habilitar los puntos de distribución y de creación de la lista de revocación de certificados (CRL) para el certificado de CA.

    Una CRL es una lista de certificados revocados por la autoridad de certificación emisora antes de su fecha de caducidad prevista. Las aplicaciones ya no pueden confiar en un certificado que se lista como parte de una CRL.

    1. Para crear una CRL para su CA raíz con cada solicitud de certificado, establezca la opción de creación de CRL en Activado.
    2. Para codificar el URL de la lista de revocación en el certificado de CA raíz, establezca la opción Puntos de distribución de CRL en Habilitado.
    3. Seleccione un tiempo de vida (TTL) de la CRL generada. El TTL determina cuánto el tiempo de validez de la CRL.
  10. Revise sus selecciones. Para crear la CA raíz, pulse Crear.

Ahora puede seleccionar esta CA raíz cuando cree una CA intermedia con firma interna. Para modificar o eliminar una configuración existente, pulse en el menú Acciones Icono Acciones de la fila de la entidad emisora de certificados que desea actualizar.

Creación de una entidad emisora de certificados raíz con la API

Puede crear una autoridad de certificación raíz firmada internamente para su instancia de servicio llamando a la API Secrets Manager.

El ejemplo siguiente muestra una consulta que puede utilizar para crear una entidad emisora de certificados raíz.

curl -X POST
  --H "Authorization: Bearer {iam_token}" \
  --H "Accept: application/json" \
  --H "Content-Type: application/json" \
  --d '{
  "config_type": "private_cert_configuration_root_ca",
  "name": "test-root-CA",
  "common_name": "example.com",
  "crl_disable": false,
  "crl_distribution_points_encoded": true,
  "issuing_certificates_urls_encoded": true,
  "max_ttl": "43830h"
}' \  
  "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"

Si trae su propio HSM, incluya lo siguiente en la solicitud:

"crypto_key": {
    "label": "my_key",
    "allow_generate_key": true,
    "provider": {
      "type": "hyper_protect_crypto_services",
      "instance_crn": "replace_with_hpcs_crn::",
      "pin_iam_credentials_secret_id": "replace_with_iam_credentials_secret_guid",
      "private_keystore_id": "replace_with_keystore_id"
    }
  }

Una respuesta satisfactoria añade la configuración a la instancia de servicio.

{
  "common_name": "example.com",
  "config_type": "private_cert_configuration_root_ca",
  "created_at": "2022-06-27T11:58:15Z",
  "created_by": "iam-ServiceId-e4a2f0a4-3c76-4bef-b1f2-fbeae11c0f21",
  "crl_disable": false,
  "crl_distribution_points_encoded": true,
  "data": {
    "certificate": "-----BEGIN CERTIFICATE-----\nMIIGRjCCBS6gAwIBAgIUSKW6zI+E9JU4bva\n-----END CERTIFICATE-----",
    "expiration": 1825612535,
    "issuing_ca": "-----BEGIN CERTIFICATE-----\nMIIGRjCCBS6gAwIBAgIUSKW6zI+E9JU4bvad\n-----END CERTIFICATE-----",
    "serial_number": "48:a5:ba:cc:8f:84:f4:95:38:6e:f6:9d:9e:d7:8f:d8:43:d3:55:bd"
  },
  "exclude_cn_from_sans": false,
  "format": "pem",
  "issuing_certificates_urls_encoded": true,
  "max_path_length": -1,
  "max_ttl_seconds": 31536000,
  "name": "test-root-CA",
  "private_key_format": "der",
  "secret_type": "private_cert",
  "updated_at": "2022-10-05T21:33:11Z"
}

Para obtener más información sobre los parámetros de solicitud obligatorios y opcionales, consulte Añadir una configuración.

Creación de una autoridad de certificación raíz desde la CLI

Puede crear una entidad emisora de certificados raíz firmada internamente para la instancia de servicio utilizando el mandato ibmcloud secrets-manager configuration-create.

El siguiente ejemplo muestra un comando que puede utilizar para crear una autoridad de certificación raíz.

ibmcloud secrets-manager configuration-create
  --configuration-prototype='{
    "config_type": "private_cert_configuration_root_ca",
    "name": "example-root-CA",
    "max_ttl": "43830h",
    "crl_expiry": "72h",
    "crl_disable": false,
    "crl_distribution_points_encoded": true,
    "issuing_certificates_urls_encoded": true,
    "common_name": "example.com",
    "alt_names": [
      "alt-name-1","alt-name-2"
      ],
    "ip_sans": "127.0.0.1",
    "uri_sans": "https://www.example.com/test",
    "other_sans": ["1.2.3.5.4.3.201.10.4.3;utf8:test@example.com"],
    "ttl": "2190h",
    "format": "pem",
    "private_key_format": "der",
    "key_type": "rsa",
    "key_bits": 4096,
    "max_path_length": -1,
    "exclude_cn_from_sans": false,
    "permitted_dns_domains": ["exampleString"],
    "ou": ["exampleString"],
    "organization": ["exampleString"],
    "country": ["exampleString"],
    "locality": ["exampleString"],
    "province": ["exampleString"],
    "street_address": ["exampleString"],
    "postal_code": ["exampleString"],
    "serial_number": "d9:be:fe:35:ba:09:42:b5:35:ba:09:42:b5"
  }'

Si trae su propio HSM, incluya lo siguiente en el comando:

"crypto_key": {
    "label": "my_key",
    "allow_generate_key": true,
    "provider": {
      "type": "hyper_protect_crypto_services",
      "instance_crn": "replace_with_hpcs_crn::",
      "pin_iam_credentials_secret_id": "replace_with_iam_credentials_secret_guid",
      "private_keystore_id": "replace_with_keystore_id"
    }
  }

Creación de una autoridad de certificación raíz con Terraform

Puede crear una entidad emisora de certificados raíz firmada internamente para la instancia de servicio utilizando Terraform para Secrets Manager.

El siguiente ejemplo muestra una configuración que puede utilizar para crear una entidad emisora de certificados raíz.

    resource "ibm_sm_private_certificate_configuration_root_ca" "test_root_ca" {
        instance_id = local.instance_id
        region = local.region
        name = "test-root-ca"
        common_name = "root.example.com"
        max_ttl = "3650d"
        issuing_certificates_urls_encoded = true
    }

Si trae su propio HSM, incluya lo siguiente en la configuración:

crypto_key {
    label = "my_key"
    allow_generate_key = true
    provider {
      type = "hyper_protect_crypto_services"
      instance_crn = "replace_with_hpcs_crn::"
      pin_iam_credentials_secret_id = "replace_with_iam_credentials_secret_guid"
      private_keystore_id = "replace_with_keystore_id"
    }
}

Recuperación de una autoridad de certificación raíz en la interfaz de usuario

Puede recuperar el valor de la entidad emisora de certificados raíz utilizando la interfaz de usuario de Secrets Manager.

  1. En el motor de secretos Certificados públicos, pulse el menú Acciones Icono Acciones para abrir una lista de opciones para la configuración del motor.
  2. Para ver el valor de configuración, haga clic en Ver configuración.
  3. Pulse Confirmar después de asegurarse de que está en un entorno seguro.

El valor de secreto se visualiza durante 15 segundos y, a continuación, se cierra el diálogo.

Recuperación de una entidad emisora de certificados raíz utilizando la CLI

Puede recuperar el valor de la entidad emisora de certificados raíz utilizando la CLI Secrets Manager. En el siguiente mandato de ejemplo, sustituya el nombre de configuración del motor por el nombre de la configuración.

ibmcloud secrets-manager configuration --name EXAMPLE_CONFIG --service-url https://{instance_ID}.{region}.secrets-manager.appdomain.cloud

Sustituya {instance_ID} y {region} por los valores que se aplican a la instancia de servicio de Secrets Manager. Para encontrar el URL de punto final específico de la instancia, puede copiarlo de la página Puntos finales en la interfaz de usuario de Secrets Manager. Para obtener más información, consulte Visualización de URL de punto final

Recuperación de una entidad emisora de certificados raíz utilizando la API

Puede recuperar el valor de la entidad emisora de certificados raíz utilizando la API Secrets Manager. En la siguiente solicitud de ejemplo, sustituya el nombre de configuración del motor por el nombre de la configuración.

curl -X GET --location --header "Authorization: Bearer {iam_token}" \
--header "Accept: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/{name}"

Sustituya {instance_ID} y {region} por los valores que se aplican a la instancia de servicio de Secrets Manager. Para encontrar el URL de punto final específico de la instancia, puede copiarlo de la página Puntos finales en la interfaz de usuario de Secrets Manager. Para obtener más información, consulte Visualización de URL de punto final

Una respuesta correcta devuelve el valor de la configuración del motor, junto con otros metadatos. Para obtener más información sobre los parámetros de solicitud obligatorios y opcionales, consulta Obtener un secreto.

Próximos pasos