Certificados Digitales (Urgente)

luis
18 de Mayo del 2005
Hola:

Necesito implementar una autenticacion por certificados digitales. Pruebo este ejemplo en una jsp:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<%@ page
language="java"
contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"
import="java.security.cert.X509Certificate"
errorPage="error.jsp"
%>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="GENERATOR" content="IBM WebSphere Studio">
<TITLE>index.jsp</TITLE>
</HEAD>
<BODY>
<H1>PRUEBAS SSL</H1>
<%


X509Certificate certChain [] = (X509Certificate [])request.getAttribute("javax.servlet.request.X509Certificate");

if (certChain!=null && certChain[0]!=null) {
certChain = (X509Certificate [])request.getAttribute("javax.net.ssl.peer_certificates");
}

if (certChain!=null && certChain[0]!=null) {
out.println("nCERTIFICADO VALIDO: " );
out.println("<BR><BR>");
out.println("n**********************************");
out.println("<BR><BR>");
out.println("n" + certChain[0]);
} else {
out.println("NO HAY CERTIFICADO");
}

%>

</BODY>
</HTML>


y siempre me dice que no hay certificado, es decir cert=null. He generado certificados (con el makecert etc...) pero na de na, siempre me dice que es null y por tanto que no hay certificado.

¿Que pasa? Ayuda por favor

Gracias

javier
18 de Mayo del 2005
no se, a mi me pasa lo mismo

no-registrado
18 de Mayo del 2005
La comprobación debería ser:

if (certChain==null || certChain[0]==null) {
certChain = (X509Certificate [])request.getAttribute("javax.net.ssl.peer_certificates");
}

Si no, estás machacando lo que hayas leído de X509Certificate con el peer_certificates