aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/knowcenter/wag
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-lib/src/main/java/at/knowcenter/wag')
-rw-r--r--pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureResponse.java20
-rw-r--r--pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/MOAConnector.java20
-rw-r--r--pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/BKUHelper.java20
3 files changed, 59 insertions, 1 deletions
diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureResponse.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureResponse.java
index 1756fa3..c294dae 100644
--- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureResponse.java
+++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureResponse.java
@@ -111,6 +111,9 @@ public class SignatureResponse
private boolean qualifiedCertificate = false;
// [tknall] stop qualified certificate
+ private String secureSignatureCreationDevice;
+ private String issuerCountryCode;
+
private boolean publicAuthority = false;
private String publicAuthorityCode = null;
@@ -541,6 +544,23 @@ public class SignatureResponse
return props;
}
+
+ public String getSecureSignatureCreationDevice() {
+ return secureSignatureCreationDevice;
+ }
+
+ public void setSecureSignatureCreationDevice(
+ String secureSignatureCreationDevice) {
+ this.secureSignatureCreationDevice = secureSignatureCreationDevice;
+ }
+
+ public String getIssuerCountryCode() {
+ return issuerCountryCode;
+ }
+
+ public void setIssuerCountryCode(String issuerCountryCode) {
+ this.issuerCountryCode = issuerCountryCode;
+ }
/**
* The toString method
diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/MOAConnector.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/MOAConnector.java
index d413a29..a56f807 100644
--- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/MOAConnector.java
+++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/MOAConnector.java
@@ -646,6 +646,13 @@ public class MOAConnector implements Connector
Pattern cert_qualified_p = Pattern.compile("<QualifiedCertificate/>");
Matcher cert_qualified_m = cert_qualified_p.matcher(xmlResponse);
// [tknall] stop qualified certificate
+
+ String secureSignatureCreationDevice_certificate = "<SecureSignatureCreationDevice Source=\"Certificate\"/>";//TODO use XPATH
+ String secureSignatureCreationDevice_tsl = "<SecureSignatureCreationDevice Source=\"TSL\"/>";//TODO use XPATH
+ Pattern issuerCountryCode_p_s = Pattern.compile("<IssuerCountryCode>");
+ Pattern issuerCountryCode_p_e = Pattern.compile("</IssuerCountryCode>");
+ Matcher issuerCountryCode_m_s = issuerCountryCode_p_s.matcher(xmlResponse);
+ Matcher issuerCountryCode_m_e = issuerCountryCode_p_e.matcher(xmlResponse);
Pattern sig_chk_p_s = Pattern.compile("<SignatureCheck>");
Pattern sig_chk_p_e = Pattern.compile("</SignatureCheck>");
@@ -682,7 +689,18 @@ public class MOAConnector implements Connector
// [tknall] start qualified certificate
sig_res.setQualifiedCertificate(cert_qualified_m.find());
// [tknall] stop qualified certificate
-
+
+ sig_res.setSecureSignatureCreationDevice(null);//TODO use XPATH
+ if(xmlResponse.contains(secureSignatureCreationDevice_tsl))
+ sig_res.setSecureSignatureCreationDevice("TSL");
+ if(xmlResponse.contains(secureSignatureCreationDevice_certificate))
+ sig_res.setSecureSignatureCreationDevice("Certificate");
+
+ try{
+ String issuerCountry = xmlResponse.substring(issuerCountryCode_m_s.end(), issuerCountryCode_m_e.start());
+ sig_res.setIssuerCountryCode(issuerCountry);
+ }catch(Exception e){logger_.debug("IssuerCountryCode not found in MOA response");}
+
// public authority
Pattern publicAuthority_p = Pattern.compile("<PublicAuthority/>");
Matcher publicAuthority_m = publicAuthority_p.matcher(xmlResponse);
diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/BKUHelper.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/BKUHelper.java
index 908ed57..5aff091 100644
--- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/BKUHelper.java
+++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/BKUHelper.java
@@ -458,6 +458,13 @@ public final class BKUHelper
Matcher cert_qualified_m = cert_qualified_p.matcher(xmlResponse);
// [tknall] stop qualified certificate
+ String secureSignatureCreationDevice_certificate = "<SecureSignatureCreationDevice Source=\"Certificate\"/>";//TODO use XPATH
+ String secureSignatureCreationDevice_tsl = "<SecureSignatureCreationDevice Source=\"TSL\"/>";//TODO use XPATH
+ Pattern issuerCountryCode_p_s = Pattern.compile("<IssuerCountryCode>");
+ Pattern issuerCountryCode_p_e = Pattern.compile("</IssuerCountryCode>");
+ Matcher issuerCountryCode_m_s = issuerCountryCode_p_s.matcher(xmlResponse);
+ Matcher issuerCountryCode_m_e = issuerCountryCode_p_e.matcher(xmlResponse);
+
Pattern code_p_s = Pattern.compile("<[\\w]*:?Code>"); //$NON-NLS-1$
Pattern code_p_e = Pattern.compile("</[\\w]*:?Code>"); //$NON-NLS-1$
Pattern info_p_s = Pattern.compile("<[\\w]*:?Info>"); //$NON-NLS-1$
@@ -517,6 +524,19 @@ public final class BKUHelper
sig_res.setQualifiedCertificate(cert_qualified_m.find());
// [tknall] stop qualified certificate
+
+ sig_res.setSecureSignatureCreationDevice(null);//TODO use XPATH
+ if(xmlResponse.contains(secureSignatureCreationDevice_tsl))
+ sig_res.setSecureSignatureCreationDevice("TSL");
+ if(xmlResponse.contains(secureSignatureCreationDevice_certificate))
+ sig_res.setSecureSignatureCreationDevice("Certificate");
+
+ try{
+ String issuerCountry = xmlResponse.substring(issuerCountryCode_m_s.end(), issuerCountryCode_m_e.start());
+ sig_res.setIssuerCountryCode(issuerCountry);
+ }catch(Exception e){log.debug("IssuerCountryCode not found in MOA response");}
+
+
if (hash_data_m_s.find() && hash_data_m_e.find())
{
String hashInputData = xmlResponse.substring(hash_data_m_s.end(), hash_data_m_e.start());