/* DigiDoc4J library
*
* This software is released under either the GNU Library General Public
* License (see LICENSE.LGPL).
*
* Note that the only valid version of the LGPL license as far as this
* project is concerned is the original GNU Library General Public License
* Version 2.1, February 1999
*/
package prototype.samples;
import org.digidoc4j.Container;
import org.digidoc4j.ContainerBuilder;
import org.digidoc4j.Signature;
import org.digidoc4j.SignatureBuilder;
import org.digidoc4j.signers.PKCS12SignatureToken;
import java.io.*;
public class SerializeExample {
public static void main(String[] args) throws IOException, ClassNotFoundException {
serialize();
deserializer();
}
private static void serialize() throws IOException {
System.setProperty("digidoc4j.mode", "TEST");
Container container = ContainerBuilder.
aContainer().
withDataFile("testFiles/test.txt", "text/plain").
build();
container.addDataFile("testFiles/test.txt", "text/plain");
FileOutputStream fileOut = new FileOutputStream("container.bin");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(container);
out.flush();
out.close();
fileOut.close();
}
private static void deserializer() throws IOException, ClassNotFoundException {
FileInputStream fileIn = new FileInputStream("container.bin");
ObjectInputStream in = new ObjectInputStream(fileIn);
Container container = (Container) in.readObject();
Signature signature = SignatureBuilder.
aSignature(container).
withSignatureToken(new PKCS12SignatureToken("testFiles/signout.p12", "test".toCharArray())).
invokeSigning();
container.addSignature(signature);
container.saveAsFile("SerializeExample.bdoc");
in.close();
fileIn.close();
}
}