SDK viafirma platform

Promoción (upgrade) de firma

Como parte de las distintas operaciones que se pueden llevar a cabo en viafirma platform, es posible realizar la promoción de firmas para los distintos formatos de firmas conocidos, de ésta forma resulta muy sencillo realizar, por ejemplo, la promoción de una firma XAdES BES a XAdES XL y luego dicha firma XAdES XL promocionarla a XAdES A.

Preparación de la firma

En el siguiente ejemplo se realiza una firma XAdES BES en servidor de un documento XML, luego se recupera el documento firmado para promocionar su firma a XAdES A.

Java

//Instanciamos el cliente
ViafirmaClient viafirmaClient = ViafirmaClientFactory.getInstance();

// Datos documento a firmar
byte[] datosAFirmar = IOUtils.toByteArray(getClass().getResourceAsStream("/prueba.xml"));

Policy pol = new Policy();
pol.setTypeFormatSign(TypeFormatSign.XADES_BES);
Documento documento = new Documento("original.xml", datosAFirmar, TypeFile.XML, TypeFormatSign.XADES_BES);

// Iniciamos la firma enviando alias y pass
String idFirma = ViafirmaClientFactory.getInstance().signByServerWithPolicy(pol, documento, alias, pass);

pol = new Policy();
pol.setTypeFormatSign(TypeFormatSign.XADES_A_ENVELOPED);
documento = new Documento("signed.xml", viafirmaClient.getDocumentoCustodiado(idFirma), TypeFile.XML, TypeFormatSign.XADES_A_ENVELOPED);

// Se promociona la firrma previa XAdES BES al formato XAdES A
viafirmaClient.upgradeSignature(pol, documento);