diff options
author | Klaus Stranacher <kstranacher@iaik.tugraz.at> | 2013-08-14 16:36:40 +0200 |
---|---|---|
committer | Klaus Stranacher <kstranacher@iaik.tugraz.at> | 2013-08-14 16:36:40 +0200 |
commit | a52d3300d20837b12b45a0d4fb2b0ee520f6e641 (patch) | |
tree | f2f3259231718a3871ca27b8ee61c857377378ac /common/src | |
parent | 8591e43ef7f8e1eb0be50a0726d507904b26b9f5 (diff) | |
download | moa-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')
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>
|