diff options
-rw-r--r-- | src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java b/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java index efb6312..1340f4d 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java @@ -25,10 +25,14 @@ import java.util.Comparator; import java.util.Date;
import java.util.List;
import java.util.Vector;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import at.gv.egiz.pdfas.algorithmSuite.AlgorithmSuiteUtil;
+import at.gv.egiz.pdfas.api.timestamp.TimeStamper;
import at.gv.egiz.pdfas.commandline.CommandlineConnectorChooser;
import at.gv.egiz.pdfas.exceptions.ErrorCode;
import at.gv.egiz.pdfas.exceptions.framework.CorrectorException;
@@ -477,6 +481,8 @@ public abstract class PdfAS {
// try without /n
found_index = text.lastIndexOf(caption);
+
+ // fix #331 here ??
}
log.debug("found key:" + caption + " at index:" + found_index);
if (key.equals(SignatureTypes.SIG_ID))
@@ -964,7 +970,7 @@ public abstract class PdfAS * F.e.
* @throws ConnectorException
*/
- public static SignSignatureObject sign(final SignatureData data_to_sign, final Connector connector) throws SignatureException, PDFDocumentException, ConnectorException
+ public static SignSignatureObject sign(final SignatureData data_to_sign, final Connector connector, final TimeStamper timeStamper) throws SignatureException, PDFDocumentException, ConnectorException
{
// if (data_to_sign == null || data_to_sign.getData() == null)
// {
@@ -978,6 +984,13 @@ public abstract class PdfAS // }
SignSignatureObject signed_signature_object = connector.doSign(data_to_sign);
+
+ // call timestamper if available
+ if (timeStamper != null) {
+ log.debug("execute timestamping with stamper: " + timeStamper.getClass());
+ signed_signature_object.sigTimeStamp = timeStamper.applyTimeStamp(signed_signature_object.getSignatureValue());
+ }
+
return signed_signature_object;
}
@@ -1033,7 +1046,7 @@ public abstract class PdfAS // signCommandline(pdfDataSource, dataSink, signatorId, connectorId, profile, pos);
// }
- public static SignatorInformation signCommandline(PdfDataSource pdfDataSource, DataSink dataSink, PdfASID signatorId, String connectorId, final String profile, final String signatureKeyIdentifier, TablePos pos) throws PresentableException
+ public static SignatorInformation signCommandline(PdfDataSource pdfDataSource, DataSink dataSink, PdfASID signatorId, String connectorId, final String profile, final String signatureKeyIdentifier, TablePos pos, TimeStamper timeStamper) throws PresentableException
{
at.gv.egiz.pdfas.framework.signator.Signator signator = at.gv.egiz.pdfas.framework.SignatorFactory.createSignator(signatorId);
@@ -1043,9 +1056,9 @@ public abstract class PdfAS Connector c = at.gv.egiz.pdfas.framework.ConnectorFactory.createConnector(connectorId, cp);
// SignatorInformation si = signator.prepareSign(pdfDataSource, profile, pos, ConnectorFactory.needsSIG_ID(connector));
- SignatorInformation si = signator.prepareSign(pdfDataSource, profile, pos);
+ SignatorInformation si = signator.prepareSign(pdfDataSource, profile, pos, timeStamper);
- SignSignatureObject sso = sign(si.getSignatureData(), c);
+ SignSignatureObject sso = sign(si.getSignatureData(), c, timeStamper);
si.setSignSignatureObject(sso);
@@ -1055,7 +1068,7 @@ public abstract class PdfAS }
public static SignatorInformation signCommandline(PdfDataSource pdfDataSource, DataSink dataSink, PdfASID signatorId, String connectorId, final String profile, TablePos pos) throws PresentableException {
- return signCommandline(pdfDataSource, dataSink, signatorId, connectorId, profile, null, pos);
+ return signCommandline(pdfDataSource, dataSink, signatorId, connectorId, profile, null, pos, null);
}
/**
@@ -1138,6 +1151,8 @@ public abstract class PdfAS {
Normalizer normalizer = new Normalizer();
String normalized_text = normalizer.normalize(text);
+ // fix #331 ??
+ //normalized_text = normalized_text.replaceAll("\n", "");
return normalized_text;
}
|