diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-07-10 12:58:25 +0200 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-07-10 12:58:25 +0200 |
commit | 0bfafff409078ef49b2d4a0d71405e8f5b0eb078 (patch) | |
tree | 6b0eb440acbca7407ec77a23fca1ad653c2d9a81 /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java | |
parent | af90012c848711a4c9010dbcf71694dbfbca0e86 (diff) | |
download | pdf-as-4-0bfafff409078ef49b2d4a0d71405e8f5b0eb078.tar.gz pdf-as-4-0bfafff409078ef49b2d4a0d71405e8f5b0eb078.tar.bz2 pdf-as-4-0bfafff409078ef49b2d4a0d71405e8f5b0eb078.zip |
Implemented Verification level (Full incl. Certificate Path, and Integrity Only)
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java')
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java index 0c37e637..6851865b 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/verify/VerifierDispatcher.java @@ -35,6 +35,7 @@ import org.slf4j.LoggerFactory; import at.gv.egiz.pdfas.common.exceptions.PdfAsException; import at.gv.egiz.pdfas.common.settings.ISettings; import at.gv.egiz.pdfas.lib.api.Configuration; +import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter.SignatureVerificationLevel; public class VerifierDispatcher { @@ -60,7 +61,7 @@ public class VerifierDispatcher { } else { classes = defaultClasses; } - + List<String> filteredClasses = new ArrayList<String>(); for (int i = 0; i < classes.length; i++) { @@ -72,17 +73,17 @@ public class VerifierDispatcher { logger.error("Cannot find Verifier class: " + clsName, e); } } - + String[] clsNames = new String[filteredClasses.size()]; for (int i = 0; i < filteredClasses.size(); i++) { clsNames[i] = filteredClasses.get(i); } - + dumpVerifierClasses(clsNames); - + return clsNames; } - + private void dumpVerifierClasses(String[] clsNames) { for (int i = 0; i < clsNames.length; i++) { String clsName = clsNames[i]; @@ -93,21 +94,18 @@ public class VerifierDispatcher { public VerifierDispatcher(ISettings settings) { // TODO: add configuration parameter to set verifier - //Map<String, String> verifierClasses = settings - // .getValuesPrefix(CONF_VERIFIER); + // Map<String, String> verifierClasses = settings + // .getValuesPrefix(CONF_VERIFIER); String[] currentClasses = null; - //if (verifierClasses == null || verifierClasses.isEmpty()) { + // if (verifierClasses == null || verifierClasses.isEmpty()) { logger.info("Getting Verifier classes"); currentClasses = getClasses(settings); - /*} else { - currentClasses = new String[verifierClasses.values().size()]; - Iterator<String> classIt = verifierClasses.values().iterator(); - int j = 0; - while (classIt.hasNext()) { - currentClasses[j] = classIt.next(); - j++; - } - }*/ + /* + * } else { currentClasses = new + * String[verifierClasses.values().size()]; Iterator<String> classIt = + * verifierClasses.values().iterator(); int j = 0; while + * (classIt.hasNext()) { currentClasses[j] = classIt.next(); j++; } } + */ try { for (int i = 0; i < currentClasses.length; i++) { String clsName = currentClasses[i]; @@ -155,4 +153,13 @@ public class VerifierDispatcher { return filters.get(subfilter); } + + public IVerifier getVerifierByLevel(SignatureVerificationLevel level) { + switch (level) { + case INTEGRITY_ONLY_VERIFICATION: + return new IntegrityVerifier(); + default: + return new FullVerifier(); + } + } } |