Service Web Java WSDL Obtention du certificat client


J'ai un service Web SOAP fait en Java, fonctionnant sur Oracle Weblogic. Et je dois obtenir le certificat qui est censé être fourni par le client qui se connecte, et extraire des informations (IssuerDN). Comment pourrais-je aller à ce sujet?

Edit: Je pense que la 1ère chose sur laquelle je suis coincé est de savoir comment obtenir le flux/connexion d'entrée? Alors comment pourrais-je obtenir le certificat?

Author: bhavicp, 2013-09-03

1 answers

Cela dépend de l'implémentation que vous exécutez. I dans certains cas, le certificat de demande peut être placé sur le SOAPMessageContext. Si tel est le cas, vous pouvez implémenter un SOAPhandler pour obtenir le certificat utilisé dans la demande.

Par exemple, dans l'implémentation basée sur IBM Webspheres Axis2 de JAX-WS, le code suivant récupérera le certificat:

public X509Certificate getRequestCertificate(SOAPMessageContext aMessageContext) {
    return ((java.security.cert.X509Certificate) aMessageContext.get("com.ibm.xml.soapsec.RequestCert"));
}

Avis, soyez conscient de ce qui suit. Le code ci-dessus peut pas{[7] } être pris en charge par le fournisseur du web implémentation du conteneur de service.

 1
Author: Robert Höglund, 2013-09-03 05:53:57