From 8e3ed85168edaeadcd4f3ec92450036a399d6ede Mon Sep 17 00:00:00 2001 From: knowcenter Date: Sat, 12 May 2007 17:37:16 +0000 Subject: Detached Multipart BKU for Auftrag "Support" git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@73 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../wag/egov/egiz/pdf/BinarySignature.java | 40 ++++++++++++++++++---- 1 file changed, 33 insertions(+), 7 deletions(-) (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java') diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java index e10061c..52d1d9f 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java @@ -27,6 +27,8 @@ import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateEncodingException; +import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -1131,11 +1133,11 @@ public abstract class BinarySignature */ public static void replaceCertificate(IncrementalUpdateInformation iui) throws PDFDocumentException { - X509Cert cert = iui.signed_signature_object.getX509Cert(); - // X509Certificate certificate = cert.getX509Certificate(); + X509Certificate certificate = iui.signed_signature_object.getX509Certificate(); try { - byte[] encoded = cert.getCertString().getBytes("US-ASCII"); // certificate.getEncoded(); + byte[] der = certificate.getEncoded(); + byte[] encoded = CodingHelper.encodeBase64(der).getBytes("US-ASCII"); byte[] escaped = Placeholder.escapePDFString(encoded); if (escaped.length > iui.cert_length) { @@ -1143,14 +1145,38 @@ public abstract class BinarySignature } System.arraycopy(escaped, 0, iui.signed_pdf, iui.cert_start, escaped.length); } - // catch (CertificateEncodingException e) - // { - // throw new PDFDocumentException(300, e); - // } + catch (CertificateEncodingException e) + { + throw new PDFDocumentException(300, e); + } catch (UnsupportedEncodingException e) { throw new PDFDocumentException(300, e); } + + // X509Cert cert = iui.signed_signature_object.getX509Cert(); + // // X509Certificate certificate = cert.getX509Certificate(); + // try + // { + // byte[] encoded = cert.getCertString().getBytes("US-ASCII"); // + // certificate.getEncoded(); + // byte[] escaped = Placeholder.escapePDFString(encoded); + // if (escaped.length > iui.cert_length) + // { + // throw new PlaceholderException("certificate", escaped.length - + // iui.cert_length); + // } + // System.arraycopy(escaped, 0, iui.signed_pdf, iui.cert_start, + // escaped.length); + // } + // // catch (CertificateEncodingException e) + // // { + // // throw new PDFDocumentException(300, e); + // // } + // catch (UnsupportedEncodingException e) + // { + // throw new PDFDocumentException(300, e); + // } } /** -- cgit v1.2.3