aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java
diff options
context:
space:
mode:
authorAlexander Marsalek <amarsalek@iaik.tugraz.at>2021-07-02 14:06:44 +0200
committerAlexander Marsalek <amarsalek@iaik.tugraz.at>2021-07-02 14:06:44 +0200
commit8ed8e4e931c1cb3d3c814a53a07f73b566c3b719 (patch)
treedba21ab5f37c7dee3265cdc43796d1aa9bfa5266 /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java
parentb51e3b877fa7c8b930e63fd8e1317e34d7d4773e (diff)
downloadpdf-as-4-8ed8e4e931c1cb3d3c814a53a07f73b566c3b719.tar.gz
pdf-as-4-8ed8e4e931c1cb3d3c814a53a07f73b566c3b719.tar.bz2
pdf-as-4-8ed8e4e931c1cb3d3c814a53a07f73b566c3b719.zip
v4.2.0
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java')
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java
index edb87eb2..d7d83b34 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/CertificateResolver.java
@@ -28,11 +28,17 @@ import at.gv.egiz.pdfas.common.utils.DNUtils;
import at.gv.egiz.pdfas.common.utils.OgnlUtils;
import at.gv.egiz.pdfas.lib.impl.status.OperationStatus;
import iaik.x509.X509Certificate;
+import ognl.AbstractMemberAccess;
+import ognl.MemberAccess;
+import ognl.Ognl;
import ognl.OgnlContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.naming.InvalidNameException;
+
+import java.lang.reflect.Member;
+import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.Map;
@@ -45,7 +51,16 @@ public class CertificateResolver implements IResolver {
public CertificateResolver(X509Certificate certificate, OperationStatus operationStatus) {
this.certificate = certificate;
- this.ctx = new OgnlContext();
+
+ MemberAccess memberAccess = new AbstractMemberAccess() {
+ @Override
+ public boolean isAccessible(Map context, Object target, Member member, String propertyName) {
+ int modifiers = member.getModifiers();
+ return Modifier.isPublic(modifiers);
+ }
+ };
+
+ this.ctx = new OgnlContext(null, null, memberAccess);
this.ctx.put("sn", this.certificate.getSerialNumber().toString());