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

Tomcat et TomEE Java Discussion :

Tomcat et SSL


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de jeha
    Inscrit en
    Octobre 2005
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 127
    Par défaut Tomcat et SSL
    J’ai fait un site web sur Tomcat 5.5.9 et j’ai dans mon site une page d’identification
    Est-ce que je peut avoir comme je peut sécuriser cette page en utilisent le service SSL
    J’ai trouver quelque chose sur ca dans SUN et aussi tomcat mais le problème c’est que je n’est pas comprise comment le faire marcher le service SSL sure mon serveur !!!!
    J’ai trouver des chose sur ca :
    Résumé
    Voici un exemple de code simplifié d'un serveur SSL. Il suffit simplement de savoir comment établir le port d'écoute et la gestion des certificats. En effet, la communication Client / Server se fait, ensuite, de la même façon qu'avec un Socket de base.


    Comment créer un serveur SSL ?

    Le cryptage est une chose importante qu'il ne faut pas laisser au hasard. Les données échangées avec un serveur sont susceptibles d'être interceptées par n'importe quelle personne (hacker).

    Voici le code le plus basique possible d'un serveur SSL (ouverture du port d'écoute) :

    package com.labosun.sslserver;

    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;

    import javax.net.ServerSocketFactory;
    import javax.net.ssl.SSLServerSocketFactory;

    public class Main {

    public static void main(String[] args) {

    try {
    int port = 443;
    ServerSocketFactory ssocketFactory = SSLServerSocketFactory
    .getDefault();
    ServerSocket ssocket = ssocketFactory.createServerSocket(port);

    // Attente d'un client
    Socket socket = ssocket.accept();

    // Récupération des flux d'entrée de sortie
    InputStream in = socket.getInputStream();
    OutputStream out = socket.getOutputStream();

    // Lecture d'un entier et retourne l'entier + 1
    int read = 0;
    while ((read = in.read()) != -1) {
    out.write(read + 1);
    }

    // Ferme la connexion
    in.close();
    out.close();
    } catch (IOException e) {
    System.out.println("error : " + e);
    }
    }
    }

    Vous devez générer un certificat pour le SSL. Vous pouvez le faire via la commande keytool (fournit dans le JDK). Voici un exemple :

    prompt:> keytool -keystore mySrvKeystore -genkey -keyalg RSA -alias mycert
    Tapez le mot de passe du Keystore : 123456
    Quels sont vos prénom et nom ?
    [Unknown] :
    Quel est le nom de votre unité organisationnelle ?
    [Unknown] :
    Quelle est le nom de votre organisation ?
    [Unknown] :
    Quel est le nom de votre ville de résidence ?
    [Unknown] :
    Quel est le nom de votre état ou province ?
    [Unknown] :
    Quel est le code de pays à deux lettres pour cette unité ?
    [Unknown] :
    Est-ce CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown ?
    [non] : oui

    Spécifiez le mot de passe de la clé pour <mycert>
    (appuyez sur Entrée s'il s'agit du mot de passe du Keystore) :

    Bien entendu, ce certificat ne doit être utilisé qu'à des fins de tests !

    Vous devez ensuite spécifier des propriétés à la JVM au lancement de votre serveur. Voici les arguments à rajouter :
    -Djavax.net.ssl.keyStore=mySrvKeystore -Djavax.net.ssl.keyStorePassword=123456
    • mySrvKeystore : nom du fichier keystore généré auparavant
    • 123456 : mot de passe du keystore

    Une fois lancé, le serveur écoute sur le port 443 (définit dans le code). La connexion avec le client se fera en SSL de façon transparente pour vous, développeur.
    Mais ça na pas marcher est ce que je peut avoir comme sécuriser mon formulaire

  2. #2
    Membre confirmé
    Avatar de jeha
    Inscrit en
    Octobre 2005
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 127
    Par défaut
    pas de reponse

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 233
    Par défaut
    Si tu utilises Apache avec Tomcat tu peux via la configuration de apache et quelques manipulations utililser le mode ssl, sans modifier de code java.

  4. #4
    Membre confirmé
    Avatar de jeha
    Inscrit en
    Octobre 2005
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 127
    Par défaut
    comment?

  5. #5
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut Tomcat avec SSL
    Voici comment mettre en place Apache SSL + Tomcat avec mod_jk.
    Apache 2.2.2 / Tomcat 5.5.17 / OpenSSL 0.9.8b / mod_jk 1.2.15.

    0) Prérequi
    Il faut avoir
    - Tomcat installé
    - Apache 2.2.2/SSL installé. Si la version Apache installé n'a pas de SSL, il faut chercher le package Apache avec SSL.



    1) Editer le fichier Apache-dir/conf/httpd.conf
    - Modifier les lignes

    ServeRoot "c:/Apache"
    Listen 443
    ServerName localhost
    DocumentRoot "c:/Apache/htdocs"
    <Directory "c:/Apache/htdocs">
    ScriptAlias /cgi-bin/ "c:/Apache/cgi-bin/"
    <Directory "c:/Apache/cgi-bin/">

    - Après cette ligne
    <Directory>

    Ajouter ces lignes suivantes:
    AddOutputFilterByType DEFLATE text/html text/plain text/css
    Header append Vary User-Agent

    - Activer ces modules en enlevant les commentaires
    LoadModule deflate_module modules/mod_deflate.so
    LoadModule headers_module modules/mod_headers.so
    LoadModule ssl_module modules/mod_ssl.so

    - Ajouter ces lignes à la fin du fichier httpd.conf
    #
    # Modify for Windows XP SP2
    #
    SSLMutex default
    SSLRandomSeed startup builtin
    SSLSessionCache none

    ErrorLog logs/SSL.log
    LogLevel info
    #
    Win32DisableAcceptEx

    3) Tester la configuration Apache avec le port 443
    - Ouvrir une fenêtre DOS,
    Si le service Apache n'est pas encore installé, il faut l'installer avec cette commande:
    c:\Apache\bin\httpd -k install

    c:\Apache\bin\httpd -k start

    - Avec un browser (Internet Explorer ou FireFox)
    http://localhost:443 ou http://nomserveur:443

    Si on a un écran Apache indiquant que ça marche, on va passer à l'étape suivante pour la configuration SSL. Sinon, il faut règler ce problème avant.

    4) Installation & configuration SSL
    - Copier les fichiers ssleay32.dll et libeay32.dll dans c:\Windows\System32\.
    Ces fichiers fournis avec OpenSSL 0.9.8b ou dans c:\Apache\bin si on installe le package ApacheSSL.
    - Ouvrir une fenêtre DOS, se positionner dans le répertoire c:\Apache\conf
    Taper ces commandes en donnant des informations nécessaires

    c:\Apache\bin\openssl req -config openssl.cnf -new -out monserveur.csr

    c:\Apache\bin\openssl rsa -in privkey.pem -out monserveur.key

    c:\Apache\bin\openssl x509 -in out monserveur -out out monserveur.cert -req -signkey outmonserveur.key -days 365

    - Créer le répertoire c:\Apache\conf\ssl, et dépacer les fichiers monserveur.key and monserveur.cert dans ce répertoire.

    - Ajouter ces lignes à la fin du fichier c:\Apache\conf\httpd.conf

    <VirtualHost monserveur:443>
    SSLEngine On
    SSLCertificateFile conf/ssl/monserveur.cert
    SSLCertificateKeyFile conf/ssl/monserveur.key
    </VirtualHost>

    5) Installtion & configuration jk_mod.

    - Récupérer mod_jk_xxx.* sur Apache.org, dézipper et renommer en mod_jk.so.

    - Déplacer mod_jk.so dans e répertoire c:\Apache\modules\

    - Ajouter ces lignes dans le fichier c:\Apache\conf\httpd.conf

    #
    # Connector Tomcat Apache
    #
    #------------------------------------------
    # Using JK
    #
    <IfModule !mod_jk.c>
    LoadModule jk_module modules/mod_jk.so
    JkWorkersFile "C:/Apache/conf/workers.properties"
    JkMount /jsp-examples/* worker1
    JkMount /servlets-examples/* worker1
    JkMount /exist/* worker1

    JkMount /admin/* worker1
    JkMount /manager/* worker1
    JkMount /tomcat-docs/* worker1

    ErrorLog logs/jk_mod.log
    LogLevel info
    </IfModule>

    - Créer le fichier c:\Apacheconf\workers.properties et ajouter ces lignes dans ceui-ci:

    # Define 1 real worker using ajp13
    worker.list=worker1
    # Set properties for worker1 (ajp13)
    worker.worker1.type=ajp13
    worker.worker1.host=localhost
    worker.worker1.port=8009
    worker.worker1.lbfactor=50
    worker.worker1.cachesize=10
    worker.worker1.cache_timeout=600
    worker.worker1.socket_keepalive=1
    worker.worker1.recycle_timeout=300


    6) Test d'intégration Tomcat & Apache
    - Démarrer Tomcat en premier, après démarrer Apache

    - Test avec IE ou FireFox
    http://monserveur:8080
    https://monserveur
    https://monserveur/jsp-examples/
    https://monserveur/manager/html
    https://monserveur/admin/
    Si tout va bien, on doit avoir les pages affichent correctement.

    PS: Je n'ai pas encore le temps de faire apj_proxy au lieu de mod_jk

  6. #6
    Membre Expert
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Par défaut
    salut
    Voici une autre petite doc
    http://zekey.developpez.com/tutoriel/apache/tomcat/

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

Discussions similaires

  1. Couplage Apache Tomcat via ssl
    Par samil dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 28/10/2009, 15h59
  2. tomcat, realm, SSL et form authentication
    Par matt_lc dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 05/10/2007, 11h56
  3. [Tomcat]Tomcat et SSL
    Par kitiara999 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 25/07/2005, 21h26
  4. [SSL] Apache ou Tomcat?
    Par mauvais_karma dans le forum Tomcat et TomEE
    Réponses: 13
    Dernier message: 20/05/2005, 15h41

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