Buenas Javier, te cuento como lo he realizado yo:

tengo una pagina de asp .net a la que le paso por parámetros el nombre del xml, esta pagina carga el applet y le dice que firme el xml y que lo envie a otra página, en la otra página simplemente guardo lo que me manda el cryptoapplet.... Cuando utilices el código piensa que tienes que retocar bastantes rutas por las tuyas, bueno te pongo el codigo de la primera pagina , fijate que es de .net pero que casi todo se hace en javascript para que funcione el cryptoapplet

<%@ Page Language="C#" MasterPageFile="~/facturacion/master/facturacion.Master" AutoEventWireup="True" CodeBehind="Default.aspx.cs" Inherits="facturae._Default" Title="Página sin título" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

  <script language="JavaScript">
function onInitOk(){
document.getElementById("btn1").disabled=false;
}


function onSignOk(){
//document.location= "firmas/signed_fac.xml";
}


// truco para sacar donde estan los archivos..
function getUrl(){
var strReturn = "";
var strHref = window.location.href;
//alert(strHref);
if ( strHref.indexOf("/") > -1 ){
var strQueryString = strHref.substr(0,strHref.lastIndexOf("/")+1).toLowerCase();
   strReturn=strQueryString;
   //alert(strQueryString);
}
return unescape(strReturn);
}

function getQueryString(){
var strReturn = "";
var strHref = window.location.href;
//alert(strHref);
if ( strHref.indexOf("/") > -1 ){
var strQueryString = strHref.substr(strHref.lastIndexOf("?")+1,strHref.length-1).toLowerCase();
   strReturn=strQueryString;
   //alert(strQueryString);
}
return unescape(strReturn);
}

// saca la variable que pasan por file=....
function getQueryStringFile(){
var strReturn = "";
var strHref = window.location.href;
//alert(strHref);
if ( strHref.indexOf("/") > -1 ){
var strQueryString = strHref.substr(strHref.lastIndexOf("?file=")+6,strHref.indexOf("&")-strHref.lastIndexOf("?file=")-6).toLowerCase();
   strReturn=strQueryString;
   //alert(strQueryString);
}
return unescape(strReturn);
}


function sign(){

  // utilizo una funcion para sacar la url, ya
  // que el applet solo utiliza rutas absolutas
  var queryString= getQueryString();
  var urlInicial=getUrl();
  var archivo = getQueryStringFile();

var fileToEncrypt= "http://micasoft.es/efactur/facturacion/dbfacturas/"; + archivo ; // obama //var fileToEncrypt= "http://localhost:1565/facturacion/dbfacturas/"; + archivo ; //local
  var urlPhp= urlInicial + "save.aspx" + "?" + queryString;
   //  alert(fileToEncrypt);
   // alert(urlPhp);
   //alert(queryString);

cp= document.getElementById('CryptoApplet');
cp.setLanguage("ES");
cp.setSignatureOutputFormat("FACTURAE");
cp.setInputDataEncoding("PLAIN");

cp.signDataUrlToUrl(fileToEncrypt, urlPhp);
}

function onSignOk(res)
{
  // activamos el boton de descarga ...
  document.getElementById("btn1").disabled=true;
  document.getElementById("btn2").disabled=false;
  document.getElementById("btn3").disabled=false;

}
  function seguir ()
{
  //var queryString= getQueryString();
  document.aspnetForm.action = "../factura/nuevafact.aspx";
  document.aspnetForm.target="_self";
  document.aspnetForm.__VIEWSTATE.name = 'NOVIEWSTATE';
  document.aspnetForm.submit();
}

function download()
{
  var urlInicial=getUrl();
  var urlDescarga = "";
  var archivo= getQueryStringFile();

  urlDescarga = "../factura/xml.ashx?xml=" + archivo;
  window.open(urlDescarga, '_self')
}
 </script>
    <div align="center">
  <br /><br />
  Debe esperar a que se cargue el manejador de certificados digitales.
  <br />
  Cuando este se cargue pulse sobre el botón Firmar.<br />
      <br />
<applet id="CryptoApplet" code="es.uji.dsign.applet2.SignatureApplet" width="100" height="100" codebase="app" archive="ujiApplet-2.0.5.jar, ujiConfig-2.0.5.jar, ujiCrypto-2.0.5.jar, ujiUtils-2.0.5.jar, libs/xalan-2.7.0.jar, libs/jakarta-log4j-1.2.6.jar, libs/bcprov-jdk15-143.jar, jxades.jar" mayscript></applet>
<br/>
<br/><br/>
Pulsa el bot&oacute;n para firmar: <br/><br/>
<button id="btn1" disabled="true" onClick="sign();">Firmar</button>
<button id="btn2" disabled="true" onClick="seguir();">Seguir facturando</button> <button id="btn3" disabled="true" onClick="download();">Descargar el documento firmado</button>
      <br />
      <br />
  </div>

</asp:Content>

Javier Padrón Romero escribió:
Buenos días,
No tengo mucha idea de programación y no he encontrado nada al respecto en
el foro.
El problema es que estoy usando la última versión del applet desde una
página web muy muy muy sencilla que he hecho, no tengo capacidad para hacer
ninguna virguería, pero funciona bien.
Ahora tengo que poder llamarlo desde un código .NET que me han pasado y
pasándole un fichero xml como parámetro. Se puede hacer esa llamada? Como
sería?
En caso que no se pudiese, imagino que si se podrá cargar directamente la
página web, eso lo puedo buscar yo, pero no se si me podríais ayudar o saber
si tenéis algún ejemplo de como pudiese ser el código de esa página para que
tomará el fichero que yo le pasara desde .NET y ese fichero pasárselo al
applet para que lo firmara, bueno tampoco se si se puede hacer o no... la
verdad que estoy un poco perdido con este tema.

Muchas gracias

------------------------------------------------------------------------

_______________________________________________
CryptoApplet mailing list
[email protected]
http://llistes.uji.es/mailman/listinfo/cryptoapplet

<<attachment: luismolina.vcf>>

_______________________________________________
CryptoApplet mailing list
[email protected]
http://llistes.uji.es/mailman/listinfo/cryptoapplet

Responder a