Remplacement certificat SSO

publicité
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
Téléchargement