diff options
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/dsig/util')
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java | 52 | ||||
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/package-info.java | 8 |
2 files changed, 60 insertions, 0 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java new file mode 100644 index 00000000..17770737 --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/DsigMarschaller.java @@ -0,0 +1,52 @@ +package at.gv.egiz.dsig.util; + +import java.io.InputStream; +import java.io.OutputStream; +import java.io.StringReader; +import java.io.StringWriter; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import javax.xml.bind.Unmarshaller; +import javax.xml.namespace.QName; + +public class DsigMarschaller { + private static Marshaller marshaller = null; + private static Unmarshaller unmarshaller = null; + + public final static QName X509DataTypeX509Certificate_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Certificate"); + + static { + try { + JAXBContext context = JAXBContext.newInstance("at.gv.egiz.dsig"); + marshaller = context.createMarshaller(); + marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); + + unmarshaller = context.createUnmarshaller(); + } catch (JAXBException e) { + throw new RuntimeException( + "There was a problem creating a JAXBContext object for formatting the object to XML."); + } + } + + public static void marshal(Object obj, OutputStream os) throws JAXBException { + marshaller.marshal(obj, os); + } + + public static String marshalToString(Object obj) throws JAXBException { + StringWriter sw = new StringWriter(); + marshaller.marshal(obj, sw); + return sw.toString(); + } + + public static Object unmarshal(InputStream is) throws JAXBException { + return unmarshaller.unmarshal(is); + } + + public static Object unmarshalFromString(String message) throws JAXBException { + StringReader sr = new StringReader(message); + return unmarshaller.unmarshal(sr); + } +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/package-info.java b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/package-info.java new file mode 100644 index 00000000..942b7215 --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/dsig/util/package-info.java @@ -0,0 +1,8 @@ +/** + * + */ +/** + * @author afitzek + * + */ +package at.gv.egiz.dsig.util;
\ No newline at end of file |