Digital Signature Service (DSS) 5.12.RC1 library port for android
Compatible with Android 8.0 (API level 26) to Android 13 (API level 33)
Fully supports validation and signing for the following formats:
- ASiC-E with CAdES
- ASiC-E with XAdES
- PAdES
To include this port in your project, add the following to your build.gradle
file:
repositories {
maven {
url = uri("https://maven.pkg.github.com/signerry/packages")
credentials {
username = System.getenv("GPR_USER")
password = System.getenv("GPR_API_KEY")
}
}
}
dependencies {
api "com.signerry.dss-android:dss-xades:1.01.20"
api "com.signerry.dss-android:dss-asic-common:1.01.20"
api "com.signerry.dss-android:dss-asic-xades:1.01.20"
api "com.signerry.dss-android:dss-asic-cades:1.01.20"
}
- GPR_USER: Your GitHub username
- GPR_API_KEY: Your GitHub personal access token with read:packages scope
Tests are performed for both unit and instrumented levels. Instrumented tests are executed on an Android emulator. All stock DSS tests pass with a few exceptions, mostly related to visual signatures. The following tests are not passing and have been disabled:
- dss-xades:
- XAdESLevelBEnvelopingManifestReferenceCanonicalizationTest
- XAdESLevelBReSignOJManifestTest
- dss-pades-pdfbox:
- Visual textFullyTransparentTest
- Visual multilinesWithDpiTest
- Visual testWithCMYKImage
- Visual rotationTest
- dss-pades:
- PAdESSignatureDigestRefPresenceTest (Same issue in stock DSS 5.12.RC1)
- testDoubleSignature (Fails randomly due emulator to time shift issue)
- dss-tsl-validation
- skTLTest
- dss-cades
- CAdESMultipleCounterSignatureExtensionTest (Disabled due to expired timestamp)
Because certain standard Java SDK functionalities are unavailable on Android, the following third-party libraries are used as substitutes:
Original Library/Functionality | Substitution |
---|---|
Apache PDFBox | PdfBox-Android |
LDAP | UnboundID LDAP SDK |
Java AWT | com.signerry:androidawt |
javax.xml.bind | jakarta.xml.bind |
org.apache.santuario:xmlsec | com.signerry.santuario:xmlsec |
jaxb-ri | signerry-jaxb-ri |
This DSS project consists of several modules. The table below indicates which modules have been ported:
Module Name | Port status |
---|---|
dss-alert |
✅ |
dss-asic-cades |
✅ |
dss-asic-common |
✅ |
dss-asic-xades |
✅ |
dss-bom |
❌ |
dss-cades |
✅ |
dss-certificate-validation-common |
❌ |
dss-certificate-validation-dto |
❌ |
dss-certificate-validation-rest |
❌ |
dss-certificate-validation-rest-client |
❌ |
dss-certificate-validation-soap |
❌ |
dss-certificate-validation-soap-client |
❌ |
dss-common-remote-converter |
❌ |
dss-common-remote-dto |
❌ |
dss-cookbook |
❌ |
dss-crl-parser |
✅ |
dss-crl-parser-stream |
✅ |
dss-crl-parser-x509crl |
✅ |
dss-detailed-report-jaxb |
✅ |
dss-diagnostic-jaxb |
✅ |
dss-document |
✅ |
dss-enumerations |
✅ |
dss-i18n |
✅ |
dss-jacoco-coverage |
❌ |
dss-jades |
❌ |
dss-jaxb-common |
✅ |
dss-jaxb-parsers |
✅ |
dss-model |
✅ |
dss-pades |
✅ |
dss-pades-openpdf |
❌ |
dss-pades-pdfbox |
✅ |
dss-pdfa |
❌ |
dss-policy-jaxb |
✅ |
dss-remote-services |
❌ |
dss-rest-client |
❌ |
dss-server-signing-common |
❌ |
dss-server-signing-dto |
❌ |
dss-server-signing-rest |
❌ |
dss-server-signing-rest-client |
❌ |
dss-server-signing-soap |
❌ |
dss-server-signing-soap-client |
❌ |
dss-service |
✅ |
dss-signature-dto |
❌ |
dss-signature-remote |
❌ |
dss-signature-rest |
❌ |
dss-signature-rest-client |
❌ |
dss-signature-soap |
❌ |
dss-signature-soap-client |
❌ |
dss-simple-certificate-report-jaxb |
✅ |
dss-simple-report-jaxb |
✅ |
dss-spi |
✅ |
dss-test |
✅ |
dss-timestamp-dto |
❌ |
dss-timestamp-remote |
❌ |
dss-timestamp-remote-rest |
❌ |
dss-timestamp-remote-rest-client |
❌ |
dss-timestamp-remote-soap |
❌ |
dss-timestamp-remote-soap-client |
❌ |
dss-token |
✅ |
dss-tsl-jaxb |
❌ |
dss-tsl-validation |
✅ |
dss-utils |
✅ |
dss-utils-apache-commons |
❌ |
dss-utils-google-guava |
✅ |
dss-validation-dto |
❌ |
dss-validation-rest |
❌ |
dss-validation-rest-client |
❌ |
dss-validation-server-common |
❌ |
dss-validation-soap |
❌ |
dss-validation-soap-client |
❌ |
dss-xades |
✅ |
A sample signature validation application is available on the Google Play Store.
Simple report | Detailed report |
---|---|