diff options
author | emusic <emina.music@egiz.gv.at> | 2018-11-22 13:14:28 +0100 |
---|---|---|
committer | emusic <emina.music@egiz.gv.at> | 2018-11-22 13:14:28 +0100 |
commit | f76f559c8c1437a152a4f51b441e4cebe25430f1 (patch) | |
tree | 8930f89863cdc7e564f6a97ac777c133384a8730 /pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/IJOSETools.java | |
parent | cd6ff625d48a63e024b05ed1a253be3551e41599 (diff) | |
parent | c87c82009fb07e285d6c9acfd4686efc2cbf21c9 (diff) | |
download | pdf-as-4-f76f559c8c1437a152a4f51b441e4cebe25430f1.tar.gz pdf-as-4-f76f559c8c1437a152a4f51b441e4cebe25430f1.tar.bz2 pdf-as-4-f76f559c8c1437a152a4f51b441e4cebe25430f1.zip |
Merge branch 'SL20_development'
# Conflicts:
# build.gradle
# pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java
# pdf-as-lib/src/configuration/cfg/advancedconfig.properties
# pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/IConfigurationConstants.java
# pdf-as-lib/src/main/resources/config/config.zip
# pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java
# pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/IJOSETools.java')
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/IJOSETools.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/IJOSETools.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/IJOSETools.java new file mode 100644 index 00000000..a0f369d8 --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl20/utils/IJOSETools.java @@ -0,0 +1,54 @@ +package at.gv.egiz.sl20.utils; + +import java.security.cert.X509Certificate; + +import com.google.gson.JsonElement; + +import at.gv.egiz.sl20.data.VerificationResult; +import at.gv.egiz.sl20.exceptions.SL20Exception; +import at.gv.egiz.sl20.exceptions.SLCommandoBuildException; + +public interface IJOSETools { + + /** + * Check if the JOSE tools are initialized + * + * @return + */ + public boolean isInitialized(); + + /** + * Create a JWS signature + * + * @param payLoad Payload to sign + * @throws SLCommandoBuildException + */ + public String createSignature(String payLoad) throws SLCommandoBuildException; + + /** + * Validates a JWS signature + * + * @param serializedContent + * @return + * @throws SLCommandoParserException + * @throws SL20Exception + */ + public VerificationResult validateSignature(String serializedContent) throws SL20Exception; + + /** + * Get the encryption certificate for SL2.0 End-to-End encryption + * + * @return + */ + public X509Certificate getEncryptionCertificate(); + + /** + * Decrypt a serialized JWE token + * + * @param compactSerialization Serialized JWE token + * @return decrypted payload + * @throws SL20Exception + */ + public JsonElement decryptPayload(String compactSerialization) throws SL20Exception; + +} |