Création d'autorités de certification racine
Avec IBM Cloud® Secrets Manager, vous pouvez créer et gérer votre propre système d'infrastructure à clé publique (PKI) en créant des autorités de certification racine et intermédiaire (CA).
Une autorité de certification (CA) est l'entité qui signe et émet vos certificats SSL/TLS. Si vous souhaitez générer rapidement un certificat auto-signé, vous pouvez utiliser Secrets Manager pour créer une autorité de certification racine signée en interne. Vous pouvez utiliser cette autorité de certification comme point d'ancrage sécurisé pour une chaîne de certificats. Après avoir créé une autorité de certification racine pour votre instance, vous pouvez l'utiliser pour signer une autorité de certification de niveau inférieur ou subordonné, par exemple d'autres autorités de certification intermédiaires que vous créez dans le service.
Vous pouvez créer jusqu'à 10 autorités de certification racine 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.
Création d'une autorité de certification racine dans l'interface utilisateur
Vous pouvez créer une autorité de certification racine signée en interne pour votre instance de service en utilisant l'interface utilisateur Secrets Manager.
-
Dans la console, cliquez sur l'icône Menu
> Liste de ressources.
-
Dans la liste des services, sélectionnez votre instance de Secrets Manager.
-
Dans la page Moteurs Secrets , cliquez sur l'onglet Certificats privés .
-
Dans la table des Autorités de certification, cliquez sur Créer une autorité de certification pour démarrer l'assistant de création.
-
Indiquez le type et les options de l'autorité de certification.
- Sélectionnez Autorité de certification racine comme type d'autorité.
- Entrez un nom pour identifier facilement votre autorité de certification.
- 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.
- Sélectionnez le nombre maximal de certificats intermédiaires subordonnés ou inférieurs pouvant exister dans la chaîne.
- Pour coder l'URL de certificat de l'autorité de certification émettrice dans des certificats de l'autorité de certification intermédiaires, définissez l'option Encode URL sur Activé.
-
Entrez les zones de nom de sujet pour votre certificat d'autorité de certification racine.
-
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 :
-
Sélectionnez votre instance HPCS ou saisissez manuellement le CRN de votre instance HPCS
-
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.
-
Sélectionnez le keystore privé HPCS dans la liste des keystores ou entrez manuellement l'ID du keystore.
-
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.
-
-
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.
-
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.
- Pour créer une CRL pour votre autorité de certification racine à chaque demande de certificat, définissez l'option de création de CRL sur Activé.
- Pour coder l'URL de la liste de révocation dans le certificat de l'autorité de certification racine, définissez l'option Points de distribution de CRL sur Activé.
- 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..
-
Examinez vos sélections. Pour créer l'autorité de certification racine, cliquez sur Créer.
Vous pouvez maintenant sélectionner cette autorité de certification racine lorsque vous Créez une autorité de certification intermédiaire avec signature interne.
Pour modifier ou supprimer une configuration existante, cliquez sur le menu Actions dans la ligne de l'autorité de certification à mettre à jour.
Création d'une autorité de certification racine avec l'API
Vous pouvez créer une autorité de certification racine signée en interne pour votre instance de service en appelant l'API Secrets Manager.
L'exemple suivant présente une requête que vous pouvez utiliser pour créer une autorité de certification racine.
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 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"
}
}
Une réponse ayant abouti ajoute la configuration à votre instance de service.
{
"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"
}
Pour plus d'informations sur les paramètres de demande obligatoires et facultatifs, voir Ajouter une configuration.
Création d'une autorité de certification racine à partir de l'interface de programmation
Vous pouvez créer une autorité de certification racine signée en interne pour votre instance de service à l'aide de la commande ibmcloud secrets-manager configuration-create.
L'exemple suivant montre une commande que vous pouvez utiliser pour créer une autorité de certification racine.
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 vous apportez votre propre HSM, incluez les éléments suivants dans la commande :
"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"
}
}
Créer une autorité de certification racine avec Terraform
Vous pouvez créer une autorité de certification racine signée en interne pour votre instance de service en utilisant Terraform pour Secrets Manager.
L'exemple suivant montre une configuration que vous pouvez utiliser pour créer une autorité de certification racine.
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 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"
}
}
Récupération d'une autorité de certification racine dans l'interface utilisateur
Vous pouvez extraire la valeur de l'autorité de certification racine à l'aide de l'interface utilisateur Secrets Manager.
- Dans le moteur de secret Certificats publics, cliquez sur l'icône
du menu Actions pour ouvrir la liste des options de configuration de votre moteur.
- Pour afficher la valeur de la configuration, cliquez sur Afficher la configuration.
- 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 racine à l'aide de l'interface CLI
Vous pouvez extraire la valeur de l'autorité de certification racine à 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 racine à l'aide de l'API
Vous pouvez extraire la valeur de l'autorité de certification racine à 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
- Créer une autorité de certification intermédiaire
- Rationalisez la configuration de l'autorité de certification racine avec les modules Terraform IBM (TIM) pour Secrets Manager Private Certificate Engine for Terraform.