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

Services Web Discussion :

Authentification certificat x509


Sujet :

Services Web

  1. #1
    Modérateur
    Avatar de toopac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 940
    Points : 2 913
    Points
    2 913
    Par défaut Authentification certificat x509
    Bonjour,

    J'ai créé un service web, qui fonctionne très bien pour l'instant.

    Mon problème concerne l'authentification.
    On doit pourvoir s'identifier par plusieurs moyens. Ces moyens sont choisis par l'utilisateur, via une énumération passée en paramètre de la méthode exposée par mon service web.
    Pour l'instant seule une simple authentification par login et mot de passe est implémentée.

    Il faut maintenant que j'ajoute l'authentification par certificat.

    J'ai un fichier .pfx, et sa passphrase. Je l'ai installé la console MMC, puis je l'ai exporté sans la clé privée pour créer un fichier .cer

    Gros problème j'ai un peu de mal à comprendre le principe de l'authentification par certificat. Et je n'arrive pas à trouver de littérature que je puisse comprendre...

    Est-ce que quelqu'un a un lien sous la main m'expliquant tout ça, ou aurait le temps de me l'expliquer directement?

    Merci!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Points : 346
    Points
    346
    Par défaut
    Salut toopac,

    As-tu déjà essayé avec la classe "X509Certificate" de c#?

    Cédric

  3. #3
    Modérateur
    Avatar de toopac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 940
    Points : 2 913
    Points
    2 913
    Par défaut
    Salut Cédric

    J'ai vu la classe X509Certificate, mais en réalité mon problème tiens plus dans la compréhension du l'authentification par certificat que par l'implémentation (pour l'instant en tout cas^^).

    J'ai un pxf, qui contient une clé publique et une clé privée.
    J'ai un cer qui contient la même clé publique.

    Mais avec ça je ne vois pas trop comment authentifier quelqu'un...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Points : 346
    Points
    346
    Par défaut
    Salut toopac,

    Pour ma part, j'avais utilisé une classe interface qui appelait un autre service web où j'avais associé mon login, mot de passe et certificat. Au lieu de partir dans de grands explications, je te montre ci-dessous l'implémentation que j'ai faite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    interface.Url = url;
    ...
    interface.ClientCertificates.Add(X509Certificate.CreateFromCertFile(certFile));
    ...
    credentials.UserName = username;
    credentials.Password = password;
    interface.PreAuthenticate = true;
    cache.Add(new Uri(url), "Basic", credentials);
    interface.Credentials = cache;
    J'espère que ceci t'aidera mieux à comprendre ce fonctionnement!

    Cédric

  5. #5
    Modérateur
    Avatar de toopac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 940
    Points : 2 913
    Points
    2 913
    Par défaut
    Désolé de ma réponse tardive, j'étais parti sur un projet plus urgent. C'est fini je reviens donc sur l'authentification.

    Honnêtement ça m'aide pas des masses à comprendre le principe.

    Chez moi l'authentification doit être gérée uniquement avec le certificat. Pas de mot de passe ni de login.

    Et c'est pas tant l'implémentation qui me pose problème mais le fonctionnement.

    Qu'est ce que le client doit envoyer au serveur?
    Comment le serveur avec ce qu'il a reçu du client arrive à dire "ok, c'est bon lui je le connais".

    Le pfx/cer se trouve côté client ou serveur?

  6. #6
    Modérateur
    Avatar de toopac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 940
    Points : 2 913
    Points
    2 913
    Par défaut
    J'ai finalement compris le fonctionnement, j'avais juste une mauvaise idée en tête qui m'empêchait de bien comprendre le fonctionnement (au final pas si compliqué de ça).

    Voici au final le schéma qui m'a aidé, et que j'ai trouvé le plus parlant :

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

Discussions similaires

  1. Comment signer un fichier XML avec certificat X509 (.pfx)
    Par imad_eddine dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 08/03/2011, 11h27
  2. Certificat X509 sur Apache et authentification
    Par cedricgirard dans le forum Sécurité
    Réponses: 2
    Dernier message: 19/08/2008, 16h11
  3. Accepter automatiquement un certificat X509
    Par kayanwan dans le forum ASP.NET
    Réponses: 3
    Dernier message: 16/11/2007, 01h41
  4. Construction de certificats X509
    Par KenPark dans le forum Sécurité
    Réponses: 2
    Dernier message: 12/07/2007, 14h50
  5. Récupérer le CN d'une certificat X509
    Par sfaxi dans le forum Apache
    Réponses: 1
    Dernier message: 30/05/2007, 20h01

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