...
Si la connexion échoue, il est possible d'activer le mode mode ServerCertAuto : <Transport><SSLCertificate><ServerCertAuto>true</ServerCertAuto></SSLCertificate></Transport>
pour forcer la récupération d'un certificat depuis le serveur (utilisation dans le cas d'un certificat auto-signé).
Guide détaillé pour la création de fichiers certificats spécifiques
Authentification serveur (SSL 1-way)
Le client doit s'assurer que le serveur est bien celui qu'il prétend être.
Pour cela le serveur dispose d'un certificat signé par un CA assurant son authenticité (Pour une plate-forme de tests, il est possible d'utiliser un certificat auto-signé. Les exemples qui suivent utilisent ce type de certificat).
Configuration du serveur (tomcat) / mise en place d'une connexion sécurisée
...
Création par défaut du keystore .keystore (si inexistant) dans le répertoire %userprofile% au format JKS (JavaKeyStore) (password par défaut "changeit")
- Déclaration d'un connector https dans le fichier server.xml (utilisant les valeurs par défaut du keystore, keystoreFile="%userprofile%/.keystore", keystorePass="changeit", keystoreType="JKS") :
...
Bloc de code |
---|
<Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="20" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="c:/keystore/.keystore" keystorePass="pwd"/> |
...
- Configuration du web.xml de l'application web hébergeant le service web => toutes les ressources sont sécurisées :
Bloc de code |
---|
<security-constraint> <web-resource-collection> <web-resource-name>Wildcard means whole app requires authentication</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> |
...
Rappel : Le fichier de configuration Axis2.xml se trouvant dans l'application web hôte doit déclarer un <transportSender> et un <transportReceiver> pour le protocole https.
...
Bloc de code |
---|
openssl s_client -connect serveur:port > svca.pem |
...
Il faut alors éditer le fichier Cerfile.pem et conserver uniquement la partie entre les bornes -----BEGIN CERTIFICATE----- et -----END CERTIFICATE-----
...
La commande doit se terminer par => Verify return code: 0 (ok)
- Configuration : utilisation du certificat pour invoquer le service web
...
Bloc de code |
---|
<Service> <AdeliaName>AX2_DOL</AdeliaName> <Epr>https://vmwas7:8443/axis2/services/AX2_DOL</Epr> <Transport> <SSLCertificate> <ServerCertFile>c:\certifs\svca.pem</ServerCertFile> </SSLCertificate> </Transport> </Service> |
...
Rappel : Le fichier de configuration Axis2.xml présent sur le client (%adeliws%/axis2) doit déclarer un <transportSender> et <transportReceiver> pour le protocole https.
Plate-forme Java
...
Signer les certificats clients avec ce CA et importer le certificat racine StartCom dans le trustore tomcat => ajuster la configuration du connecteur tomcat pour faire référence au truststore (emplacement, mot de passe).
Articles connexes
Contenu par étiquette | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|