Créer un magasin de clés BCFKS auto-signé pour SAML
Générez un magasin de clés BCFKS auto-signé conforme à la norme FIPS 140-2 à utiliser dans les opérations de signature et de chiffrement SAML dans le module d’extension SSO de plusieurs fournisseurs.
Avant de commencer
Rôle requis : sso_config_admin, business_rule_admin script_include_admin
Effectuez les actions suivantes :
- Installez Java sur votre machine et l’outil de ligne de commande de l’outil clé accessible dans votre terminal (ou « invite de commande » si vous l’exécutez sur une machine Windows).
- Effectuez les étapes suivantes pour créer un magasin de clés à l’aide d’algorithmes cryptographiques approuvés par FIPS (tels que RSA 2048 bits ou supérieur associé à SHA-256) qui répond aux exigences de sécurité fédérales pour les implémentations d’identité, de fédération et d’authentification unique.
Procédure
-
Téléchargez la bibliothèque du fournisseur FIPS.
Remarque :
Utilisez la dernière version bc-fips-2.1.0.jar. Assurez-vous d’utiliser la version la plus récente.
-
Générez le magasin de clés et le certificat conformes à la norme FIPS.
-
Exécutez la commande de l’outil clé suivante pour générer un certificat auto-signé et un magasin de clés.
Tableau 1. Commande d’outil clé En cours d’exécution sur Linux/macOS En cours d’exécution sous Windows : keytool -genkeypair \ -providername BCFIPS \ -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider \ -providerpath <path_to_bc-fips-<version>>.jar \ -alias <key_alias> \ -keyalg RSA \ -keysize <key_size> \ -keystore <keystore_name>.bcfks \ -validity <validity> \ -storetype BCFKS \ -storepass <keystore_password>keytool -genkeypair ^ -providername BCFIPS ^ -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider ^ -providerpath <path_to_bc-fips-<version>>.jar ^ -alias <key_alias> ^ -keyalg RSA ^ -keysize <key_size> ^ -keystore <keystore_name>.bcfks ^ -validity <validity> ^ -storetype BCFKS ^ -storepass <keystore_password> -
Remplacez les espaces réservés (<...>) par les valeurs appropriées :
<path_to_bc-fips-<version>>.jar: chemin d’accès àbc-fips-<version>.jar<key_alias>: alias pour la paire de clés<key_size>: 2048 ou 4096<keystore_name>.bcfks: nom de fichier souhaité pour le magasin de clés<validité>: expiration en jours<keystore_password>: mot de passe du magasin de clés
-
Suivez les invites pour entrer des détails DN (Distinguished Name) supplémentaires pour le certificat.
Remarque :Lorsque vous êtes invité à entrer un mot de passe pour la clé (alias), appuyez sur la touche Entrée ou Retour pour utiliser le même mot de passe que celui que vous avez utilisé pour le magasin de clés. Ne donnez pas un mot de passe différent.
-
Stockez en toute sécurité l’alias de clé et le mot de passe du magasin de clés.
Fournissez ces informations d’identification tout en :
- Création de l’enregistrement sys_certificate pour ce magasin de clés.
- Configuration du fournisseur d’identité SAML pour fournir la clé de signature ou l’alias de clé de chiffrement et le mot de passe.
Remarque :Le mot de passe de clé est le même que le mot de passe de magasin de clé spécifié lors de la création. Utilisez le même mot de passe lors de la configuration de la signature ou du chiffrement pour le fournisseur d’identité SAML.
-
Exécutez la commande de l’outil clé suivante pour générer un certificat auto-signé et un magasin de clés.
-
Extrayez la chaîne de certificats.
Tableau 2. Commande d’outil clé En cours d’exécution sur Linux/macOS En cours d’exécution sous Windows : keytool -exportcert \ -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider \ -providerpath <path_to_bc-fips-<version>>.jar \ -storetype BCFKS \ -keystore <keystore_name>.bcfks \ -storepass <keystore_password> \ -alias <key_alias> \ -rfc \ -file <file_name>.cerkeytool -exportcert ^ -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider ^ -providerpath <path_to_bc-fips-<version>>.jar ^ -storetype BCFKS ^ -keystore <keystore_name>.bcfks ^ -storepass <keystore_password> ^ -alias <key_alias> ^ -rfc ^ -file <file_name>.cerRemplacez les espaces réservés (<...>) par les valeurs appropriées :<path_to_bc-fips-<version>>.jar: chemin d’accès àbc-fips-<version>.jar<keystore_name>.bcfks: nom du fichier du magasin de clés tel qu’indiqué à l’étape précédente<keystore_password>: mot de passe du keystore tel qu’indiqué à l’étape précédente<key_alias>: alias de la clé comme indiqué à l’étape précédente<file_name>.cer: nom de fichier souhaité pour le certificat extrait au format PEM
-
Créez un enregistrement sur sys_certificate table.
- Connectez-vous à ServiceNow AI Platform.
- Accédez à la Tous > Authentification unique (SSO) de plusieurs fournisseurs > Administration > Certificat x509.
- Cliquez sur Nouveau pour créer un enregistrement.
- Sélectionnez le magasin de clés BCFKS comme Type.
-
Joignez le fichier de magasin de clés BCFKS généré (<keystore_name>.bcfks).
Remarque :Pour configurer la notification d’expiration du certificat, utilisez Notification à l’expiration et Groupes pour notifier à l’expiration, et définissez le délai de notification à l’aide des options Avertissement en jours avant l’expiration et Fréquence.
- Remplissez d’autres champs obligatoires, y compris le mot de passe de magasin de clé fourni lors de la création du magasin de clés.
- Cliquez sur le lien connexe Valider les banques/certificats pour vous assurer que le magasin de clés est valide.
- Copiez la sys_id de cet enregistrement.