IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

WS HTTPS et génération de certificats auto-signed localhost et sur server remote


Sujet :

Sécurité

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2006
    Messages : 271
    Points : 93
    Points
    93
    Par défaut WS HTTPS et génération de certificats auto-signed localhost et sur server remote
    Bonjour,
    Je ne connais grand-chose sur le certificat, les privées et publiques.
    Bien que j’ai lu pas mal de tutoriel, ils sont partiels et je ne parviens pas à trouver un tutoriel qui décrit non seulement les principes mais aussi l’implémentation.
    Je suis donc très demandeur de ce type de documentation.
    Je vous explique mon objectif :
    J’ai un Web Service (WS) écrit en Java qui contient un server Jetty.
    Ce WS qui tourne en localhost (pc Windows10 Client) lance Jetty pour communiquer en http (et https) vers le MEME WS qui écoute sur un server remote UNIX(AIX).
    Ce WS est appelé depuis une web application de gestion de fichier lorsqu'un fichier doit être copié du SERVER vers le pc du CLIENT et inversement
    Nom : croquis_WS_woomerge.jpg
Affichages : 98
Taille : 78,5 Ko

    - En http, aucun problème mais en https je rencontre des problèmes de certificat.
    Coté remote (server Aix)
    - une clé server.jks est créée automatiquement à partir du certificat ".cer", normalement valide, qui se trouve sur le serveur avec la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    keytool -import -alias serverCert -file certificatTrusted.cer -storepass mdp -keystore server.jks
    J’exporte le certificat sur un autre nom pour l’installer et l’utiliser sur le pc client.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Keytool -export -alias serverCert -storepass mdp -keystore server.jks -file server.cer
    Coté localhost (pc Client)
    - J’ai utilisé le keytool pour créer un .jks avec les commandes (je ne donne pas les infos sur la compagnie :
    - je crée la clé .jks
    - j’exporte le certificat localhost.cer
    - j’importe le certificat server.cer qui se trouve sur le server
    - j’installe sur le pc le localhost.cer et le server.cer en cliquant droit « installer certifcat »
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Keytool -genkey -keystore localhost.jks -alias localhostKey -keyalg RSA -keyalg RSA -keypass mdp -storepass mdp -dname "CN=localhost, ou=1234567890, O=compagnie machin - département truc, L=Brussels, ST=Belgium, C=BE" -keysize 4096 -validity 36000
    Keytool -export -alias localhostKey -storepass changeit -keystore localhost.jks -file localhost.cer 
    Keytool -import -alias serverCert -file server.cer -storepass mdp -keystore localhost.jks
    - installé le localhost.cer et le server.cer en cliquant droit dessus et choisir "installer le certificat"
    Résultat :
    En ligne de commande, je lance le WS local. Je lance également le WS remote.
    Lorsque, via le browser, je lance l’url voici ce que réponde le WS CLIENT (dans cmd)
    Et ne parviens à communiquer avec le WS remote, probablement pour un problème de sécurité et certificat (j’ai mis en gris ce qui pourrait identifier mon entreprise)

    Nom : WS_woomerge_client_cmd.jpg
Affichages : 90
Taille : 228,1 Ko

    En cmd, la commande vers le WS localhost "https://localhost:4443/application.wadl" répond bien et me donne l'arborescence xml du fichier "wadl".
    Sur le browser, l’appel du WS localhost qui a son tour communique avec le WS remote, me renvoie une erreur de sécurité et met l’url en http plutôt qu’en https et parviens à passer le cap du WS local mais n’a aucune influence sur le WS remote !

    Nom : browser.jpg
Affichages : 90
Taille : 18,4 Ko

    Un grand merci d'avance pour votre précieuse aide
    Cpf

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    8 442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 8 442
    Points : 13 082
    Points
    13 082
    Par défaut
    est ce que vous êtes sûr de devoir utiliser le port 4443 ?
    le port habituel pour HTTPS est le 443 donc il y a peut-être une faute de frappe quelque part.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2006
    Messages : 271
    Points : 93
    Points
    93
    Par défaut
    bonjour Mathieu,

    C'est vrai qu'on utilise le 443 habituellement, mais on a choisi le 4443 pour des raisons que j'ignore d'ailleurs.

    Je ne pense pas que cela soit le problème mais bon autant essayer avec 443 et vous tiens au courant

    Merci

    cpf

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2006
    Messages : 271
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    La raison d'utiliser le port 4443 est que Apache tourne sur le site et utilise le port 443 pour le https

    Je vois que le sujet est compliqué

    Bonne fin d'année

    Cpf

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    8 442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 8 442
    Points : 13 082
    Points
    13 082
    Par défaut
    et est ce que le port 4443 est bien configuré pour être utilisé avec SSL ?
    essayez peut-être d'y accéder avec un navigateur pour voir s'il y a un autre message d'erreur qui pourrait aider à comprendre le souci.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2006
    Messages : 271
    Points : 93
    Points
    93
    Par défaut
    J'ai en partie résolu le problème mais le browser ne l'accepte pas car certificat pas trusted !
    en CMD ça fonctionne
    Je vais plus tard essayer de trusted les certificats gratuitement

    Voici ma procédure, si ça peut aider qlq'un :

    Procedure to create and to install certificate in localhost and remote server
    -----------------------------------------------------------------------------
    step 1 in de pc

    keystore for localhost (validity = 3600 = 10 years)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Keytool -genkey -keystore localhost.jks -alias localhost -keyalg RSA -keyalg RSA -keypass xxx -storepass xxx -dname "CN=localhost, ou=numberofsociety, O=compagny, L=Brussels, ST=Belgium, C=BE" -keysize 4096 -validity 3600
    
    Keytool -export -alias localhost -storepass xxx -keystore localhost.jks -file localhost.cer
    step 2 in de remote server

    keystore for remote server (validity = 3600 = 10 years)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /usr/java8/jre/bin/keytool -genkey -keystore server.jks -alias fullnameserver -keyalg RSA -keypass xxx -storepass xxx -dname "CN=fullnameserver , ou=numbrecompagny, O=Compagny, L=Brussels, ST=Belgium, C=BE" -keysize 4096 -validity 3600
    
    /usr/java8/jre/bin/keytool -export -alias fullnameserver  -storepass xxx -keystore server.jks -file server.cer
    step 3 in de pc
    ----------------
    MMC : install in Windows de localhost.cer and server.cer as procedure

    step 4 in de pc
    ----------------
    with keytool install de localhost.cer and server.cer cacerts of java in de pc
    -------------------------------------------------------------------------------
    CMD(as administrator) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Keytool -import -alias localhost -storepass xxx  -keystore "c:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\security\cacerts" -file localhost.cer
    Keytool -import -alias fullnameserver  -storepass xxx -keystore "c:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\security\cacerts" -file server.cer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/04/2016, 17h58
  2. Réponses: 1
    Dernier message: 05/11/2013, 17h35
  3. Récuperer un certificat auto-signé
    Par zaventem dans le forum VBA Word
    Réponses: 1
    Dernier message: 25/09/2009, 13h57
  4. utilisation de keystore - keytool pour certificat auto-signé
    Par turican2 dans le forum Débuter avec Java
    Réponses: 13
    Dernier message: 04/07/2009, 13h56
  5. Prism et https avec certificat auto signé
    Par wodel dans le forum Applications et environnements graphiques
    Réponses: 0
    Dernier message: 23/03/2008, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo