package es.uji.security.crypto.jxades; import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import org.junit.Before; import org.junit.Test; import es.uji.security.crypto.ISignFormatProvider; import es.uji.security.crypto.SignatureResult; import es.uji.security.crypto.VerificationResult; import es.uji.security.crypto.config.OS; import es.uji.security.crypto.test.BaseCryptoAppletTest; public class JXAdESDetachedTest extends BaseCryptoAppletTest { @Before public void init() throws FileNotFoundException { signatureOptions.setDataToSign(new ByteArrayInputStream("".getBytes())); signatureOptions.setEnveloped(false); signatureOptions.setCoSignEnabled(false); signatureOptions.setDetached(true); signatureOptions.addReference("http://www.irs.gov/pub/irs-pdf/fw4.pdf"); } @Test public void jxadesDetached() throws Exception { // Sign ISignFormatProvider signFormatProvider = new JXAdESSignatureFactory(); SignatureResult signatureResult = signFormatProvider.formatSignature(signatureOptions); showErrors(signatureResult, "target/out-jxades-detached.xml"); // Verify byte[] signedData = OS.inputStreamToByteArray(new FileInputStream("target/out-jxades-detached.xml")); JXAdESSignatureVerifier signatureVerifier = new JXAdESSignatureVerifier(); VerificationResult verificationResult = signatureVerifier.verify(signedData); showErrors(verificationResult); System.out.println(new String(signedData)); } }