Création d'autorités de certification intermédiaires

Une autorité de certification intermédiaire (CA) est une autorité de certification de niveau inférieur qui peut signer et émettre des certificats à une entité finale, telle qu'une application ou un site Web. Dans IBM Cloud® Secrets Manager, vous pouvez utiliser une autorité de certification intermédiaire pour créer des Certificats privés.

Si vous avez déjà créé une autorité de certification parent dans votre instance Secrets Manager , par exemple une autorité de certification racine ou une autorité de certification intermédiaire, vous pouvez l'utiliser pour signer et émettre une autorité de certification intermédiaire. Si vous avez créé l'autorité de certification parent ailleurs en dehors de Secrets Manager, vous pouvez également utiliser cette autorité de certification pour signer une autorité de certification intermédiaire.

Vous pouvez créer jusqu'à 10 autorités de certification intermédiaires par instance. Pour afficher la liste des configurations disponibles pour votre instance, accédez à la page Moteurs Secrets > Certificats privés de l'interface utilisateur Secrets Manager .

Avant de commencer

Avant de commencer, vérifiez que vous disposez du niveau d'accès requis. Pour gérer les configurations de moteur pour votre instance, vous devez utiliser le rôle de service Responsable ou supérieur.

Méthodes de signature prises en charge

Le service offre deux options:

Options pour la création d'une AC intermédiaire
Options de signature Utilisation
Signé en interne Vous construisez une chaîne de certificats qui utilise une autorité de certification parent existante, par exemple une autorité de certification racine ou une autre autorité de certification intermédiaire, comme point d'ancrage de confiance. L'autorité de certification parent a déjà été créée dans la même instance Secrets Manager .
Signé en externe Si vous avez créé une autorité de certification parent hors ligne ou dans une autre instance de service Secrets Manager , vous pouvez utiliser l'autorité de certification externe pour signer et émettre une autorité de certification intermédiaire.

Actions de configuration non prises en charge dans Terraform

Les actions suivantes ne sont pas prises en charge.

  • Rotation de la liste de révocation de certificat
  • Révoquer l'autorité de certification

Création d'une autorité de certification intermédiaire avec signature interne dans l'interface utilisateur

Une autorité de certification intermédiaire avec signature interne utilise une autorité de certification parent précédemment créée dans votre instance Secrets Manager comme point d'ancrage de confiance. Vous pouvez créer une autorité de certification intermédiaire avec signature interne à l'aide de l'interface utilisateur Secrets Manager .

  1. Dans la console, cliquez sur l'icône Menu Icône de menu > Liste de ressources.

  2. Dans la liste des services, sélectionnez votre instance Secrets Manager .

  3. Dans la page Moteurs Secrets , cliquez sur l'onglet Certificats privés .

  4. Dans la table des Autorités de certification, cliquez sur Créer une autorité de certification pour démarrer l'assistant de création.

  5. Indiquez le type et les options de l'autorité de certification.

    1. Sélectionnez l'Autorité de certification intermédiaire comme type d'autorisation.
    2. Sélectionnez Signature interne. Dans la liste des autorités de certification configurées, choisissez l'autorité de certification que vous souhaitez utiliser comme émetteur du certificat d'autorité de certification intermédiaire.
    3. Entrez un nom pour identifier facilement votre autorité de certification.
    4. Sélectionnez une durée de vie maximale (TTL) pour le certificat à générer pour cette autorité de certification. TTL détermine la durée de validité du certificat de l'autorité de certification.
    5. Sélectionnez le nombre maximal de certificats d'entité finale pouvant exister dans la chaîne.
    6. Pour coder l'URL de certificat de l'autorité de certification émettrice dans les certificats d'entité finale, définissez l'option Encode URL sur Activé.
  6. Entrez les zones de nom de sujet pour votre certificat d'autorité de certification racine.

  7. Sélectionnez le service de gestion des clés. Choisissez le service Secrets Manager pour créer les clés de l'autorité de certification racine en interne par le service, ou choisissez Hyper Protect Crypto Services (HPCS). Si l'option HPCS est sélectionnée, effectuez les tâches suivantes :

    1. Sélectionnez votre instance HPCS ou saisissez manuellement le CRN de votre instance HPCS

    2. Sélectionnez le secret IAM Credentials qui a été créé précédemment pour l'authentification avec HPCS.

      Une fois que l'identifiant IAM a été défini dans la configuration de l'autorité de certification, il ne peut pas être remplacé ultérieurement.

    3. Sélectionnez le keystore privé HPCS dans la liste des keystores ou entrez manuellement l'ID du keystore.

    4. Choisissez d'utiliser les clés existantes ou d'en créer de nouvelles. En cas de sélection d'une clé privée HPCS existante ou de saisie manuelle d'un identifiant de clé privée, assurez-vous qu'une clé publique existe et qu'elle possède le même identifiant que la clé privée dans la base de données privée.

      Si vous choisissez de générer de nouvelles clés, celles-ci ne seront pas supprimées par Secrets Manager en cas de suppression de la configuration.

  8. Sélectionnez l'algorithme clé que vous souhaitez utiliser pour générer la clé publique et privée pour votre certificat d'autorité de certification.

  9. Déterminez si vous souhaitez activer la liste de révocation de certificat (CRL) et les points de distribution pour votre certificat d'autorité de certification.

    Une CRL est une liste de certificats révoqués par l'autorité de certification émettrice avant leur date d'expiration prévue. Un certificat répertorié comme faisant partie d'une CRL ne peut plus être sécurisé par des applications.

    1. Pour créer une CRL pour votre autorité de certification intermédiaire à chaque demande de certificat, définissez l'option de création de CRL sur Activé.
    2. Pour coder l'URL de la liste de révocation dans le certificat de CA intermédiaire, définissez l'option Points de distribution de CRL sur Activé.
    3. Sélectionnez une durée de vie (TTL) de la CRL générée. La TTL détermine la durée de validité de la CRL..
  10. Examinez vos sélections. Pour créer l'autorité de certification intermédiaire, cliquez sur Créer.

Vous pouvez maintenant sélectionner cette autorité de certification intermédiaire dans Générer un certificat privé. Pour modifier ou supprimer une configuration existante, cliquez sur le menu Actions Icône Actions dans la ligne de l'autorité de certification à mettre à jour.

Création d'une AC intermédiaire avec signature interne avec l'API

Une autorité de certification intermédiaire avec signature interne utilise une autorité de certification parent précédemment créée dans votre instance Secrets Manager comme point d'ancrage de confiance. Vous pouvez créer une autorité de certification intermédiaire avec une signature interne en utilisant l'API Secrets Manager.

Etape 1: Création d'une autorité de certification intermédiaire avec signature interne

L'exemple suivant illustre une requête que vous pouvez utiliser pour créer une autorité de certification intermédiaire avec signature interne. Dans le corps de la demande, définissez la valeur de l'attribut signing_method sur internal. Utilisez l'attribut issuer pour spécifier l'autorité de certification parent.

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

Si vous apportez votre propre HSM, veuillez inclure les éléments suivants dans votre demande :

"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"
    }
  }

Etape 2: Signer l'autorité de certification intermédiaire

L'exemple suivant illustre une requête que vous pouvez utiliser pour signer l'autorité de certification intermédiaire que vous avez créée à l'étape 1.

curl -X POST
  --H "Authorization: Bearer {iam_token}" \
  --H "Accept: application/json" \
  --H "Content-Type: application/json" \
  --d -d '{
  "action_type": "private_cert_configuration_action_sign_intermediate",
  "intermediate_certificate_authority": "example-intermediate-CA"
}' \  
  "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/example-root-CA/actions"

Création d'une autorité de certification intermédiaire avec signature externe dans l'interface utilisateur

Une autorité de certification intermédiaire avec signature externe utilise une autorité de certification parent à partir d'un système PKI externe, ou même d'une autre instance Secrets Manager , comme point d'ancrage de confiance. L'autorité de certification parent peut être une autorité de certification racine ou une autorité de certification intermédiaire.

Etape 1: Création d'une autorité de certification intermédiaire et d'une demande de signature

Vous pouvez créer un certificat d'autorité de certification intermédiaire qui utilise la signature externe dans l'interface utilisateur Secrets Manager .

  1. Dans la console, cliquez sur l'icône Menu Icône de menu > Liste de ressources.

  2. Dans la liste des services, sélectionnez votre instance Secrets Manager .

  3. Dans la page Moteurs Secrets , cliquez sur l'onglet Certificats privés .

  4. Dans la table des Autorités de certification, cliquez sur Créer une autorité de certification pour démarrer l'assistant de création.

  5. Indiquez le type et les options de l'autorité de certification.

    1. Sélectionnez l'Autorité de certification intermédiaire comme type d'autorisation.
    2. Sélectionnez Signature externe.
    3. Entrez un nom pour identifier facilement votre autorité de certification.
    4. Sélectionnez une durée de vie maximale (TTL) pour le certificat à générer pour cette autorité de certification. TTL détermine la durée de validité du certificat de l'autorité de certification.
    5. Pour coder l'URL de certificat de l'autorité de certification émettrice dans les certificats d'entité finale, définissez l'option Encode URL sur Activé.
  6. Entrez les zones de nom de sujet pour votre certificat d'autorité de certification intermédiaire.

  7. Sélectionnez le service de gestion des clés. Choisissez le service Secrets Manager pour créer les clés de l'autorité de certification racine en interne par le service, ou choisissez Hyper Protect Crypto Services (HPCS). Si l'option HPCS est sélectionnée, effectuez les tâches suivantes :

    1. Sélectionnez votre instance HPCS ou saisissez manuellement le CRN de votre instance HPCS

    2. Sélectionnez le secret IAM Credentials qui a été créé précédemment pour l'authentification avec HPCS.

      Une fois que l'identifiant IAM a été défini dans la configuration de l'autorité de certification, il ne peut pas être remplacé ultérieurement.

    3. Sélectionnez le keystore privé HPCS dans la liste des keystores ou entrez manuellement l'ID du keystore.

    4. Choisissez d'utiliser les clés existantes ou d'en créer de nouvelles. En cas de sélection d'une clé privée HPCS existante ou de saisie manuelle d'un identifiant de clé privée, assurez-vous qu'une clé publique existe et qu'elle possède le même identifiant que la clé privée dans la base de données privée.

      Si vous choisissez de générer de nouvelles clés, celles-ci ne seront pas supprimées par Secrets Manager en cas de suppression de la configuration.

  8. Sélectionnez l'algorithme clé que vous souhaitez utiliser pour générer la clé publique et privée pour votre certificat d'autorité de certification.

  9. Déterminez si vous souhaitez activer la liste de révocation de certificat (CRL) et les points de distribution pour votre certificat d'autorité de certification.

    Une CRL est une liste de certificats révoqués par l'autorité de certification émettrice avant leur date d'expiration planifiée. Un certificat répertorié comme faisant partie d'une CRL ne peut plus être sécurisé par des applications.

    1. Pour créer une CRL pour votre autorité de certification intermédiaire à chaque demande de certificat, définissez l'option de création de CRL sur Activé.
    2. Pour coder l'URL de la liste de révocation dans le certificat de CA intermédiaire, définissez l'option Points de distribution de CRL sur Activé.
    3. Sélectionnez une durée de vie (TTL) de la CRL générée. La TTL détermine la durée de validité de la CRL..
  10. Examinez vos sélections. Pour créer l'autorité de certification intermédiaire, cliquez sur Créer.

L'autorité de certification intermédiaire est ajoutée à votre liste de configurations pour votre instance avec un statut Signature requise . Avant de pouvoir utiliser cette autorité de certification intermédiaire pour émettre des certificats privés, vous devez la signer à l'aide du certificat d'autorité de certification parent que vous avez créé dans votre système PKI externe.

Etape 2: Signer une Autorité de certification intermédiaire avec une Autorité de certification externe

Lorsque vous créez une autorité de certification intermédiaire sur le site Secrets Manager et que vous souhaitez la signer à l'aide d'une autorité de certification externe, une demande de signature de certificat(CSR)Message électronique qu'une organisation envoie à une autorité de certification pour obtenir un certificat. La demande comprend une clé publique et est signée à l'aide d'une clé privée. L'autorité de certification retourne le certificat après l'avoir signé avec sa propre clé privée. est générée. Vous pouvez utiliser le CSR pour signer et émettre votre certificat d'autorité de certification intermédiaire.

  1. Dans l'interface utilisateur Secrets Manager , accédez à Moteurs Secrets > Certificats privés.

  2. Dans la ligne de l'AC intermédiaire que vous souhaitez signer, cliquez sur le menu Actions Icône Actions > Certificat de signature.

  3. Copiez ou téléchargez le CSR.

  4. Utilisez le CSR pour signer votre certificat d'autorité de certification intermédiaire.

    Vous pouvez choisir parmi différents outils, tels que openssl, pour signer un fichier CSR. Par exemple, la commande openssl suivante utilise un fichier CSR que vous avez téléchargé à partir de Secrets Manager et utilise un fichier de AC codé en PEM et sa clé privée associée pour émettre un certificat de AC signé.

    openssl x509 -req -in <intermediate-ca-csr-file> -CA <external-parent-ca-file> -CAkey <external-ca-key-file> -out <signed-intermediate-ca-file>
    

    La commande génère un fichier de certificat d'autorité de certification intermédiaire signé que vous pouvez ensuite importer dans votre instance Secrets Manager pour terminer le processus de signature.

Etape 3: Importation d'une AC intermédiaire signée dans votre instance

Une fois que vous avez signé un certificat d'autorité de certification intermédiaire à l'aide d'une autorité de certification parent externe, vous pouvez l'importer dans votre instance à l'aide de l'interface utilisateur Secrets Manager .

  1. Dans l'interface utilisateur Secrets Manager , accédez à Moteurs Secrets > Certificats privés.

  2. Dans la ligne de l'autorité de certification intermédiaire que vous avez signée, cliquez sur le menu Actions Icône Actions > Certificat de signature.

  3. Sélectionnez ou entrez le fichier de certificat d'autorité de certification intermédiaire signé que vous avez signé à l'étape précédente.

  4. Cliquez sur Signer pour terminer le processus de signature externe.

    L'AC intermédiaire signée est ajoutée à votre liste de configurations pour votre instance avec un statut Actif . Vous pouvez maintenant utiliser cette autorité de certification intermédiaire pour Créer des certificats privés pour vos applications. Pour modifier ou supprimer une configuration existante, cliquez sur le menu Actions Icône Actions dans la ligne de l'autorité de certification à mettre à jour.

Création d'une AC intermédiaire avec signature externe à l'aide de l'API

Une autorité de certification intermédiaire avec signature externe utilise une autorité de certification parent à partir d'un système PKI externe, ou même d'une autre instance Secrets Manager , comme point d'ancrage de confiance. L'autorité de certification parent peut être une autorité de certification racine ou une autorité de certification intermédiaire. Vous pouvez créer une autorité de certification intermédiaire avec une signature externe en utilisant l'API Secrets Manager.

Etape 1: Création d'une autorité de certification intermédiaire et d'une demande de signature

L'exemple suivant illustre une requête que vous pouvez utiliser pour créer une autorité de certification intermédiaire avec une signature externe. Dans le corps de la demande, définissez la valeur de l'attribut signing_method sur external.

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

Si vous apportez votre propre HSM, veuillez inclure les éléments suivants dans votre demande :

"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"
    }
  }

Copiez la demande de signature de certificat à partir des données JSON de réponse. La valeur CSR est imbriquée dans la valeur de l'attribut data de la réponse. Vous pouvez également utiliser l'API get configuration pour obtenir la demande de signature de certificat à partir des données de l'autorité de certification intermédiaire nouvellement créée.

Etape 2: Signer une Autorité de certification intermédiaire avec une Autorité de certification externe

Utilisez la demande de signature de certificat que vous avez copiée à l'étape 1 pour signer votre certificat d'autorité de certification intermédiaire. Placez la demande de signature de certificat dans un fichier à utiliser pour la signature.

Vous pouvez choisir parmi différents outils, tels que openssl, pour signer un fichier CSR. Par exemple, la commande suivante openssl prend un fichier CSR et utilise un fichier CA codé PEM et la clé privée associée pour émettre un certificat CA signé.

openssl x509 -req -in <intermediate-ca-csr-file> -CA <external-parent-ca-file> -CAkey <external-ca-key-file> -out <signed-intermediate-ca-file>

La commande génère un fichier de certificat signé que vous pouvez importer dans votre configuration d'autorité de certification intermédiaire pour terminer le processus de signature.

Si l'autorité de certification parent est une autorité de certification racine ou une autorité de certification intermédiaire d'une autre instance Secrets Manager, vous pouvez signer la demande de signature de certificat à l'aide de l'action sign-csr. L'exemple suivant montre une requête que vous pouvez utiliser pour signer la CSR.

curl -X POST
  --H "Authorization: Bearer {iam_token}" \
  --H "Accept: application/json" \
  --H "Content-Type: application/json" \
  --d '{
  "action_type": "private_cert_configuration_action_sign_csr",
  "csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICiDCCAXACAQAwGDEWMBQGA1UEAxMNct5ANo8jybxCwNjHOA==\n-----END CERTIFICATE REQUEST-----"
}' \  
  "https://{other_instance_ID}.{other_instance_region}.secrets-manager.appdomain.cloud/api/v2/configurations/example-intermediate-CA/actions"

Copiez la valeur de la zone certificate à partir de la réponse pour l'utiliser à l'étape suivante.

Etape 3: Importation d'une autorité de certification intermédiaire signée dans votre configuration d'autorité de certification intermédiaire

Après avoir signé un certificat d'autorité de certification intermédiaire à l'aide d'une autorité de certification parentale externe, vous pouvez l'importer dans votre configuration d'autorité de certification intermédiaire à l'aide de l'action set-signed. L'exemple suivant montre une requête que vous pouvez utiliser pour importer le certificat signé en externe.

curl -X POST
  --H "Authorization: Bearer {iam_token}" \
  --H "Accept: application/json" \
  --H "Content-Type: application/json" \
  --d '{
  "action_type": "private_cert_configuration_action_set_signed",
  "certificate": "-----BEGIN CERTIFICATE-----\nMIIGRjCCBS6gAwIBAgIUSKW6zI+E9JU4bva\n-----END CERTIFICATE-----"
}' \  
  "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/example-intermediate-CA/actions"

Création d'une AC intermédiaire avec signature interne à partir de l'interface de programmation

Une autorité de certification intermédiaire avec signature interne utilise une autorité de certification parent précédemment créée dans votre instance Secrets Manager comme point d'ancrage de confiance. Vous pouvez créer une autorité de certification intermédiaire avec une signature interne en utilisant le CLI Secrets Manager.

Etape 1: Création d'une autorité de certification intermédiaire avec signature interne

Pour créer une autorité de certification intermédiaire avec signature interne, exécutez la commande ibmcloud secrets-manager configuration-create. Dans le prototype de configuration, définissez la valeur de l'attribut signing_method sur internal. Utilisez l'attribut issuer pour spécifier l'autorité de certification parent. Par exemple, la commande suivante crée une autorité de certification intermédiaire avec signature interne.

ibmcloud secrets-manager configuration-create
   --configuration-prototype='{
      "config_type": "private_cert_configuration_intermediate_ca",
      "name": "example-intermediate-CA",
      "max_ttl": "26300h",
      "signing_method": "internal",
      "issuer": "example-root-CA",
      "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"],
      "format": "pem",
      "private_key_format": "der",
      "key_type": "rsa",
      "key_bits": 4096,
      "exclude_cn_from_sans": false
   }'

Si vous apportez votre propre HSM, veuillez inclure les éléments suivants dans votre demande :

"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"
    }
  }

Etape 2: Signer l'autorité de certification intermédiaire

Pour signer l'autorité de certification intermédiaire à partir de l'interface de ligne de commande Secrets Manager, appliquez l'action sign-intermediate en exécutant la commande ibmcloud secrets-manager configuration-action-create. Transmettez le nom de l'autorité de certification signataire (l'émetteur) avec l'option de commande --name.

ibmcloud secrets-manager configuration-action-create --name example-root-CA  
   --config-action-prototype='{
      "action_type": "private_cert_configuration_action_sign_intermediate",
      "intermediate_certificate_authority": "example-intermediate-CA"
   }'

Création d'une autorité de certification intermédiaire avec signature externe à partir de l'interface de programmation

Une autorité de certification intermédiaire avec signature externe utilise une autorité de certification parent à partir d'un système PKI externe, ou même d'une autre instance Secrets Manager , comme point d'ancrage de confiance. L'autorité de certification parent peut être une autorité de certification racine ou une autorité de certification intermédiaire. Vous pouvez créer une autorité de certification intermédiaire avec une signature externe en utilisant le CLI Secrets Manager.

Etape 1: Création d'une autorité de certification intermédiaire et d'une demande de signature

Pour créer une autorité de certification intermédiaire et une demande de signature à partir de l'interface de ligne de commande Secrets Manager, exécutez la commande ibmcloud secrets-manager configuration-create. Dans le prototype de configuration, définissez la valeur de l'attribut signing_method sur external. Utilisez l'option --output json pour obtenir une réponse complète qui inclut la valeur de l'attribut csr. Par exemple, la commande suivante crée une autorité de certification intermédiaire avec signature externe.

ibmcloud secrets-manager configuration-create --output json
   --configuration-prototype='{
      "config_type": "private_cert_configuration_intermediate_ca",
      "name": "example-intermediate-CA",
      "max_ttl": "26300h",
      "signing_method": "external",
      "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"],
      "format": "pem",
      "private_key_format": "der",
      "key_type": "rsa",
      "key_bits": 4096,
      "exclude_cn_from_sans": false
   }'

Copiez la demande de signature de certificat à partir des données JSON de réponse. La valeur CSR est imbriquée dans la valeur de l'attribut data de la réponse. Vous pouvez également obtenir les données de l'autorité de certification intermédiaire nouvellement créée en exécutant la commande ibmcloud secrets-manager configuration avec l'option --output json. Exemple :

ibmcloud secrets-manager configuration --name example-intermediate-CA --output json

Etape 2: Signer une Autorité de certification intermédiaire avec une Autorité de certification externe

Utilisez la demande de signature de certificat que vous avez copiée à l'étape 1 pour signer votre certificat d'autorité de certification intermédiaire. Placez la demande de signature de certificat dans un fichier à utiliser pour la signature.

Vous pouvez choisir parmi différents outils, tels que openssl, pour signer un fichier CSR. Par exemple, la commande suivante openssl prend un fichier CSR et utilise un fichier CA codé PEM et la clé privée associée pour émettre un certificat CA signé.

openssl x509 -req -in <intermediate-ca-csr-file> -CA <external-parent-ca-file> -CAkey <external-ca-key-file> -out <signed-intermediate-ca-file>

La commande génère un fichier de certificat signé que vous pouvez importer dans votre configuration d'autorité de certification intermédiaire pour terminer le processus de signature.

Si l'autorité de certification parent est une autorité de certification racine ou une autorité de certification intermédiaire d'une autre instance Secrets Manager, vous pouvez signer la demande de signature de certificat en appliquant l'action sign-csr. Pour appliquer l'action, exécutez la commande ibmcloud secrets-manager configuration-action-create. Copiez la valeur de la zone certificate à partir du résultat de la commande pour l'utiliser à l'étape suivante. Par exemple, si l'autorité de certification parent est l'autorité de certification racine avec le nom example-root-CA dans une autre instance Secrets Manager, la commande serait la suivante.

ibmcloud secrets-manager configuration-action-create --name example-root-CA --output json  
   --config-action-prototype='{
      "action_type": "private_cert_configuration_action_sign_csr",
      "csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICiDCCAXACAQAwGDEWMBQGA1UEAxMNct5ANo8jybxCwNjHOA==\n-----END CERTIFICATE REQUEST-----"
    }'

Pour l'action sign-csr, vous devez cibler l'autre instance Secrets Manager où réside l'autorité de certification mère. Avant d'exécuter la commande, exportez la variable d'environnement SECRETS_MANAGER_URL pour cibler l'autre instance.

Etape 3: Importation d'une autorité de certification intermédiaire signée dans votre configuration d'autorité de certification intermédiaire

Après avoir signé un certificat d'autorité de certification intermédiaire à l'aide d'une autorité de certification parent externe, vous pouvez l'importer dans votre configuration d'autorité de certification intermédiaire en appliquant l'action set-signed à votre configuration d'autorité de certification intermédiaire. Pour appliquer l'action, exécutez la commande ibmcloud secrets-manager configuration-action-create. Exemple :

ibmcloud secrets-manager configuration-action-create --name example-intermediate-CA
   --config-action-prototype='{
      "action_type": "private_cert_configuration_action_set_signed",
      "certificate": "-----BEGIN CERTIFICATE-----\nMIIGRjCCBS6gAwIBAgIUSKW6zI+E9JU4bva\n-----END CERTIFICATE-----"
    }'

Création d'une autorité de certification intermédiaire avec signature interne avec Terraform

Une autorité de certification intermédiaire avec signature interne utilise une autorité de certification parent précédemment créée dans votre instance Secrets Manager comme point d'ancrage de confiance. Vous pouvez créer une autorité de certification intermédiaire avec une signature interne en utilisant Terraform pour Secrets Manager.

L'exemple suivant illustre une configuration que vous pouvez utiliser pour créer une autorité de certification intermédiaire avec signature interne.

    resource "ibm_sm_private_certificate_configuration_intermediate_ca" "my_intermediate_ca" {
        instance_id = local.instance_id
        signing_method = "internal"
        name = "example-intermediate-ca"
        common_name = "example.com"
        issuer = ibm_sm_private_certificate_configuration_root_ca.my_root_ca.name
        max_ttl = "180000"
    }

Si vous apportez votre propre HSM, incluez les éléments suivants dans la configuration :

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"
    }
}

Lors de l'utilisation de la signature interne, l'émetteur défini signe automatiquement le certificat de l'autorité de certification intermédiaire nouvellement créé.

Création d'une autorité de certification intermédiaire avec signature externe avec Terraform

Une autorité de certification intermédiaire avec signature externe utilise une autorité de certification parent à partir d'un système PKI externe, ou même d'une autre instance Secrets Manager , comme point d'ancrage de confiance. L'autorité de certification parent peut être une autorité de certification racine ou une autorité de certification intermédiaire. Vous pouvez créer une autorité de certification intermédiaire avec signature externe à l'aide de Terraform pour Secrets Manager.

L'exemple suivant illustre une configuration que vous pouvez utiliser pour créer une autorité de certification intermédiaire avec une signature externe. La configuration se compose de trois ressources. La ressource ibm_sm_private_certificate_configuration_intermediate_ca crée la configuration d'autorité de certification intermédiaire et la demande de signature de certificat. La ressource ibm_sm_private_certificate_configuration_action_sign_csr signe la demande de signature de certificat avec une autorité de certification racine d'une autre instance Secrets Manager. La ressource ibm_sm_private_certificate_configuration_action_set_signed importe le certificat signé dans la ressource de l'autorité de certification intermédiaire.

    resource "ibm_sm_private_certificate_configuration_intermediate_ca" "my_intermediate_ca" {
        instance_id = local.instance_id
        name = "example-intermediate-ca"
        signing_method = "external"
        common_name = "example.com"
        max_ttl = "180000"
    }

    resource "ibm_sm_private_certificate_configuration_action_sign_csr" "my_sign_action" {
        instance_id = local.another_instance_id
        name = ibm_sm_private_certificate_configuration_root_ca.my_root_ca.name
        csr = ibm_sm_private_certificate_configuration_intermediate_ca.my_intermediate_ca.data[0].csr
    }

    resource "ibm_sm_private_certificate_configuration_action_set_signed" "my_set_signed_action" {
        instance_id = local.instance_id
        name = ibm_sm_private_certificate_configuration_intermediate_ca.my_intermediate_ca.name
        certificate = ibm_sm_private_certificate_configuration_action_sign_csr.my_sign_action.data[0].certificate
    }

Dans cet exemple, nous utilisons la signature externe car l'autorité de certification racine se trouve dans une autre instance Secrets Manager. Pour utiliser une autorité de certification parentale d'un système PKI externe, utilisez une autre méthode pour signer la demande de signature de certificat (CSR) au lieu de la ressource ibm_sm_private_certificate_configuration_action_sign_csr. Par exemple, vous pouvez utiliser la ressource tls_locally_signed_cert du fournisseur tls.

Si vous apportez votre propre HSM, incluez les éléments suivants dans la configuration :

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"
    }
}

Extraction d'une autorité de certification intermédiaire dans l'interface utilisateur

Vous pouvez extraire la valeur de l'autorité de certification intermédiaire à l'aide de l'interface utilisateur Secrets Manager.

  1. Dans le moteur de secret Certificats publics, cliquez sur l'icône Actions du menu Actions pour ouvrir la liste des options de configuration de votre moteur.
  2. Pour afficher la valeur de la configuration, cliquez sur Afficher la configuration.
  3. Cliquez sur Confirmer après vous être assuré que vous êtes dans un environnement sécurisé.

La valeur confidentielle est affichée pendant 15 secondes, puis la boîte de dialogue se ferme.

Extraction d'une autorité de certification intermédiaire via l'interface CLI

Vous pouvez extraire la valeur d'autorité de certification intermédiaire à l'aide de l'interface de ligne de commande Secrets Manager. Dans l'exemple de commande suivant, remplacez le nom de la configuration du moteur par le nom de votre configuration.

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

Remplacez {instance_ID} et {region} par les valeurs qui s'appliquent à votre instance de service Secrets Manager. Pour trouver l'URL de point d'extrémité spécifique à votre instance, vous pouvez la copier à partir de la page Noeuds finaux de l'interface utilisateur Secrets Manager. Pour plus d'informations, voir Affichage de vos URL de point d'extrémité

Extraction d'une autorité de certification intermédiaire à l'aide de l'API

Vous pouvez extraire la valeur d'autorité de certification intermédiaire à l'aide de l'API Secrets Manager. Dans l'exemple de demande suivant, remplacez le nom de la configuration du moteur par le nom de votre configuration.

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}"

Remplacez {instance_ID} et {region} par les valeurs qui s'appliquent à votre instance de service Secrets Manager. Pour trouver l'URL de point d'extrémité spécifique à votre instance, vous pouvez la copier à partir de la page Noeuds finaux de l'interface utilisateur Secrets Manager. Pour plus d'informations, voir Affichage de vos URL de point d'extrémité

Une réponse positive renvoie la valeur de la configuration du moteur, ainsi que d'autres métadonnées. Pour plus d'informations sur les paramètres de demande obligatoires et facultatifs, voir Obtenir un secret.

Etapes suivantes