aboutsummaryrefslogtreecommitdiff
path: root/common/src
diff options
context:
space:
mode:
authorKlaus Stranacher <kstranacher@iaik.tugraz.at>2013-08-14 16:36:40 +0200
committerKlaus Stranacher <kstranacher@iaik.tugraz.at>2013-08-14 16:36:40 +0200
commita52d3300d20837b12b45a0d4fb2b0ee520f6e641 (patch)
treef2f3259231718a3871ca27b8ee61c857377378ac /common/src
parent8591e43ef7f8e1eb0be50a0726d507904b26b9f5 (diff)
downloadmoa-id-spss-a52d3300d20837b12b45a0d4fb2b0ee520f6e641.tar.gz
moa-id-spss-a52d3300d20837b12b45a0d4fb2b0ee520f6e641.tar.bz2
moa-id-spss-a52d3300d20837b12b45a0d4fb2b0ee520f6e641.zip
TSL integration updates:
- Setting of hashcache parameter in MOA - Update MOA-SP Response (Source attribute in QualifiedCertificate and SecureSignatureCreationDevice element) - Hidden truststores (for TSL enabled truststore: given certificates are copied to hidden truststore, where TSL certificates are copied) - Update of QC and SSCD detection - Update MOA-SPSS config: EU TSL URL can be set via configuration
Diffstat (limited to 'common/src')
-rw-r--r--common/src/main/java/at/gv/egovernment/moa/util/FileUtils.java33
-rw-r--r--common/src/main/resources/resources/schemas/MOA-SPSS-1.5.2.xsd17
-rw-r--r--common/src/main/resources/resources/schemas/MOA-SPSS-config-1.5.2.xsd1
3 files changed, 48 insertions, 3 deletions
diff --git a/common/src/main/java/at/gv/egovernment/moa/util/FileUtils.java b/common/src/main/java/at/gv/egovernment/moa/util/FileUtils.java
index 7effe8b4f..cac179a75 100644
--- a/common/src/main/java/at/gv/egovernment/moa/util/FileUtils.java
+++ b/common/src/main/java/at/gv/egovernment/moa/util/FileUtils.java
@@ -27,8 +27,10 @@ package at.gv.egovernment.moa.util;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
import java.net.URL;
/**
@@ -136,5 +138,36 @@ public class FileUtils {
return newURL;
}
}
+
+
+ private static void copy( InputStream fis, OutputStream fos )
+ {
+ try
+ {
+ byte[] buffer = new byte[ 0xFFFF ];
+ for ( int len; (len = fis.read(buffer)) != -1; )
+ fos.write( buffer, 0, len );
+ }
+ catch( IOException e ) {
+ System.err.println( e );
+ }
+ finally {
+ if ( fis != null )
+ try { fis.close(); } catch ( IOException e ) { e.printStackTrace(); }
+ if ( fos != null )
+ try { fos.close(); } catch ( IOException e ) { e.printStackTrace(); }
+ }
+ }
+
+ public static void copyFile(File src, File dest)
+ {
+ try
+ {
+ copy( new FileInputStream( src ), new FileOutputStream( dest ) );
+ }
+ catch( IOException e ) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/common/src/main/resources/resources/schemas/MOA-SPSS-1.5.2.xsd b/common/src/main/resources/resources/schemas/MOA-SPSS-1.5.2.xsd
index de49a4c75..640f577aa 100644
--- a/common/src/main/resources/resources/schemas/MOA-SPSS-1.5.2.xsd
+++ b/common/src/main/resources/resources/schemas/MOA-SPSS-1.5.2.xsd
@@ -147,7 +147,7 @@
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="SignerInfo" type="dsig:KeyInfoType">
<xsd:annotation>
- <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any</xsd:documentation>
+ <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="SignatureCheck" type="CheckResultType"/>
@@ -198,7 +198,7 @@
<xsd:sequence>
<xsd:element name="SignerInfo" type="dsig:KeyInfoType">
<xsd:annotation>
- <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any</xsd:documentation>
+ <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/>
@@ -455,7 +455,18 @@
</xsd:choice>
</xsd:complexType>
<xsd:element name="QualifiedCertificate"/>
- <xsd:element name="SecureSignatureCreationDevice"/>
+ <xsd:element name="SecureSignatureCreationDevice">
+ <xsd:complexType>
+ <xsd:attribute name="source" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="TSL"/>
+ <xsd:enumeration value="Certificate"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
<xsd:element name="PublicAuthority" type="PublicAuthorityType"/>
<xsd:complexType name="PublicAuthorityType">
<xsd:sequence>
diff --git a/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.5.2.xsd b/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.5.2.xsd
index 63b09f45a..91d281171 100644
--- a/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.5.2.xsd
+++ b/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.5.2.xsd
@@ -313,6 +313,7 @@
<xs:element name="TSLConfiguration" minOccurs="0">
<xs:complexType>
<xs:sequence>
+ <xs:element name="EUTSLUrl" type="xs:anyURI" minOccurs="0"/>
<xs:element name="UpdateSchedule" minOccurs="0">
<xs:complexType>
<xs:sequence>