2017-10-16 4 views
0

Ich denke, das muss sehr einfach sein, aber ich bin ein bisschen verloren.Bitten um digitales Zertifikat

Das Problem ist sehr einfach, ich habe eine Web-App, die sich mit einem digitalen Zertifikat anmelden muss. Ich habe noch nie digitale Zertifikate verwaltet, also habe ich versucht, die Art und Weise zu kopieren, wie andere Apps es tun. Im Login-Controller:

NegocioException.assertTrue(request.getAttribute(ConpactConstantes.ATRIBUTO_CERTIFICADO) != null, "Para acceder al sistema ha de indicarse el certificado digital."); 
    X509Certificate[] certificados = (X509Certificate[]) request.getAttribute(ConpactConstantes.ATRIBUTO_CERTIFICADO); 
    X509Certificate certificado = certificados[0]; 

wenn wir mir die Login-Taste drücken, habe ich kein Fenster für das Zertifikat zu fragen, wie die anderen Anwendungen zu tun, und wenn dabei: request.getAttribute(ConpactConstantes.ATRIBUTO_CERTIFICADO) I erhalten null.

Wie kann ich das Fenster auslösen, um das Zertifikat auszuwählen? Verwenden von weblogic 10.3.6

Antwort

0

Der korrekte Name des Attributs ist javax.servlet.request.X509Certificate (Servlet Specification 3.0 # 3.8). Es wird tatsächlich als X509Certificate[] geliefert. Sie müssen Ihren Servlet- oder J2EE-Container konfigurieren, um das Client-Zertifikat anzufordern oder anzufordern. Wenn es nicht vorhanden ist, wurde es nicht geliefert.

+0

ja, der konstante 'ConpactConstantes.ATRIBUTO_CERTIFICADO' Wert ist der:' javax.servlet.request.X509Certificate'. –

+0

Also hast du getan, was ich in meinem letzten Satz gesagt habe? Korrekt? – EJP

+0

"Sie müssen Ihren Servlet oder J2EE-Container konfigurieren, um das Client-Zertifikat anzufordern oder anzufordern" ---> Ich denke, das ist der Punkt, ich weiß nicht wie. –

Verwandte Themen