He estado buscando la solución a mi problema por el foro pero no la he encontrado.
La cuestión en si, es:
Se tiene en una pagina JSP que obtener los Certificados que el cliente tiene en esa maquina, para ello en IE funciona perfectamente pero en FireFox 2 no(de la version 3.0 ya ni hablo ...),
el codigo para ello es sencillo y publicado en montón de sitios de Internet:
Código:
Eso por una parte y luego también llevo buscando la solución varios dias al problema que cuando se le da al boton de aceptar firme un dato seleccionado con el certificado que el usuario ha elegido en la JSP, que con IE funciona perfectamente con la CAPICOM, pero para FireFox 2, según el codigo JavaScript que he visto por la red debiera funcionar (más que nada porque todas las Webs lo ponen igual) pero no se que es lo que hay mal:function listaCertificados(selector){ try{ var mystore = new ActiveXObject("CAPICOM.Store"); var SubjectNameCn = "MY"; mystore.Open(CAPICOM_CURRENT_USER_STORE, SubjectNameCn, CAPICOM_STORE_OPEN_READ_ONLY); var listCerts = mystore.Certificates; selector.options.length=0; if(listCerts.Count >0 ){ for(j=1;j<=listCerts.Count;j++){ var linea = "CN= "+listCerts(j).GetInfo(CAPICOM_CERT_FIND_CN) ; selector.options[j-1] = new Option(linea,j); } } }catch(e){ alert("error al cargar los certificados"); return false; } return true; }
Código:
Un saludo y gracias por adelantado function AuthenticateFirefox(){ var hash = "1";//document.getElementById("certs").value; document.getElementById("data").value = document.getElementById("certs").value; var firmado = window.crypto.signText(hash, "ask"); if (firmado.substring(0,5) =="error") { alert("Your navigator has not generate a valid sign"); return; } else if (firmado =="no generada") { alert("Your navigator has not generate a sign."); return; } else { return firmado; } }