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/main | |
| 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/main')
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>
 | 
