diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2013-10-01 15:27:32 +0200 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2013-10-01 15:27:32 +0200 |
commit | add4460d9619f3586a02ae0d8c028f01903494bc (patch) | |
tree | 244ef6d0f0af028da98f9cecd3ee9a3424223889 /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java | |
parent | 25f5495b60fb0fb089c7af216986d2f3abf92375 (diff) | |
download | pdf-as-4-add4460d9619f3586a02ae0d8c028f01903494bc.tar.gz pdf-as-4-add4460d9619f3586a02ae0d8c028f01903494bc.tar.bz2 pdf-as-4-add4460d9619f3586a02ae0d8c028f01903494bc.zip |
+ Extracting information from Certificate (Ognl)
+ CMS KeyStore Signer (still wrong format)
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java')
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java new file mode 100644 index 00000000..fb629dd6 --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java @@ -0,0 +1,37 @@ +package at.gv.egiz.pdfas.lib.impl.signing.pdfbox; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; + +import org.apache.pdfbox.exceptions.SignatureException; +import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; +import org.apache.pdfbox.pdmodel.interactive.digitalsignature.SignatureInterface; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.gv.egiz.pdfas.common.utils.StreamUtils; +import at.gv.egiz.pdfas.common.utils.StringUtils; +import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner; + +public class PdfboxSignerWrapper implements SignatureInterface { + + private static final Logger logger = LoggerFactory.getLogger(PdfboxSignerWrapper.class); + + private IPlainSigner signer; + private PDSignature signature; + + public PdfboxSignerWrapper(IPlainSigner signer, PDSignature signature) { + this.signer = signer; + this.signature = signature; + } + + public byte[] sign(InputStream inputStream) throws SignatureException, IOException { + byte[] signature = signer.sign(StreamUtils.inputStreamToByteArray(inputStream)); + logger.debug("Signature Data: " + StringUtils.bytesToHexString(signature)); + FileOutputStream fos = new FileOutputStream("/tmp/fos.bin"); + fos.write(signature); + fos.close(); + return signature; + } +} |