2012-03-21 4 views

Répondre

1

La validation étendue est surtout utile du point de vue de l'interface utilisateur. Ce n'est pas très utile si votre client n'a rien dans son interface utilisateur pour afficher le certificat. Ces vérifications ne sont pas intégrées par défaut dans le JSSE, peut-être parce que la demande est faible (absence de navigateurs Java). (En passant, vous devez vérifier le certificat que vous obtenez lors de la connexion, ne pas vérifier avec une première connexion et se connecter avec un autre, juste au cas où).

Les spécifications sont définies par le CA/browser forum.

Les valeurs OID et les empreintes de certificat CA racine sont codées en dur dans les navigateurs (voir security/certverifier/ExtendedValidation.cpp in Firefox, used to be in in security/manager/ssl/src/nsIdentityChecking.cpp). Il y a aussi un list on Wikipedia pour référence, bien qu'en principe vous devriez vérifier les OID de politique avec chaque CA.

Pour analyser les extensions, il peut être utile d'utiliser BouncyCastle si X509Certificate.getExtensionValue() n'est pas suffisant.

Un problème que vous devrez faire attention est que les empreintes digitales SHA-1 codées en dur des certificats d'autorité de certification racine doivent correspondre exactement à ces certificats dans le magasin de confiance. Certaines autorités de certification renouvellent de temps en temps leurs certificats d'autorité de certification dans les offres groupées avec la plupart des navigateurs/systèmes d'exploitation/JRE: assurez-vous de les utiliser de la même manière.

Questions connexes