aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java
diff options
context:
space:
mode:
authorJakob Heher <jakob.heher@iaik.tugraz.at>2026-05-12 15:33:19 +0200
committerGitHub <noreply@github.com>2026-05-12 15:33:19 +0200
commitc8abbd8bef5349ab892a2853a4e5e3d5ed16b670 (patch)
tree04e86de8b547ac2685165cdf652b6c16355ae3c3 /pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java
parente2bfdc313c0b6395d272624688b4ed1cba7ce967 (diff)
downloadpdf-as-4-c8abbd8bef5349ab892a2853a4e5e3d5ed16b670.tar.gz
pdf-as-4-c8abbd8bef5349ab892a2853a4e5e3d5ed16b670.tar.bz2
pdf-as-4-c8abbd8bef5349ab892a2853a4e5e3d5ed16b670.zip
Update docs & various fixes discovered in the process (#86)
- update documentation for pdf-as 5 - document the v2 json api - fix a number of documentation quirks - document `keyId` parameter - px (pixels) -> pt (pdf page units) - document --verify_level - remove a number of documented features that were never implemented: - `adobeSignFieldValue` and `sigLogoAltText` from signature profiles - `UNDERLINE` and `STRIKETHRU` from fonts - `num-bytes` parameter - `verify_only`/`sign_only` enable states for profiles - update mobile BKU base URL - update pdfbox backend default to 3 in sample configurations - consistently made boolean parsing from configuration files case permissive - add moa verification timeout - add support for BOLDITALIC to all base fonts, and for ITALIC to helvetica and courier - fix a number of small quirks - hibernate properties are now reloaded properly - fix the signature block parameter key regex - v1 json api now correctly checks for onlinebku/mobilebku being enabled - pdfbox 2 module correctly compares for integer equality regardless of cached boxed ints - test operationcountwatcher no longer sometimes breaks due to spring context differences
Diffstat (limited to 'pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java')
-rw-r--r--pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java b/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java
index 21d90681..ba455ae0 100644
--- a/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java
+++ b/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAVerifier.java
@@ -11,6 +11,7 @@ import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import jakarta.xml.ws.BindingProvider;
+import lombok.val;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.w3._2000._09.xmldsig_.KeyInfoType;
@@ -39,9 +40,11 @@ public class MOAVerifier implements IVerifier {
.getLogger(MOAVerifier.class);
private static final String MOA_VERIFY_URL = "moa.verify.url";
+ private static final String MOA_VERIFY_TIMEOUT = "moa.verify.timeout";
private static final String MOA_VERIFY_TRUSTPROFILE = "moa.verify.TrustProfileID";
private String moaEndpoint;
+ private Long moaTimeout;
private String moaTrustProfile;
@@ -58,6 +61,11 @@ public class MOAVerifier implements IVerifier {
SignatureVerificationPortType verificationPort = service.getSignatureVerificationPort();
BindingProvider provider = (BindingProvider) verificationPort;
provider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, this.moaEndpoint);
+ if (this.moaTimeout != null) {
+ provider.getRequestContext().put("jakarta.xml.ws.client.connectionTimeout", this.moaTimeout);
+ provider.getRequestContext().put("jakarta.xml.ws.client.receiveTimeout", this.moaTimeout);
+ }
+
VerifyCMSSignatureRequest verifyCMSSignatureRequest = new VerifyCMSSignatureRequest();
verifyCMSSignatureRequest.setTrustProfileID(this.moaTrustProfile);
verifyCMSSignatureRequest.setCMSSignature(signature);
@@ -185,6 +193,14 @@ public class MOAVerifier implements IVerifier {
public void setConfiguration(Configuration config) {
this.moaEndpoint = config.getValue(MOA_VERIFY_URL);
this.moaTrustProfile = config.getValue(MOA_VERIFY_TRUSTPROFILE);
+ val timeout = config.getValue(MOA_VERIFY_TIMEOUT);
+ if (timeout != null) {
+ try {
+ this.moaTimeout = Long.valueOf(timeout);
+ } catch (NumberFormatException e) {
+ logger.warn("Failed to convert MOA verification timeout '{}' to a number", timeout, e);
+ }
+ }
}
@Override