He creado la siguiente pagina web para firmar con xadesXL:
<html>
<head>
</head>
<script language="javascript">
function Sign(){
try{
var text='Texto a firmar';
var cp=document.getElementById("CryptoApplet");
cp.setInputDataEncoding("PLAIN");
cp.setSignatureOutputFormat("XADES");
cp.setXadesSignerRole("citizen");
cp.signDataParamToFunc(text,"onSignOk");
}catch(e){
alert(e.message);
}
}
function onInitOk(){
document.getElementById("bt1").disabled=false;
}
function onSignOk(res){
document.getElementById("sig").value=res;
document.getElementById("bt2").disabled=false;
}
function onSignError(){
alert("Peta");
}
function onSignCancel(){
alert("Cancelado!");
}
function extraure(){
document.getElementById("ext").innerHTML='<applet id="parser" name="parser"
code="paquetJava.MyApplet" width="500" height="250"
archive="xml/ExtraureXml.jar"><param name="xml"
value="'+document.getElementById("sig").value+'"></applet>';
}
</script>
<body>
<applet id="CryptoApplet" name="CryptoApplet"
code="es.uji.security.ui.applet.SignatureApplet" width="0"
height="0"
archive="uji-ui-applet-2.1.0-signed.jar,
uji-crypto-cms-2.1.0-signed.jar,
uji-crypto-core-2.1.0-signed.jar,
uji-crypto-jxades-2.1.0-signed.jar,
uji-crypto-mityc-2.1.0-signed.jar,
uji-crypto-openxades-2.1.0-signed.jar,
uji-crypto-raw-2.1.0-signed.jar,
uji-crypto-xmldsign-2.1.0-signed.jar,
uji-utils-2.1.0-signed.jar,
uji-format-facturae-2.1.0-signed.jar,
uji-format-odf-2.1.0-signed.jar,
uji-format-pdf-2.1.0-signed.jar,
uji-keystore-2.1.0-signed.jar,
uji-config-2.1.0-signed.jar,
lib/bcprov-jdk15-143.jar,
lib/bcmail-jdk15-143.jar,
lib/bctsp-jdk15-143.jar,
lib/commons-logging.jar,
lib/itext-1.4.8.jar,
lib/jakarta-log4j-1.2.6.jar,
lib/jxades-1.0-signed.jar,
lib/myxmlsec.jar,
lib/xalan-2.7.0.jar,
lib/xmlsec.jar"
mayscript>
</applet>
<br></br><h1>Firma de datos XAdES-X-L/Digidoc</h1><br></br>
La marca de tiempo introducida en la firma corresponde a la <a
href="http://www.accv.es/accv-200607_c.html">TSA de la GVA</a>
<br></br>
<center>
<textarea rows="20" cols="100" name="s" id="sig" value="unset"></textarea><br>
<input type="button" id="bt1" disabled="true" name="sign" value="firmar"
onClick="Sign()"></input>
<input type="button" id="bt2" disabled="true" name="ex" value="Extraure"
onClick="extraure()"></input><br>
<div id="ext"></div>
</center>
</body>
</html>
Pero al ejecutarla me manda el siguiente error:
DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1
es.uji.security.ui.applet.JSCommands [09:50:51,579] - New access to browser
window from Applet
DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1
es.uji.security.ui.applet.SignatureApplet [09:50:51,679] - Nimbus Look&Feel
loaded
DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1
es.uji.security.ui.applet.AppHandler [09:50:51,699] - Recover JavaScript
member: navigator
DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1
es.uji.security.ui.applet.AppHandler [09:50:51,749] - Recover JavaScript
member: userAgent
DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1
es.uji.security.ui.applet.AppHandler [09:50:51,749] - Detected user agent
mozilla/4.0 (compatible; msie 8.0; windows nt 6.1; trident/4.0; slcc2; .net clr
2.0.50727; .net clr 3.5.30729; .net clr 3.0.30729; media center pc 6.0)
DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1
es.uji.security.ui.applet.AppHandler [09:50:51,749] -
MicrosoftCryptoApi_0_3.dll already exists. Verifying existing DLL file
0000: 0E 15 8D 9F 6A C5 8B 31 - 67 30 BE 8F 4D 35 71 AB ....j..1g0..M5q.
0010: D4 C9 F9 90 ....
---
0000: 0E 15 8D 9F 6A C5 8B 31 - 67 30 BE 8F 4D 35 71 AB ....j..1g0..M5q.
0010: D4 C9 F9 90 ....
DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1
es.uji.security.ui.applet.AppHandler [09:50:51,779] - Executing System.load
DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1
es.uji.security.ui.applet.AppHandler [09:50:51,779] - Navigator variable set to
IEXPLORER
DEBUG thread applet-es.uji.security.ui.applet.SignatureApplet-1
es.uji.security.ui.applet.SignatureApplet [09:50:52,030] - Call JavaScript
method: onInitOk
DEBUG Applet 1 LiveConnect Worker Thread es.uji.security.ui.applet.AppHandler
[09:50:53,772] - Setting inputDataEncoding to PLAIN
DEBUG Applet 1 LiveConnect Worker Thread es.uji.security.ui.applet.AppHandler
[09:50:53,782] - Setting signOutputFormat to
es.uji.security.crypto.openxades.OpenXAdESSignatureFactory
DEBUG Applet 1 LiveConnect Worker Thread
es.uji.security.ui.applet.JTreeCertificateBuilder [09:50:53,902] - Building
certificate tree
DEBUG Applet 1 LiveConnect Worker Thread
es.uji.security.keystore.mscapi.MsCapiKeyStore [09:50:53,902] - Loading user
certificates from keystore MSCAPI
DEBUG Applet 1 LiveConnect Worker Thread
es.uji.security.keystore.mscapi.MsCapiKeyStore [09:50:53,902] - Loading aliases
from keystore
DEBUG Applet 1 LiveConnect Worker Thread
es.uji.security.keystore.mscapi.MsCapiKeyStore [09:50:53,912] - 1 aliases loaded
DEBUG Applet 1 LiveConnect Worker Thread
es.uji.security.keystore.mscapi.MsCapiKeyStore [09:50:53,912] - Found
certificate whith alias C=ES, O=Generalitat Valenciana, OU=PKIGVA, CN=ACCV-CA2
Serial=8034541628295712608
DEBUG Applet 1 LiveConnect Worker Thread
es.uji.security.keystore.mscapi.MsCapiKeyStore [09:50:53,912] - Loading
certificate with alias C=ES, O=Generalitat Valenciana, OU=PKIGVA, CN=ACCV-CA2
Serial=8034541628295712608
DEBUG Applet 1 LiveConnect Worker Thread
es.uji.security.ui.applet.SignatureApplet [09:50:54,383] - Call JavaScript
method: onWindowShow
ERROR Applet 1 LiveConnect Worker Thread
es.uji.security.ui.applet.SignatureApplet [09:50:54,403] - Error calling
onWindowShow
netscape.javascript.JSException: No such method "onWindowShow" on JavaScript
object
at sun.plugin2.main.client.MessagePassingJSObject.newJSException(Unknown
Source)
at sun.plugin2.main.client.MessagePassingJSObject.waitForReply(Unknown Source)
at sun.plugin2.main.client.MessagePassingJSObject.call(Unknown Source)
at
es.uji.security.ui.applet.SignatureApplet.initializeWindow(SignatureApplet.java:231)
at
es.uji.security.ui.applet.SignatureApplet.access$200(SignatureApplet.java:50)
at es.uji.security.ui.applet.SignatureApplet$11.run(SignatureApplet.java:470)
at java.security.AccessController.doPrivileged(Native Method)
at
es.uji.security.ui.applet.SignatureApplet.signDataParamToFunc(SignatureApplet.java:453)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.plugin.javascript.JSInvoke.invoke(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.plugin.javascript.JSClassLoader.invoke(Unknown Source)
at sun.plugin2.liveconnect.JavaClass$MethodInfo.invoke(Unknown Source)
at sun.plugin2.liveconnect.JavaClass$MemberBundle.invoke(Unknown Source)
at sun.plugin2.liveconnect.JavaClass.invoke0(Unknown Source)
at sun.plugin2.liveconnect.JavaClass.invoke(Unknown Source)
at
sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$DefaultInvocationDelegate.invoke(Unknown
Source)
at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$3.run(Unknown
Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo.doObjectOp(Unknown
Source)
at
sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
STORE: MSCAPI
START: 1SIGNATURECOUNT: 1
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,267] -
Getting selected certificate
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,267] -
Selected certificate:C=ES, O=Generalitat Valenciana, OU=Ciudadanos,
SURNAME=PALOMARES GASCON, GIVENNAME=ALEJANDRO, SERIALNUMBER=07262838J,
CN=ALEJANDRO PALOMARES GASCON - NIF:07262838J
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,267] -
Validating certificate
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,267] -
The certificate is valid
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,267] -
Loading certificate store
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,267] -
Certificate store loaded
Certificate Alias: C=ES, O=Generalitat Valenciana, OU=PKIGVA, CN=ACCV-CA2
Serial=8034541628295712608
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,267] -
Loading signature format:
es.uji.security.crypto.openxades.OpenXAdESSignatureFactory
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,277] -
Signer Role: citizen
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,277] -
File Name: UNSET
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,277] -
Content Type:application/binary
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,277] -
Selected a digital signature certificate
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,277] -
Encoding: PLAIN
DEBUG thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,287] -
Signing data
DEBUG thread-sig-0 es.uji.security.crypto.openxades.OpenXAdESSignatureFactory
[09:50:57,287] - Using XAdESSignatureFactory
DEBUG thread-sig-0 es.uji.security.crypto.openxades.OpenXAdESSignatureFactory
[09:50:57,287] - UJI-MSCAPI provider found
ERROR thread-sig-0 es.uji.security.ui.applet.SignatureThread [09:50:57,297] -
<html><font color='red'>No s'ha pogut calcular la signatura
java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Unknown Source)
at java.util.Properties.load0(Unknown Source)
at java.util.Properties.load(Unknown Source)
at es.uji.security.crypto.config.ConfigManager.<init>(ConfigManager.java:33)
at es.uji.security.crypto.config.ConfigManager.<init>(ConfigManager.java:19)
at
es.uji.security.crypto.config.ConfigManager.getInstance(ConfigManager.java:45)
at
es.uji.security.crypto.openxades.OpenXAdESSignatureFactory.formatSignature(OpenXAdESSignatureFactory.java:91)
at es.uji.security.ui.applet.SignatureThread.run(SignatureThread.java:298)
DEBUG thread-sig-0 es.uji.security.ui.applet.AppHandler [09:50:57,297] - Call
JavaScript method: onSignError
He modificado el jar "uji-config-2.1.0-signed" añadiendole el archivo
"ocspaccvca2" ademas de añadirle las lineas que habeis comentado en otro post y
cambiado el valor ds "DIGIDOC_OCSP_COUNT" en el archivo "ujiCrypto.conf"
Sabeis a que es debido este error?
Muy agradecido atentamente Alejandro Palomares
_________________________________________________________________
Recibe en tu HOTMAIL los emails de TODAS tus CUENTAS. + info
http://www.vivelive.com/hotmail-la-gente-de-hoy/index.html?multiaccount_______________________________________________
CryptoApplet mailing list
[email protected]
http://llistes.uji.es/mailman/listinfo/cryptoapplet