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

Glassfish et Payara Java Discussion :

Récupérer certificat authentification SSL


Sujet :

Glassfish et Payara Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Points : 62
    Points
    62
    Par défaut Récupérer certificat authentification SSL
    Bonjour à tous,

    Je développe une application qui est déployée sous Glassfish. Nous utilisons de l'authentification forte des clients par certificats SSL.

    Une fois que la connexion est établie, nous voudrions pouvoir récupérer le certificat client dans notre application. Connaissez-vous un moyen de faire ceci svp ?

    Merci d'avance pour vos réponses.

  2. #2
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    et voilà :

    http://stackoverflow.com/questions/3...ervice-context

    tu as aussi ce petit tuto :
    http://emo.sourceforge.net/cert-login-howto.html

    et encore celui-ci :
    http://documentation.progress.com/ou...rity_api5.html


    perso, comme j'utilise Spring Security dans mes applis, j'utilise ceci pour gérer les certificats X509 :
    http://whitey.wikidot.com/spring-security-x509
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Points : 62
    Points
    62
    Par défaut Glassfish JAAS
    Bonjour,

    Merci pour ta réponse ! En fait, j'ai développé un EJB accessible en Web Service. Je n'ai pas de Servlet. Je n'arrive donc pas à utiliser la méthode que tu m'as donnée.

    Avec Glassfish, il est possible de personnaliser le système d'authentification JAAS. Pour le moment, j'utilise la méthode JDBCRealm mais celle-ci ne vérifie que le login, le mot de passe et le groupe de l'utilisateur. Je souhaiterai ajouter une vérification supplémentaire avec un certificat. En fait, dans mon appli, une connexion peut etre acceptée si l'utilisateur envoie le usernametoken (username+password) + le certificat utilisé avec https. Un client utilisant un certificat 1 ne peut pas utilisé les usernametoken d'un client utilisant un certificat 2.

    J'ai pensé à ajouter une colonne certificat dans ma table et développer un loginmodule qui vérifierait dans la base la colonne certificat en plus de la colonne login et password (comme le fait JDBCRealm) mais je bloque sur l'ajout du certificat dans l'objet Subject appelé dans la méthode initialize de la classe qui implémente LoginModule.

    D'autres idées ?

    Merci d'avance !

  4. #4
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    si si, en WebService (avec JAW-WS je présume) même en EJB tu as accès au contexte de servlet qui l'a déclenché ... car un WebService ... s'appuie sur Servlet, via le WebServiceContext :

    http://stackoverflow.com/questions/1...ava-web-servic
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Points : 62
    Points
    62
    Par défaut Re
    Merci beaucoup pour ta réponse !

    Effectivement, cela permettrait de résoudre mon problème. Je souhaiterai que cette vérification soit effectuée à chaque appel d'un WS. Est-ce possible (sans le faire à la main systématiquement) ?

    Bon apreme !

  6. #6
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Moi je ferais cela dans un SoapHandler.

    http://www.mkyong.com/webservices/ja...n-server-side/


    j'ai déjà fait de la vérification pas Basic Auth dans un Soap Handler, mais pas avec certificat. Mais comme on a accès à la request dans un SoapHandler ...

    Un SoapHandler, c'est un peu comme un ServletFilter : ça s'intercale entre l'implémentation d'un WebService et le traitement de la requête HTTP.

    D'ailleurs en dernier recours, je pense qu'un "simple" Filter ferait l'affaire.

    A+
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Points : 62
    Points
    62
    Par défaut re
    Merci pour ta réponse.

    Je ne sais plus trop quoi faire. J'aurais aimé que cela soit systématique. Avec ta solution, en enlevant la reference au fichier xml dans l'ejb, on pourrait accéder au service. Or, je ne peux pas prendre ce risque...

    Bonne soirée !

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Points : 62
    Points
    62
    Par défaut
    Merci pour ton aide. Je vais utiliser ta méthode avec le ws-context !

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

Discussions similaires

  1. Choix sur le certificat d'authentification ssl
    Par Redak2010 dans le forum Sécurité
    Réponses: 1
    Dernier message: 23/04/2014, 16h59
  2. fonctionnement authentification SSL
    Par suya95 dans le forum Sécurité
    Réponses: 1
    Dernier message: 14/12/2008, 15h36
  3. Réponses: 6
    Dernier message: 10/09/2008, 11h50
  4. Récupération d'infos sur une authentification SSL
    Par noisy_man dans le forum Apache
    Réponses: 1
    Dernier message: 24/01/2008, 15h45
  5. Certificat, protocole SSL et Windows 2003
    Par PTIQUET dans le forum 4D
    Réponses: 5
    Dernier message: 06/07/2006, 09h58

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