Manuel Migration Certificat 2016 SSO Table des matières 1 INTRODUCTION ......................................................................................................................................................2 2 IMPACTS SUR LA CONFIGURATION DE L’ACCELERATEUR JAVA .............................................................3 2.1 RECONFIGURATION DU CERTIFICAT DE L’APPEL SECURISE ........................................................................................3 2.1.1 Génération du nouveau JKS ............................................................................................................................3 2.1.2 Remplacement du JKS .....................................................................................................................................4 2.1.3 Reconfiguration de l’URL de l’appel sécurisé ...............................................................................................4 2.2 RECONFIGURATION DU CERTIFICAT DE VERIFICATION DE L’ASSERTION SSO............................................................4 Error! Reference source not found. Error! Reference source not found.Error! Reference source not found. 1 Introduction Le certificat utilisé pour la signature des certificats SSO expire en septembre 2016. Un changement est nécessaire pour garantir le fonctionnement au-delà de cette date. Ce document décrit les impacts que ce changement implique dans la configuration des applications partenaires. Page 2 / 5 Error! Reference source not found. Error! Reference source not found.Error! Reference source not found. 2 Impacts sur la configuration de l’accélérateur Java 2.1 Reconfiguration du certificat de l’appel sécurisé Ce certificat est utilisé pour effectuer l’appel de service sécurisé avec le protocole WS-Security. Il représente la partie publique du certificat serveur qui doit être installée dans l’accélérateur pour chiffrer les messages envoyés au service sécurisé. Comme décrit dans le manuel d’utilisation de l’API Java, ce certificat est inclus dans l’accélérateur par l’intermédiaire d’un fichier JKS pouvant être généré avec l’utilitaire « keytool ». 2.1.1 Génération du nouveau JKS Ci-dessous, voici une version mise à jour du script de génération du JKS (également incluse parmi les fichiers accompagnant ce manuel) : @echo off :: Declaration des variables set password=p@ssw0rd set KeySize=2048 set ClientCertName=IntegrationSWORD_Client_AccJava set RootCertName=sante-ra-2016-intermediate set ServiceCertName=sante-ra-2016 set JksFile=cacerts.jks :: Suppression des anciens certificats. del %JksFile% ::::::::::::::::::::::::::::::::::: :: Generation des Java Key Store :: ::::::::::::::::::::::::::::::::::: echo -- Generation du Java Key Store -- :: Generation du Java Key Store (ajout de la cle privee) keytool -importkeystore -srckeystore %ClientCertName%.pfx -srcstoretype pkcs12 -destkeystore %JksFile% -deststoretype JKS -srcstorepass %password% -deststorepass %password% -destalias client -srcalias %ClientCertName% :: Ajout des autorités de certification keytool -import -trustcacerts -keystore %RootCertName%.cer -noprompt Page 3 / 5 %JksFile% -storepass %password% -alias root -file Error! Reference source not found. Error! Reference source not found.Error! Reference source not found. keytool -import -trustcacerts -keystore %ServiceCertName%.cer -noprompt %JksFile% -storepass %password% -alias server -file keytool -list -v -keystore %JksFile% -storepass %password% Dans ce script, le certificat « sante-ra-2016 » représente le nouveau certificat serveur. Et le certificat « santera-2016-intermediate » l’autorité de certification se trouvant au-dessus dans la chaine de confiance. Le certificat de test « IntegrationSWORD_Client_AccJava » renseigné dans l’exemple doit être remplacé par le certificat client authentifiant votre application. 2.1.2 Remplacement du JKS Une fois le nouveau JKS généré avec les instructions ci-dessus, il suffit de remplacer l’ancienne version du fichier dans votre application pour pouvoir effectuer l’appel sécurisé. 2.1.3 Reconfiguration de l’URL de l’appel sécurisé Les URL d’appels sécurisées par l’ancien certificat sont : Environnement Valeur Recette https://recette.santera.fr/ServicesSecurises/RoutingService.svc/CompatibilitySecured Production https://www.santera.fr/ServicesSecurises/RoutingService.svc/CompatibilitySecured Avec le nouveau certificat elles deviennent : Environnement Valeur Recette https://soap-recette.santera.fr/ServicesSecurises2016/RoutingService.svc/CompatibilitySecured Production https://soap.santera.fr/ServicesSecurises2016/RoutingService.svc/CompatibilitySecured Dans les dernières versions de l’accélérateur, « src/main/resources/config.properties ». ces URL sont renseignées dans le fichier Dans les versions moins récentes elles sont renseignées dans le code à l’instanciation de la classe « GetAuthenticationDataClient ». Donc, à voir en fonction de la manière dont cela a été adapté dans l’application hôte. 2.2 Reconfiguration du certificat de vérification de l’assertion SSO Ce certificat est utilisé pour vérifier que les données de l’assertion SAML récupérées lors d’une résolution de jeton SSO sont correctement signées et n’ont pas été altérées. Plus exactement, il intervient lors de la vérification du certificat qui a été utilisé pour la signature, lequel est directement renvoyé avec l’assertion SAML. Page 4 / 5 Error! Reference source not found. Error! Reference source not found.Error! Reference source not found. Pour cela, c’est l’autorité intermédiaire du certificat de signature qui doit être configurée dans l’accélérateur Java. En pratique, le certificat en question est directement chargé à partir d’un fichier. Dans notre cas, il s’agit de « sante-ra-2016-intermediate.cer » fourni avec ce manuel. La première chose à faire est de copier ce fichier dans le répertoire de ressource de l’application, qui est « src/main/resources » pour l’application exemple livrée avec l’accélérateur. Son chemin doit ensuite être passé en « GetAuthenticationDataClient » sous cette forme : paramètre lors de l’instanciation de la classe resolutionClient = new GetAuthenticationDataClient(new ClassPathResource(trustCertLocation), … autres paramètres) ; Avec « trustCertLocation » le nom du fichier du certificat relativement au répertoire des ressources de l’application. Dans la dernière version de l’accélérateur, il devrait être renseigné dans le fichier de configuration « src/main/resources/config.properties ». Page 5 / 5