Loading

Utilisation du certificat HTTPS qui existe dans le domaine de votre communauté

Date de publication: Jan 22, 2020
Description

Introduction

Salesforce Community Cloud prend en charge l’exécution de chaque communauté dans votre organisation sous un domaine personnalisé (par exemple, community.mycompany.com au lieu de mycompany.force.com). Pour garantir la sécurité, les communications entre les navigateurs de vos utilisateurs et les communautés dans votre organisation ont lieu sur HTTPS (par exemple, HTTP sur TLS). Lorsque vous exécutez votre communauté sous un domaine personnalisé, vous devez charger un certificat HTTPS qui correspond au domaine personnalisé de votre communauté. Les certificats HTTP garantissent l’authenticité du domaine de votre communauté au public, et il est essentiel d'obtenir les détails de votre certificat juste avant de le charger.

 

Il est possible de demander un nouveau certificat HTTPS ou de réutiliser certains certificats existants dans le domaine de votre communauté. De façon générale, il y a deux options :

Ma communauté a besoin d'un nouveau certificat

Si votre communauté a besoin d'un nouveau certificat HTTPS, vous pouvez suivre les instructions fournies dans Aide et formation pour configurer et télécharger une nouvelle demande de signature de certificat à donner à votre autorité de certification.

Je possède un certificat pour le domaine de ma communauté

Si votre société a déjà un certificat qui correspond au domaine sous lequel votre communauté sera exécutée, vous pouvez suivre les étapes décrites ci-dessous pour importer ce certificat dans un fichier Java keystore (JKS) pour le préparer pour le chargement dans votre organisation.
 

Il est important de vérifier que votre certificat correspond au domaine sous lequel sera exécutée votre communauté. Par exemple :

DOMAINE DE COMMUNAUTÉ : community.mycompany.com

CERTIFICAT DE CARACTÈRE GÉNÉRIQUE : *.mycompany.com

CERTIFICAT NON DE CARACTÈRE GÉNÉRIQUE : community.mycompany.com


Vous ne savez pas quelle option utiliser ? Consultez votre équipe informatique pour déterminer si vous possédez un certificat existant ou si vous avez besoin d’un nouveau certificat.

Comment doit-on importer un certificat existant et une clé privée dans Salesforce avec un fichier Java keystore (JKS) ?


Pour importer une chaîne de certificats existante et une clé privée dans Salesforce, il existe de nombreuses options, selon les formats des certificats et la clé privée à importer. Salesforce prend en charge le format de fichier Java keystore mais tous les systèmes n’exportent pas directement ce format de fichier. Heureusement, il est possible d'utiliser la commande keytool dans le kit de développement Java pour convertir les formats de fichier de certificat courants en un fichier Java keystore.

Un format courant pour enregistrer une chaîne de certificats -- le certificat client ou serveur avec les certificats intermédiaires dans sa chaîne de signature -- et la clé privée de son certificat client ou serveur est le format PKCS#12, qui contient ces éléments dans un fichier. Un autre format possible est une collection de fichiers de certificat individuels et un fichier de clé privée distinct. Les sections ci-dessous existent pour ces deux scénarios de conversion. Après avoir converti le fichier en un fichier Java keystore, il est possible de l’importer dans Salesforce.
 

Fichier PKCS#12 (.p12, .pfx)

Le format de fichier PKCS#12 permet d’enregistrer facilement une chaîne de certificats et une clé privée dans un fichier et est couramment utilisé pour sauvegarder les certificats. La gestion des certificats dans Windows et Windows Server peut exporter dans ce format de fichier. La clé privée dans un fichier PKCS#12 est cryptée avec une phrase secrète. Voir l’image de référence ici.

Avant de poursuivre, installez le kit de développement Java d’Oraclesi Java n’est pas encore installé. Téléchargez et installez la version correspondant à votre système. Vérifiez que le chemin d’accès à keytool ou keytool.exe se trouve dans votre variable d’environnement PATH ou bien constituez le chemin d’accès complet au keytool ou à la commande keytool.exe lorsque vous exécutez les commandes ci-dessous.

Pour convertir un fichier PKCS#12 en un fichier Java keystore, l’alias de la source utilisé pour le certificat dans le fichier PKCS#12 doit être obtenu. Pour obtenir ces informations, exécutez la commande suivante sur votre fichier PKCS#12, en remplaçant pkcs12file.pfx par le nom de votre fichier PKCS#12. Vous serez invité à saisir la phrase secrète de cryptage de la clé privée du fichier PKCS#12 qui a été définie lors de la création du fichier PKCS#12.
 

keytool -list -keystore pkcs12file.pfx -storetype pkcs12


Le résultat aura l’aspect ci-dessous. Notez l’alias, mis en surbrillance en gras ci-dessous. Le valeur de l’alias dans cet exemple est le-384927abc3839f-829278-ee12. La valeur utilisée dans votre fichier peut être différente et peut être tout simplement le chiffre 1.
 

Type de magasin de clés : PKCS12
Fournisseur de magasin de clés : SunJSSE
 
Votre magasin de clés contient 1 entrée
                                                                                                      
le-384927abc3839f-829278-ee12, 29 janvier 2016, PrivateKeyEntry,
Empreinte du certificat (SHA1) : 99:68:C4:80:45:AF:9F:01:40:C5:BD:FB:0B:AB:CC:F0:99:9B:91:9D


Avec l’alias, il est possible de convertir le fichier PKCS#12 en un fichier Java keystore avec la commande suivante. Remplacez pkcs12file.p12 par le nom de votre fichier PKCS#12. Remplacez keystorefile.jks par le nom de fichier que vous souhaitez utiliser pour le fichier Java keystore. Remplacez cert_dev_name_in_salesforce par le nom du développeur que vous souhaitez utiliser pour le certificat dans Salesforce. Le nom du développeur est le nom qui peut être utilisé par le code Apex ou l’API de métadonnées pour référencer ce certificat. Le nom du développeur doit commencer par une lettre et contenir uniquement des caractères alphanumériques et des traits de soulignement non consécutifs. Cette commande vous invitera à indiquer une phrase secrète pour le cryptage de la clé privée dans le fichier Java Keystore, ainsi que la phrase secrète du fichier PKCS#12 en cours de conversion.
 

keytool -importkeystore -srckeystore pkcs12file.p12 -destkeystore
keystorefile.jks -srcstoretype pkcs12 -deststoretype jks -destalias
cert_dev_name_in_salesforce -srcalias le-384927abc3839f-829278-ee12


Une fois que la commande a été exécutée correctement, le fichier keystorefile.jks peut être importé dans Salesforce à l’aide du bouton Importer depuis le magasin de clés de la page de configuration Gestion des certificats et des clés. Une fois que vous avez importé le fichier Java keystore, le certificat importé avec le nom de l’alias de destination doit apparaître dans la liste des certificats.

Pour importer le fichier JKS dans Salesforce, accédez à Configuration | Contrôles de sécurité | Gestion des certificats et des clés | Importer depuis le magasin de clés
 
 

Fichiers PEM ou DER individuels

Les formats de fichier PEM et DER stockent généralement les certificats et les clés privées dans des fichiers distincts. Le format PEM de texte permet à la chaîne de certificats et à la clé privée d’exister en option dans un fichier concaténé. Une multitude de configurations d’entrée possibles existe lorsque vous utilisez des fichiers PEM et DER. Il est généralement plus facile d’utiliser des fichiers PEM, et il est possible de convertir des fichiers DER en fichiers PEM pour un traitement ultérieur.

Avant de poursuivre, installez le kit de développement Java d’Oracle si Java n’est pas encore installé. Téléchargez et installez la version correspondant à votre système. Vérifiez que le chemin d’accès à keytool ou keytool.exe se trouve dans votre variable d’environnement PATH ou bien constituez le chemin d’accès complet au keytool ou à la commande keytool.exe lorsque vous exécutez les commandes ci-dessous.

Si OpenSSL n’est pas installé, vous devez l'installer pour ces étapes. OpenSSL est intégré à Mac OS X et Linux, mais pas à Windows. Cygwin peut être une option pour installer OpenSSL sur Windows, et d’autres options existent également.

Si un ou plusieurs fichiers d’entrée utilisent le format DER, vous devez les convertir au format PEM. Il est généralement possible de déterminer si un certificat d’entrée ou un fichier de clé privée est au format DER en essayant d’ouvrir le fichier en question dans un éditeur de texte. S'il contient des caractères de texte classiques et les phrases « BEGIN CERTIFICATE » ou « PRIVATE KEY », il est déjà au format de texte PEM. S'il apparaît comme un ensemble désordonné et aléatoire de caractères étranges, iI s’agit probablement du format DER.

Pour convertir un fichier de certificat DER en un fichier PEM, exécutez la commande openssl suivante. Remplacez der-certificate.crt par le nom de votre fichier de certificat DER et pem-certificate.crt par le nom du fichier que vous souhaitez utiliser comme fichier de sortie.
 

openssl x509 -in der-certificate.crt -out pem-certificate.crt -inform der -outform pem


Pour convertir un fichier de clé privée DER en un fichier PEM, exécutez la commande openssl suivante. Remplacez der-privatekey.key par le nom de votre fichier de clé privée DER et pem-privatekey.key par le nom du fichier que vous souhaitez utiliser comme fichier de sortie.
 

openssl rsa -in der-privatekey.key -out pem-privatekey.key -inform der -outform pem


Si vous avez plus d’un certificat intermédiaire, concaténez ces fichiers PEM de certificat intermédiaire dans un fichier de texte PEM à l’aide d'un éditeur de texte. Dans l’instruction ci-dessous, ce fichier est connu comme intermediate-chain.crt.

Avec la chaîne de certificats et la clé privée disponibles comme fichiers PEM, il est possible d’utiliser OpenSSL pour les convertir en un fichier PKCS#12. Pour les convertir en un fichier PKCS#12, exécutez la commande suivante. Remplacez pem-certificate.crt par le nom de fichier du serveur au format PEM ou le certificat client. Remplacez pem-privatekey.key par la clé privée au format PEM de ce serveur ou certificat client. Remplacez intermediate-chain.crt par le fichier au format PEM qui contient tous les certificats intermédiaires dans la chaîne de signature du certificat serveur ou client.

 
openssl pkcs12 -in pem-certificate.crt -inkey pem-privatekey.key -certfile intermediate-chain.crt -export -out pkcs12file.p12

Le fichier de sortie pkcs12file.p12 file peut maintenant être converti en un fichier Java à l’aide de la commande suivante. Remplacez pkcs12file.p12 par le nom de votre fichier PKCS#12. Remplacez keystorefile.jks par le nom de fichier que vous souhaitez utiliser pour le fichier Java keystore. Remplacez cert_dev_name_in_salesforce par le nom du développeur que vous souhaitez utiliser pour le certificat dans Salesforce. Le nom du développeur est le nom qui peut être utilisé par le code Apex ou l’API de métadonnées pour référencer ce certificat. Le nom du développeur doit commencer par une lettre et contenir uniquement des caractères alphanumériques et des traits de soulignement non consécutifs. Cette commande vous invitera à indiquer une phrase secrète pour le cryptage de la clé privée dans le fichier Java Keystore, ainsi que la phrase secrète du fichier PKCS#12 en cours de conversion.
keytool -importkeystore -srckeystore pkcs12file.p12 -destkeystore keystorefile.jks -srcstoretype pkcs12 -deststoretype jks -destalias cert_dev_name_in_salesforce -srcalias 1

Une fois que la commande a été exécutée correctement, le fichier keystorefile.jks peut être importé dans Salesforce à l’aide du bouton Importer depuis le magasin de clés de la page de configuration Gestion des certificats et des clés. Une fois que vous avez importé le fichier Java keystore, le certificat importé avec le nom de l’alias de destination doit apparaître dans la liste des certificats.

Référence supplémentaire


Fichier Java Keystore

Un fichier Java Keystore peut être importé tel quel. Seules les entrées PrivateKeyEntry du magasin de clés sont importées. Chaque entrée de ce type contient une chaîne de certificats et une clé privée. Les autres types d’entrée, comme trustedCertEntry, sont ignorés.

Le nom d’une PrivateKeyEntry devient le nom du développeur du certificat importé, qui peut être utilisé par le code Apex ou l’API de métadonnées pour référencer ce certificat. Le nom du développeur doit commencer par une lettre et contenir uniquement des caractères alphanumériques ou des traits de soulignement non consécutifs.

Pour importer le fichier JKS dans Salesforce, accédez à Configuration | Contrôles de sécurité | Gestion des certificats et des clés | Importer depuis le magasin de clés

Résolution

GAA : Développeur

 FA : API / Intégration

Numéro d’article de la base de connaissances

000387916

 
Chargement
Salesforce Help | Article