From 53ae98cdfa510650c1e015efd0d11a96ad4dc87a Mon Sep 17 00:00:00 2001 From: Andreas Fitzek Date: Mon, 20 Jun 2016 12:45:07 +0200 Subject: ASiC Library added --- moaSig/build.gradle | 2 +- .../at/gv/egovernment/moaspss/util/Constants.java | 15 +- .../src/main/resources/resources/schemas/asic.xsd | 71 ++ moaSig/gradle/wrapper/gradle-wrapper.properties | 4 +- moaSig/moa-asic/build.gradle | 56 ++ .../java/at/gv/egiz/asic/ASiCManifestType.java | 132 +++ .../generated/java/at/gv/egiz/asic/AnyType.java | 85 ++ .../gv/egiz/asic/CanonicalizationMethodType.java | 109 +++ .../java/at/gv/egiz/asic/DSAKeyValueType.java | 227 +++++ .../at/gv/egiz/asic/DataObjectReferenceType.java | 207 +++++ .../java/at/gv/egiz/asic/DigestMethodType.java | 111 +++ .../java/at/gv/egiz/asic/ExtensionType.java | 59 ++ .../java/at/gv/egiz/asic/ExtensionsListType.java | 76 ++ .../java/at/gv/egiz/asic/KeyInfoType.java | 142 +++ .../java/at/gv/egiz/asic/KeyValueType.java | 92 ++ .../java/at/gv/egiz/asic/ManifestType.java | 111 +++ .../java/at/gv/egiz/asic/ObjectFactory.java | 665 ++++++++++++++ .../generated/java/at/gv/egiz/asic/ObjectType.java | 171 ++++ .../java/at/gv/egiz/asic/PGPDataType.java | 105 +++ .../java/at/gv/egiz/asic/RSAKeyValueType.java | 93 ++ .../java/at/gv/egiz/asic/ReferenceType.java | 214 +++++ .../java/at/gv/egiz/asic/RetrievalMethodType.java | 127 +++ .../java/at/gv/egiz/asic/SPKIDataType.java | 83 ++ .../java/at/gv/egiz/asic/SigReferenceType.java | 94 ++ .../java/at/gv/egiz/asic/SignatureMethodType.java | 115 +++ .../at/gv/egiz/asic/SignaturePropertiesType.java | 111 +++ .../at/gv/egiz/asic/SignaturePropertyType.java | 144 ++++ .../java/at/gv/egiz/asic/SignatureType.java | 195 +++++ .../java/at/gv/egiz/asic/SignatureValueType.java | 99 +++ .../java/at/gv/egiz/asic/SignedInfoType.java | 167 ++++ .../java/at/gv/egiz/asic/TransformType.java | 116 +++ .../java/at/gv/egiz/asic/TransformsType.java | 76 ++ .../java/at/gv/egiz/asic/X509DataType.java | 100 +++ .../java/at/gv/egiz/asic/X509IssuerSerialType.java | 98 +++ .../java/at/gv/egiz/asic/XAdESSignaturesType.java | 76 ++ .../java/at/gv/egiz/asic/package-info.java | 9 + .../src/main/java/at/gv/egiz/asic/api/ASiC.java | 13 + .../java/at/gv/egiz/asic/api/ASiCConstants.java | 9 + .../main/java/at/gv/egiz/asic/api/ASiCEntry.java | 38 + .../main/java/at/gv/egiz/asic/api/ASiCFactory.java | 159 +++- .../main/java/at/gv/egiz/asic/api/ASiCFormat.java | 9 + .../gv/egiz/asic/api/ASiCVerificationResult.java | 40 + .../java/at/gv/egiz/asic/api/ASiCVerifier.java | 16 + .../at/gv/egiz/asic/exceptions/ASiCException.java | 7 + .../gv/egiz/asic/impl/ASiCBaseFormatFactory.java | 134 +++ .../java/at/gv/egiz/asic/impl/ASiCContainer.java | 22 + .../egiz/asic/impl/ASiCExtendedFormatFactory.java | 51 ++ .../main/java/at/gv/egiz/asic/impl/ASiCImpl.java | 73 ++ .../java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java | 87 ++ .../gv/egiz/asic/impl/ASiCSimpleFormatFactory.java | 54 ++ .../java/at/gv/egiz/asic/impl/EntryHandler.java | 14 + .../main/java/at/gv/egiz/asic/impl/Verifier.java | 18 + .../gv/egiz/asic/impl/ZipCommentReaderStream.java | 180 ++++ .../gv/egiz/asic/impl/handler/AllDataHandler.java | 28 + .../at/gv/egiz/asic/impl/handler/BaseHandler.java | 27 + .../at/gv/egiz/asic/impl/handler/CAdESHandler.java | 20 + .../impl/handler/EvidenceERSRecordHandler.java | 18 + .../impl/handler/EvidenceXMLRecordHandler.java | 15 + .../impl/handler/ExtendedASiCCAdESHandler.java | 13 + .../impl/handler/ExtendedASiCXAdESHandler.java | 11 + .../handler/ExtendedEvidenceERSRecordHandler.java | 11 + .../handler/ExtendedEvidenceXMLRecordHandler.java | 11 + .../gv/egiz/asic/impl/handler/HandlerSorter.java | 16 + .../gv/egiz/asic/impl/handler/MetaInfHandler.java | 33 + .../gv/egiz/asic/impl/handler/MimefileHandler.java | 36 + .../egiz/asic/impl/handler/SignatureHandler.java | 36 + .../asic/impl/handler/SimpleASiCCAdESHandler.java | 13 + .../asic/impl/handler/SimpleASiCXAdESHandler.java | 13 + .../handler/SimpleEvidenceERSRecordHandler.java | 13 + .../handler/SimpleEvidenceXMLRecordHandler.java | 13 + .../at/gv/egiz/asic/impl/handler/XAdESHandler.java | 17 + .../gv/egiz/asic/impl/verifier/BaseVerifier.java | 61 ++ .../gv/egiz/asic/impl/verifier/CAdESVerifier.java | 43 + .../asic/impl/verifier/ExtendedCAdESVerifier.java | 168 ++++ .../asic/impl/verifier/ExtendedXAdESVerifier.java | 184 ++++ .../asic/impl/verifier/SimpleCAdESVerifier.java | 45 + .../asic/impl/verifier/SimpleXAdESVerifier.java | 128 +++ .../gv/egiz/asic/impl/verifier/XAdESVerifier.java | 54 ++ .../xmlbind/VerifyASICSignatureRequestParser.java | 112 +++ .../VerifyASICSignatureResponseBuilder.java | 177 ++++ .../at/gv/egiz/asic/xmlbind/VerifyASiCRequest.java | 46 + .../moa-asic/src/main/resources/schemas/asic.xsd | 71 ++ .../src/test/java/at/gv/egiz/asic/dev/Main.java | 238 +++++ .../moa-asic/src/test/resources/META-INF/aop.xml | 11 + .../moa-asic/src/test/resources/log4j.properties | 16 + moaSig/moa-sig-lib/build.gradle | 6 + .../xmlbind/VerifyCMSSignatureResponseBuilder.java | 12 + .../xmlbind/VerifyXMLSignatureResponseBuilder.java | 10 + .../properties/spss_messages_de.properties | 119 +-- moaSig/moa-sig/build.gradle | 9 +- .../java/at/gv/egiz/moasig/AllSignatoriesType.java | 2 +- .../java/at/gv/egiz/moasig/AnyChildrenType.java | 11 +- .../java/at/gv/egiz/moasig/CMSContentBaseType.java | 4 +- .../at/gv/egiz/moasig/CMSDataObjectInfoType.java | 47 +- .../egiz/moasig/CMSDataObjectOptionalMetaType.java | 68 +- .../egiz/moasig/CMSDataObjectRequiredMetaType.java | 72 +- .../gv/egiz/moasig/CanonicalizationMethodType.java | 2 +- .../java/at/gv/egiz/moasig/CheckResultType.java | 8 +- .../java/at/gv/egiz/moasig/ContentBaseType.java | 30 +- .../at/gv/egiz/moasig/ContentExLocRefBaseType.java | 5 +- .../at/gv/egiz/moasig/ContentOptionalRefType.java | 8 +- .../at/gv/egiz/moasig/ContentRequiredRefType.java | 5 +- .../gv/egiz/moasig/CreateCMSSignatureRequest.java | 4 +- .../egiz/moasig/CreateCMSSignatureRequestType.java | 10 +- .../moasig/CreateCMSSignatureResponseType.java | 4 +- .../gv/egiz/moasig/CreatePDFSignatureRequest.java | 4 +- .../egiz/moasig/CreatePDFSignatureRequestType.java | 4 +- .../moasig/CreatePDFSignatureResponseType.java | 4 +- .../moasig/CreateSignatureEnvironmentProfile.java | 6 +- .../egiz/moasig/CreateSignatureLocationType.java | 2 +- .../egiz/moasig/CreateTransformsInfoProfile.java | 6 +- .../gv/egiz/moasig/CreateXMLSignatureRequest.java | 4 +- .../egiz/moasig/CreateXMLSignatureRequestType.java | 28 +- .../moasig/CreateXMLSignatureResponseType.java | 80 +- .../java/at/gv/egiz/moasig/DSAKeyValueType.java | 2 +- .../java/at/gv/egiz/moasig/DataObjectInfoType.java | 10 +- .../java/at/gv/egiz/moasig/DigestMethodType.java | 6 +- .../java/at/gv/egiz/moasig/ErrorResponseType.java | 2 +- .../moasig/ExtendedCertificateCheckResultType.java | 6 +- .../at/gv/egiz/moasig/FinalDataMetaInfoType.java | 4 +- .../java/at/gv/egiz/moasig/FormResultType.java | 2 +- .../at/gv/egiz/moasig/IndicationResultType.java | 2 +- .../java/at/gv/egiz/moasig/InputDataType.java | 4 +- .../java/at/gv/egiz/moasig/KeyInfoType.java | 20 +- .../java/at/gv/egiz/moasig/KeyStorageType.java | 2 +- .../java/at/gv/egiz/moasig/KeyValueType.java | 6 +- .../moasig/ManifestRefsCheckResultInfoType.java | 8 +- .../egiz/moasig/ManifestRefsCheckResultType.java | 6 +- .../java/at/gv/egiz/moasig/ManifestType.java | 2 +- .../java/at/gv/egiz/moasig/MetaInfoType.java | 4 +- .../java/at/gv/egiz/moasig/ObjectFactory.java | 954 +++++++++++---------- .../java/at/gv/egiz/moasig/ObjectType.java | 6 +- .../at/gv/egiz/moasig/PDFSignatureResultType.java | 10 +- .../java/at/gv/egiz/moasig/PDFSignedRepsonse.java | 4 +- .../java/at/gv/egiz/moasig/PGPDataType.java | 8 +- .../at/gv/egiz/moasig/PublicAuthorityType.java | 2 +- .../at/gv/egiz/moasig/QualifiedCertificate.java | 2 +- .../java/at/gv/egiz/moasig/RSAKeyValueType.java | 2 +- .../java/at/gv/egiz/moasig/ReferenceType.java | 2 +- .../egiz/moasig/ReferencesCheckResultInfoType.java | 6 +- .../gv/egiz/moasig/ReferencesCheckResultType.java | 6 +- .../at/gv/egiz/moasig/RetrievalMethodType.java | 2 +- .../java/at/gv/egiz/moasig/SPKIDataType.java | 2 +- .../egiz/moasig/SecureSignatureCreationDevice.java | 2 +- .../at/gv/egiz/moasig/SignatureMethodType.java | 4 +- .../at/gv/egiz/moasig/SignaturePropertiesType.java | 2 +- .../at/gv/egiz/moasig/SignaturePropertyType.java | 6 +- .../java/at/gv/egiz/moasig/SignatureType.java | 2 +- .../java/at/gv/egiz/moasig/SignatureValueType.java | 2 +- .../java/at/gv/egiz/moasig/SignedInfoType.java | 2 +- .../at/gv/egiz/moasig/TransformParameterType.java | 2 +- .../java/at/gv/egiz/moasig/TransformType.java | 4 +- .../java/at/gv/egiz/moasig/TransformsInfoType.java | 28 +- .../java/at/gv/egiz/moasig/TransformsType.java | 2 +- .../gv/egiz/moasig/VerifyASICSignatureRequest.java | 41 + .../moasig/VerifyASICSignatureRequestType.java | 190 ++++ .../moasig/VerifyASICSignatureResponseType.java | 82 ++ .../gv/egiz/moasig/VerifyCMSSignatureRequest.java | 6 +- .../egiz/moasig/VerifyCMSSignatureRequestType.java | 4 +- .../moasig/VerifyCMSSignatureResponseType.java | 24 +- .../gv/egiz/moasig/VerifyPDFSignatureRequest.java | 39 +- .../egiz/moasig/VerifyPDFSignatureRequestType.java | 2 +- .../moasig/VerifyPDFSignatureResponseType.java | 4 +- .../gv/egiz/moasig/VerifyTransformsDataType.java | 4 +- .../egiz/moasig/VerifyTransformsInfoProfile.java | 28 +- .../egiz/moasig/VerifyXMLSignatureRequestType.java | 32 +- .../moasig/VerifyXMLSignatureResponseType.java | 18 +- .../java/at/gv/egiz/moasig/X509DataType.java | 14 +- .../at/gv/egiz/moasig/X509IssuerSerialType.java | 2 +- .../java/at/gv/egiz/moasig/XMLContentType.java | 70 ++ .../egiz/moasig/XMLDataObjectAssociationType.java | 6 +- .../java/at/gv/egiz/moasig/package-info.java | 4 +- .../service/SignatureVerificationService.java | 86 ++ .../binding/CMSCreateSignatureBindingImpl.java | 72 -- .../server/webservice/binding/CMSParserUtils.java | 141 --- .../binding/CMSVerifySignatureBindingImpl.java | 244 ------ .../binding/PDFCreateSignatureBindingImpl.java | 85 -- .../server/webservice/binding/TransformParser.java | 363 -------- .../webservice/binding/TransformerUtils.java | 521 ----------- .../binding/XMLCreateSignatureBindingImpl.java | 101 --- .../binding/XMLVerifySignatureBindingImpl.java | 524 ----------- .../resources/resources/schemas/MOA-SIG-3.0.0.xsd | 791 ----------------- .../resources/schemas/MOA-SPSS-2.0.0.wsdl | 23 + .../resources/resources/schemas/MOA-SPSS-2.0.0.xsd | 41 + .../src/main/webapp/WEB-INF/server-config.wsdd | 2 +- .../src/main/webapp/schemas/MOA-SPSS-2.0.0.xsd | 41 + moaSig/settings.gradle | 2 +- 187 files changed, 8560 insertions(+), 3748 deletions(-) create mode 100644 moaSig/common/src/main/resources/resources/schemas/asic.xsd create mode 100644 moaSig/moa-asic/build.gradle create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ASiCManifestType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/AnyType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/CanonicalizationMethodType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DSAKeyValueType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DataObjectReferenceType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DigestMethodType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ExtensionType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ExtensionsListType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/KeyInfoType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/KeyValueType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ManifestType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ObjectFactory.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ObjectType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/PGPDataType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/RSAKeyValueType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ReferenceType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/RetrievalMethodType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SPKIDataType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SigReferenceType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureMethodType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignaturePropertiesType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignaturePropertyType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureValueType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignedInfoType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/TransformType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/TransformsType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/X509DataType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/X509IssuerSerialType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/XAdESSignaturesType.java create mode 100644 moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/package-info.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiC.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCConstants.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCEntry.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCFormat.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCVerificationResult.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCVerifier.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/exceptions/ASiCException.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCBaseFormatFactory.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCContainer.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCExtendedFormatFactory.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCImpl.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCSimpleFormatFactory.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/EntryHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/Verifier.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ZipCommentReaderStream.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/AllDataHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/BaseHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/CAdESHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/EvidenceERSRecordHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/EvidenceXMLRecordHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedASiCCAdESHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedASiCXAdESHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedEvidenceERSRecordHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedEvidenceXMLRecordHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/HandlerSorter.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/MetaInfHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/MimefileHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SignatureHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleASiCCAdESHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleASiCXAdESHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleEvidenceERSRecordHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleEvidenceXMLRecordHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/XAdESHandler.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/BaseVerifier.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/CAdESVerifier.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedCAdESVerifier.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedXAdESVerifier.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleCAdESVerifier.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleXAdESVerifier.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/XAdESVerifier.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureRequestParser.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureResponseBuilder.java create mode 100644 moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASiCRequest.java create mode 100644 moaSig/moa-asic/src/main/resources/schemas/asic.xsd create mode 100644 moaSig/moa-asic/src/test/java/at/gv/egiz/asic/dev/Main.java create mode 100644 moaSig/moa-asic/src/test/resources/META-INF/aop.xml create mode 100644 moaSig/moa-asic/src/test/resources/log4j.properties create mode 100644 moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureRequest.java create mode 100644 moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureRequestType.java create mode 100644 moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureResponseType.java create mode 100644 moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/XMLContentType.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSCreateSignatureBindingImpl.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFCreateSignatureBindingImpl.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformParser.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformerUtils.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLCreateSignatureBindingImpl.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java delete mode 100644 moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SIG-3.0.0.xsd (limited to 'moaSig') diff --git a/moaSig/build.gradle b/moaSig/build.gradle index 2b3b909..ada954f 100644 --- a/moaSig/build.gradle +++ b/moaSig/build.gradle @@ -21,7 +21,7 @@ subprojects { testCompile 'junit:junit:4.8.2' } - version = '3.0.0-RC2' + version = '3.0.0-RC5' jar { manifest.attributes provider: 'EGIZ' diff --git a/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/Constants.java b/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/Constants.java index 45e7d8a..0710d82 100644 --- a/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/Constants.java +++ b/moaSig/common/src/main/java/at/gv/egovernment/moaspss/util/Constants.java @@ -390,7 +390,17 @@ public interface Constants { /* Local location of the XML Encryption XML schema definition. */ public static final String SAML2_METADATA_SCHEMA_LOCATION = SCHEMA_ROOT + "saml-schema-metadata-2.0.xsd"; - + + /** Prefix used for the XML Encryption XML namespace */ + public static final String ASIC_PREFIX = "asic"; + + /* Prefix used for the XML Encryption XML namespace */ + public static final String ASIC_URI = "http://uri.etsi.org/02918/v1.2.1#"; + + /** Local location of the XML Encryption XML schema definition. */ + public static final String ASIC_SCHEMA_LOCATION = + SCHEMA_ROOT + "asic.xsd"; + /** * Contains all namespaces and local schema locations for XML schema * definitions relevant for MOA. For use in validating XML parsers. @@ -424,7 +434,8 @@ public interface Constants { + (STORK_NS_URI + " " + STORK_SCHEMA_LOCATION + " ") + (STORKP_NS_URI + " " + STORKP_SCHEMA_LOCATION + " ") + (XENC_NS_URI + " " + XENC_SCHEMA_LOCATION + " ") - + (SAML2_METADATA_URI + " " + SAML2_METADATA_SCHEMA_LOCATION); + + (SAML2_METADATA_URI + " " + SAML2_METADATA_SCHEMA_LOCATION + " ") + + (ASIC_URI + " " + ASIC_SCHEMA_LOCATION); /** URN prefix for bPK and wbPK. */ public static final String URN_PREFIX = "urn:publicid:gv.at"; diff --git a/moaSig/common/src/main/resources/resources/schemas/asic.xsd b/moaSig/common/src/main/resources/resources/schemas/asic.xsd new file mode 100644 index 0000000..d6d3534 --- /dev/null +++ b/moaSig/common/src/main/resources/resources/schemas/asic.xsd @@ -0,0 +1,71 @@ + + + + + + + Schema for ASiCManifest – See ETSI EN 319 162 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Schema for parallel detached XAdES Signatures + + + + + + + + \ No newline at end of file diff --git a/moaSig/gradle/wrapper/gradle-wrapper.properties b/moaSig/gradle/wrapper/gradle-wrapper.properties index f3853f0..d6bc0d5 100644 --- a/moaSig/gradle/wrapper/gradle-wrapper.properties +++ b/moaSig/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Oct 22 16:18:12 CEST 2015 +#Wed Jun 15 10:01:25 CEST 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip diff --git a/moaSig/moa-asic/build.gradle b/moaSig/moa-asic/build.gradle new file mode 100644 index 0000000..d615c1f --- /dev/null +++ b/moaSig/moa-asic/build.gradle @@ -0,0 +1,56 @@ +apply plugin: 'java-library-distribution' + +distributions { + main{ + baseName = 'MOA-ASIC' + } +} + +configurations { + jaxb +} + +dependencies { + + jaxb group: 'com.sun.xml.bind', name: 'jaxb-xjc', version: '2.2.4-1' + + compile project(':common') + compile project(':moa-sig-lib') + compile 'org.slf4j:slf4j-log4j12:1.7.12' +} + +sourceSets { + main { + java { + srcDirs = ['src/main/java', 'src/generated/java'] + } + } +} + +task jaxb () { + // output directory + def jaxbTargetDir = file( "${projectDir}/src/generated/java" ) + //jaxbTargetDirMoaSig = file( jaxbTargetDir.path ) + + // perform actions + doLast { + jaxbTargetDir.mkdirs() + + ant.taskdef(name: 'xjc', classname: 'com.sun.tools.xjc.XJCTask', classpath: configurations.jaxb.asPath) + //ant.jaxbTargetDirMoaSig = jaxbTargetDir + + // MOA Sig + ant.xjc( + destdir: jaxbTargetDir.path, + package: 'at.gv.egiz.asic', + schema: 'src/main/resources/schemas/asic.xsd' + ) + } +} + +task releases(type: Copy) { + from jar.outputs + from distZip.outputs + from distTar.outputs + into rootDir.toString() + "/releases/" + version +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ASiCManifestType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ASiCManifestType.java new file mode 100644 index 0000000..49d8509 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ASiCManifestType.java @@ -0,0 +1,132 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for ASiCManifestType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ASiCManifestType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://uri.etsi.org/02918/v1.2.1#}SigReference"/>
+ *         <element ref="{http://uri.etsi.org/02918/v1.2.1#}DataObjectReference" maxOccurs="unbounded"/>
+ *         <element name="ASiCManifestExtensions" type="{http://uri.etsi.org/02918/v1.2.1#}ExtensionsListType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ASiCManifestType", namespace = "http://uri.etsi.org/02918/v1.2.1#", propOrder = { + "sigReference", + "dataObjectReference", + "aSiCManifestExtensions" +}) +public class ASiCManifestType { + + @XmlElement(name = "SigReference", required = true) + protected SigReferenceType sigReference; + @XmlElement(name = "DataObjectReference", required = true) + protected List dataObjectReference; + @XmlElement(name = "ASiCManifestExtensions") + protected ExtensionsListType aSiCManifestExtensions; + + /** + * Gets the value of the sigReference property. + * + * @return + * possible object is + * {@link SigReferenceType } + * + */ + public SigReferenceType getSigReference() { + return sigReference; + } + + /** + * Sets the value of the sigReference property. + * + * @param value + * allowed object is + * {@link SigReferenceType } + * + */ + public void setSigReference(SigReferenceType value) { + this.sigReference = value; + } + + /** + * Gets the value of the dataObjectReference property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the dataObjectReference property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDataObjectReference().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DataObjectReferenceType } + * + * + */ + public List getDataObjectReference() { + if (dataObjectReference == null) { + dataObjectReference = new ArrayList(); + } + return this.dataObjectReference; + } + + /** + * Gets the value of the aSiCManifestExtensions property. + * + * @return + * possible object is + * {@link ExtensionsListType } + * + */ + public ExtensionsListType getASiCManifestExtensions() { + return aSiCManifestExtensions; + } + + /** + * Sets the value of the aSiCManifestExtensions property. + * + * @param value + * allowed object is + * {@link ExtensionsListType } + * + */ + public void setASiCManifestExtensions(ExtensionsListType value) { + this.aSiCManifestExtensions = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/AnyType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/AnyType.java new file mode 100644 index 0000000..5c96005 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/AnyType.java @@ -0,0 +1,85 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlMixed; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import org.w3c.dom.Element; + + +/** + *

Java class for AnyType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="AnyType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence maxOccurs="unbounded" minOccurs="0">
+ *         <any processContents='lax'/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AnyType", namespace = "http://uri.etsi.org/02918/v1.2.1#", propOrder = { + "content" +}) +@XmlSeeAlso({ + ExtensionType.class +}) +public class AnyType { + + @XmlMixed + @XmlAnyElement(lax = true) + protected List content; + + /** + * Gets the value of the content property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * {@link Element } + * {@link Object } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/CanonicalizationMethodType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/CanonicalizationMethodType.java new file mode 100644 index 0000000..721ba32 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/CanonicalizationMethodType.java @@ -0,0 +1,109 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlMixed; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for CanonicalizationMethodType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="CanonicalizationMethodType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <any maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *       <attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CanonicalizationMethodType", propOrder = { + "content" +}) +public class CanonicalizationMethodType { + + @XmlMixed + @XmlAnyElement(lax = true) + protected List content; + @XmlAttribute(name = "Algorithm", required = true) + @XmlSchemaType(name = "anyURI") + protected String algorithm; + + /** + * Gets the value of the content property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * {@link Object } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + + /** + * Gets the value of the algorithm property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAlgorithm() { + return algorithm; + } + + /** + * Sets the value of the algorithm property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAlgorithm(String value) { + this.algorithm = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DSAKeyValueType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DSAKeyValueType.java new file mode 100644 index 0000000..57c5748 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DSAKeyValueType.java @@ -0,0 +1,227 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for DSAKeyValueType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="DSAKeyValueType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <sequence minOccurs="0">
+ *           <element name="P" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ *           <element name="Q" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ *         </sequence>
+ *         <element name="G" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary" minOccurs="0"/>
+ *         <element name="Y" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ *         <element name="J" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary" minOccurs="0"/>
+ *         <sequence minOccurs="0">
+ *           <element name="Seed" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ *           <element name="PgenCounter" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ *         </sequence>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DSAKeyValueType", propOrder = { + "p", + "q", + "g", + "y", + "j", + "seed", + "pgenCounter" +}) +public class DSAKeyValueType { + + @XmlElement(name = "P") + protected byte[] p; + @XmlElement(name = "Q") + protected byte[] q; + @XmlElement(name = "G") + protected byte[] g; + @XmlElement(name = "Y", required = true) + protected byte[] y; + @XmlElement(name = "J") + protected byte[] j; + @XmlElement(name = "Seed") + protected byte[] seed; + @XmlElement(name = "PgenCounter") + protected byte[] pgenCounter; + + /** + * Gets the value of the p property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getP() { + return p; + } + + /** + * Sets the value of the p property. + * + * @param value + * allowed object is + * byte[] + */ + public void setP(byte[] value) { + this.p = value; + } + + /** + * Gets the value of the q property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getQ() { + return q; + } + + /** + * Sets the value of the q property. + * + * @param value + * allowed object is + * byte[] + */ + public void setQ(byte[] value) { + this.q = value; + } + + /** + * Gets the value of the g property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getG() { + return g; + } + + /** + * Sets the value of the g property. + * + * @param value + * allowed object is + * byte[] + */ + public void setG(byte[] value) { + this.g = value; + } + + /** + * Gets the value of the y property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getY() { + return y; + } + + /** + * Sets the value of the y property. + * + * @param value + * allowed object is + * byte[] + */ + public void setY(byte[] value) { + this.y = value; + } + + /** + * Gets the value of the j property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getJ() { + return j; + } + + /** + * Sets the value of the j property. + * + * @param value + * allowed object is + * byte[] + */ + public void setJ(byte[] value) { + this.j = value; + } + + /** + * Gets the value of the seed property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getSeed() { + return seed; + } + + /** + * Sets the value of the seed property. + * + * @param value + * allowed object is + * byte[] + */ + public void setSeed(byte[] value) { + this.seed = value; + } + + /** + * Gets the value of the pgenCounter property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getPgenCounter() { + return pgenCounter; + } + + /** + * Sets the value of the pgenCounter property. + * + * @param value + * allowed object is + * byte[] + */ + public void setPgenCounter(byte[] value) { + this.pgenCounter = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DataObjectReferenceType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DataObjectReferenceType.java new file mode 100644 index 0000000..f6d0399 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DataObjectReferenceType.java @@ -0,0 +1,207 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for DataObjectReferenceType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="DataObjectReferenceType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}DigestMethod"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}DigestValue"/>
+ *         <element name="DataObjectReferenceExtensions" type="{http://uri.etsi.org/02918/v1.2.1#}ExtensionsListType" minOccurs="0"/>
+ *       </sequence>
+ *       <attribute name="URI" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       <attribute name="MimeType" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       <attribute name="Rootfile" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DataObjectReferenceType", namespace = "http://uri.etsi.org/02918/v1.2.1#", propOrder = { + "digestMethod", + "digestValue", + "dataObjectReferenceExtensions" +}) +public class DataObjectReferenceType { + + @XmlElement(name = "DigestMethod", namespace = "http://www.w3.org/2000/09/xmldsig#", required = true) + protected DigestMethodType digestMethod; + @XmlElement(name = "DigestValue", namespace = "http://www.w3.org/2000/09/xmldsig#", required = true) + protected byte[] digestValue; + @XmlElement(name = "DataObjectReferenceExtensions") + protected ExtensionsListType dataObjectReferenceExtensions; + @XmlAttribute(name = "URI", required = true) + @XmlSchemaType(name = "anyURI") + protected String uri; + @XmlAttribute(name = "MimeType") + protected String mimeType; + @XmlAttribute(name = "Rootfile") + protected Boolean rootfile; + + /** + * Gets the value of the digestMethod property. + * + * @return + * possible object is + * {@link DigestMethodType } + * + */ + public DigestMethodType getDigestMethod() { + return digestMethod; + } + + /** + * Sets the value of the digestMethod property. + * + * @param value + * allowed object is + * {@link DigestMethodType } + * + */ + public void setDigestMethod(DigestMethodType value) { + this.digestMethod = value; + } + + /** + * Gets the value of the digestValue property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getDigestValue() { + return digestValue; + } + + /** + * Sets the value of the digestValue property. + * + * @param value + * allowed object is + * byte[] + */ + public void setDigestValue(byte[] value) { + this.digestValue = value; + } + + /** + * Gets the value of the dataObjectReferenceExtensions property. + * + * @return + * possible object is + * {@link ExtensionsListType } + * + */ + public ExtensionsListType getDataObjectReferenceExtensions() { + return dataObjectReferenceExtensions; + } + + /** + * Sets the value of the dataObjectReferenceExtensions property. + * + * @param value + * allowed object is + * {@link ExtensionsListType } + * + */ + public void setDataObjectReferenceExtensions(ExtensionsListType value) { + this.dataObjectReferenceExtensions = value; + } + + /** + * Gets the value of the uri property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getURI() { + return uri; + } + + /** + * Sets the value of the uri property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setURI(String value) { + this.uri = value; + } + + /** + * Gets the value of the mimeType property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getMimeType() { + return mimeType; + } + + /** + * Sets the value of the mimeType property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setMimeType(String value) { + this.mimeType = value; + } + + /** + * Gets the value of the rootfile property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isRootfile() { + return rootfile; + } + + /** + * Sets the value of the rootfile property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setRootfile(Boolean value) { + this.rootfile = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DigestMethodType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DigestMethodType.java new file mode 100644 index 0000000..bfa4f8d --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/DigestMethodType.java @@ -0,0 +1,111 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlMixed; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import org.w3c.dom.Element; + + +/** + *

Java class for DigestMethodType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="DigestMethodType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *       <attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DigestMethodType", propOrder = { + "content" +}) +public class DigestMethodType { + + @XmlMixed + @XmlAnyElement(lax = true) + protected List content; + @XmlAttribute(name = "Algorithm", required = true) + @XmlSchemaType(name = "anyURI") + protected String algorithm; + + /** + * Gets the value of the content property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * {@link Element } + * {@link Object } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + + /** + * Gets the value of the algorithm property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAlgorithm() { + return algorithm; + } + + /** + * Sets the value of the algorithm property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAlgorithm(String value) { + this.algorithm = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ExtensionType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ExtensionType.java new file mode 100644 index 0000000..551dd5f --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ExtensionType.java @@ -0,0 +1,59 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for ExtensionType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ExtensionType">
+ *   <complexContent>
+ *     <extension base="{http://uri.etsi.org/02918/v1.2.1#}AnyType">
+ *       <attribute name="Critical" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ExtensionType", namespace = "http://uri.etsi.org/02918/v1.2.1#") +public class ExtensionType + extends AnyType +{ + + @XmlAttribute(name = "Critical", required = true) + protected boolean critical; + + /** + * Gets the value of the critical property. + * + */ + public boolean isCritical() { + return critical; + } + + /** + * Sets the value of the critical property. + * + */ + public void setCritical(boolean value) { + this.critical = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ExtensionsListType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ExtensionsListType.java new file mode 100644 index 0000000..8d841fb --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ExtensionsListType.java @@ -0,0 +1,76 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for ExtensionsListType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ExtensionsListType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://uri.etsi.org/02918/v1.2.1#}Extension" maxOccurs="unbounded"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ExtensionsListType", namespace = "http://uri.etsi.org/02918/v1.2.1#", propOrder = { + "extension" +}) +public class ExtensionsListType { + + @XmlElement(name = "Extension", required = true) + protected List extension; + + /** + * Gets the value of the extension property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the extension property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getExtension().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ExtensionType } + * + * + */ + public List getExtension() { + if (extension == null) { + extension = new ArrayList(); + } + return this.extension; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/KeyInfoType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/KeyInfoType.java new file mode 100644 index 0000000..f750cdd --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/KeyInfoType.java @@ -0,0 +1,142 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlElementRefs; +import javax.xml.bind.annotation.XmlID; +import javax.xml.bind.annotation.XmlMixed; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import org.w3c.dom.Element; + + +/** + *

Java class for KeyInfoType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="KeyInfoType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <choice maxOccurs="unbounded">
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}KeyName"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}KeyValue"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}RetrievalMethod"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}X509Data"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}PGPData"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}SPKIData"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}MgmtData"/>
+ *         <any processContents='lax' namespace='##other'/>
+ *       </choice>
+ *       <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "KeyInfoType", propOrder = { + "content" +}) +public class KeyInfoType { + + @XmlElementRefs({ + @XmlElementRef(name = "KeyName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "PGPData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "RetrievalMethod", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "MgmtData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "SPKIData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "KeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "X509Data", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) + }) + @XmlMixed + @XmlAnyElement(lax = true) + protected List content; + @XmlAttribute(name = "Id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the content property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link JAXBElement }{@code <}{@link String }{@code >} + * {@link JAXBElement }{@code <}{@link PGPDataType }{@code >} + * {@link String } + * {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >} + * {@link JAXBElement }{@code <}{@link String }{@code >} + * {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >} + * {@link Element } + * {@link JAXBElement }{@code <}{@link KeyValueType }{@code >} + * {@link JAXBElement }{@code <}{@link X509DataType }{@code >} + * {@link Object } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/KeyValueType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/KeyValueType.java new file mode 100644 index 0000000..e6fee6f --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/KeyValueType.java @@ -0,0 +1,92 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlElementRefs; +import javax.xml.bind.annotation.XmlMixed; +import javax.xml.bind.annotation.XmlType; +import org.w3c.dom.Element; + + +/** + *

Java class for KeyValueType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="KeyValueType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <choice>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}DSAKeyValue"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}RSAKeyValue"/>
+ *         <any processContents='lax' namespace='##other'/>
+ *       </choice>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "KeyValueType", propOrder = { + "content" +}) +public class KeyValueType { + + @XmlElementRefs({ + @XmlElementRef(name = "RSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "DSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) + }) + @XmlMixed + @XmlAnyElement(lax = true) + protected List content; + + /** + * Gets the value of the content property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >} + * {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >} + * {@link Element } + * {@link Object } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ManifestType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ManifestType.java new file mode 100644 index 0000000..2c14726 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ManifestType.java @@ -0,0 +1,111 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlID; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java class for ManifestType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ManifestType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}Reference" maxOccurs="unbounded"/>
+ *       </sequence>
+ *       <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ManifestType", propOrder = { + "reference" +}) +public class ManifestType { + + @XmlElement(name = "Reference", required = true) + protected List reference; + @XmlAttribute(name = "Id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the reference property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the reference property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getReference().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReferenceType } + * + * + */ + public List getReference() { + if (reference == null) { + reference = new ArrayList(); + } + return this.reference; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ObjectFactory.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ObjectFactory.java new file mode 100644 index 0000000..cc1d90e --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ObjectFactory.java @@ -0,0 +1,665 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.math.BigInteger; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the at.gv.egiz.asic package. + *

An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _SPKIData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKIData"); + private final static QName _DataObjectReference_QNAME = new QName("http://uri.etsi.org/02918/v1.2.1#", "DataObjectReference"); + private final static QName _KeyInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyInfo"); + private final static QName _XAdESSignatures_QNAME = new QName("http://uri.etsi.org/02918/v1.2.1#", "XAdESSignatures"); + private final static QName _SignatureValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureValue"); + private final static QName _ASiCManifest_QNAME = new QName("http://uri.etsi.org/02918/v1.2.1#", "ASiCManifest"); + private final static QName _KeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyValue"); + private final static QName _Transforms_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transforms"); + private final static QName _DigestMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestMethod"); + private final static QName _X509Data_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Data"); + private final static QName _SignatureProperty_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperty"); + private final static QName _KeyName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyName"); + private final static QName _RSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RSAKeyValue"); + private final static QName _Signature_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Signature"); + private final static QName _MgmtData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "MgmtData"); + private final static QName _Extension_QNAME = new QName("http://uri.etsi.org/02918/v1.2.1#", "Extension"); + private final static QName _SignatureMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureMethod"); + private final static QName _Object_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Object"); + private final static QName _SignatureProperties_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperties"); + private final static QName _Transform_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transform"); + private final static QName _PGPData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPData"); + private final static QName _Reference_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Reference"); + private final static QName _RetrievalMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RetrievalMethod"); + private final static QName _DSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DSAKeyValue"); + private final static QName _DigestValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestValue"); + private final static QName _CanonicalizationMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "CanonicalizationMethod"); + private final static QName _SigReference_QNAME = new QName("http://uri.etsi.org/02918/v1.2.1#", "SigReference"); + private final static QName _SignedInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignedInfo"); + private final static QName _Manifest_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Manifest"); + private final static QName _SPKIDataTypeSPKISexp_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKISexp"); + private final static QName _X509DataTypeX509IssuerSerial_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509IssuerSerial"); + private final static QName _X509DataTypeX509CRL_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509CRL"); + private final static QName _X509DataTypeX509SubjectName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SubjectName"); + private final static QName _X509DataTypeX509SKI_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SKI"); + private final static QName _X509DataTypeX509Certificate_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Certificate"); + private final static QName _SignatureMethodTypeHMACOutputLength_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "HMACOutputLength"); + private final static QName _TransformTypeXPath_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "XPath"); + private final static QName _PGPDataTypePGPKeyID_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyID"); + private final static QName _PGPDataTypePGPKeyPacket_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyPacket"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.gv.egiz.asic + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link ExtensionType } + * + */ + public ExtensionType createExtensionType() { + return new ExtensionType(); + } + + /** + * Create an instance of {@link SigReferenceType } + * + */ + public SigReferenceType createSigReferenceType() { + return new SigReferenceType(); + } + + /** + * Create an instance of {@link ASiCManifestType } + * + */ + public ASiCManifestType createASiCManifestType() { + return new ASiCManifestType(); + } + + /** + * Create an instance of {@link DataObjectReferenceType } + * + */ + public DataObjectReferenceType createDataObjectReferenceType() { + return new DataObjectReferenceType(); + } + + /** + * Create an instance of {@link XAdESSignaturesType } + * + */ + public XAdESSignaturesType createXAdESSignaturesType() { + return new XAdESSignaturesType(); + } + + /** + * Create an instance of {@link ExtensionsListType } + * + */ + public ExtensionsListType createExtensionsListType() { + return new ExtensionsListType(); + } + + /** + * Create an instance of {@link AnyType } + * + */ + public AnyType createAnyType() { + return new AnyType(); + } + + /** + * Create an instance of {@link PGPDataType } + * + */ + public PGPDataType createPGPDataType() { + return new PGPDataType(); + } + + /** + * Create an instance of {@link KeyValueType } + * + */ + public KeyValueType createKeyValueType() { + return new KeyValueType(); + } + + /** + * Create an instance of {@link DSAKeyValueType } + * + */ + public DSAKeyValueType createDSAKeyValueType() { + return new DSAKeyValueType(); + } + + /** + * Create an instance of {@link ReferenceType } + * + */ + public ReferenceType createReferenceType() { + return new ReferenceType(); + } + + /** + * Create an instance of {@link RetrievalMethodType } + * + */ + public RetrievalMethodType createRetrievalMethodType() { + return new RetrievalMethodType(); + } + + /** + * Create an instance of {@link TransformsType } + * + */ + public TransformsType createTransformsType() { + return new TransformsType(); + } + + /** + * Create an instance of {@link CanonicalizationMethodType } + * + */ + public CanonicalizationMethodType createCanonicalizationMethodType() { + return new CanonicalizationMethodType(); + } + + /** + * Create an instance of {@link DigestMethodType } + * + */ + public DigestMethodType createDigestMethodType() { + return new DigestMethodType(); + } + + /** + * Create an instance of {@link ManifestType } + * + */ + public ManifestType createManifestType() { + return new ManifestType(); + } + + /** + * Create an instance of {@link SignaturePropertyType } + * + */ + public SignaturePropertyType createSignaturePropertyType() { + return new SignaturePropertyType(); + } + + /** + * Create an instance of {@link X509DataType } + * + */ + public X509DataType createX509DataType() { + return new X509DataType(); + } + + /** + * Create an instance of {@link SignedInfoType } + * + */ + public SignedInfoType createSignedInfoType() { + return new SignedInfoType(); + } + + /** + * Create an instance of {@link RSAKeyValueType } + * + */ + public RSAKeyValueType createRSAKeyValueType() { + return new RSAKeyValueType(); + } + + /** + * Create an instance of {@link SPKIDataType } + * + */ + public SPKIDataType createSPKIDataType() { + return new SPKIDataType(); + } + + /** + * Create an instance of {@link SignatureValueType } + * + */ + public SignatureValueType createSignatureValueType() { + return new SignatureValueType(); + } + + /** + * Create an instance of {@link KeyInfoType } + * + */ + public KeyInfoType createKeyInfoType() { + return new KeyInfoType(); + } + + /** + * Create an instance of {@link SignatureType } + * + */ + public SignatureType createSignatureType() { + return new SignatureType(); + } + + /** + * Create an instance of {@link SignaturePropertiesType } + * + */ + public SignaturePropertiesType createSignaturePropertiesType() { + return new SignaturePropertiesType(); + } + + /** + * Create an instance of {@link SignatureMethodType } + * + */ + public SignatureMethodType createSignatureMethodType() { + return new SignatureMethodType(); + } + + /** + * Create an instance of {@link ObjectType } + * + */ + public ObjectType createObjectType() { + return new ObjectType(); + } + + /** + * Create an instance of {@link TransformType } + * + */ + public TransformType createTransformType() { + return new TransformType(); + } + + /** + * Create an instance of {@link X509IssuerSerialType } + * + */ + public X509IssuerSerialType createX509IssuerSerialType() { + return new X509IssuerSerialType(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SPKIData") + public JAXBElement createSPKIData(SPKIDataType value) { + return new JAXBElement(_SPKIData_QNAME, SPKIDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DataObjectReferenceType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://uri.etsi.org/02918/v1.2.1#", name = "DataObjectReference") + public JAXBElement createDataObjectReference(DataObjectReferenceType value) { + return new JAXBElement(_DataObjectReference_QNAME, DataObjectReferenceType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link KeyInfoType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyInfo") + public JAXBElement createKeyInfo(KeyInfoType value) { + return new JAXBElement(_KeyInfo_QNAME, KeyInfoType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link XAdESSignaturesType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://uri.etsi.org/02918/v1.2.1#", name = "XAdESSignatures") + public JAXBElement createXAdESSignatures(XAdESSignaturesType value) { + return new JAXBElement(_XAdESSignatures_QNAME, XAdESSignaturesType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignatureValueType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureValue") + public JAXBElement createSignatureValue(SignatureValueType value) { + return new JAXBElement(_SignatureValue_QNAME, SignatureValueType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ASiCManifestType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://uri.etsi.org/02918/v1.2.1#", name = "ASiCManifest") + public JAXBElement createASiCManifest(ASiCManifestType value) { + return new JAXBElement(_ASiCManifest_QNAME, ASiCManifestType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link KeyValueType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyValue") + public JAXBElement createKeyValue(KeyValueType value) { + return new JAXBElement(_KeyValue_QNAME, KeyValueType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TransformsType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transforms") + public JAXBElement createTransforms(TransformsType value) { + return new JAXBElement(_Transforms_QNAME, TransformsType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DigestMethodType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestMethod") + public JAXBElement createDigestMethod(DigestMethodType value) { + return new JAXBElement(_DigestMethod_QNAME, DigestMethodType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link X509DataType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Data") + public JAXBElement createX509Data(X509DataType value) { + return new JAXBElement(_X509Data_QNAME, X509DataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignaturePropertyType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperty") + public JAXBElement createSignatureProperty(SignaturePropertyType value) { + return new JAXBElement(_SignatureProperty_QNAME, SignaturePropertyType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyName") + public JAXBElement createKeyName(String value) { + return new JAXBElement(_KeyName_QNAME, String.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RSAKeyValue") + public JAXBElement createRSAKeyValue(RSAKeyValueType value) { + return new JAXBElement(_RSAKeyValue_QNAME, RSAKeyValueType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignatureType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Signature") + public JAXBElement createSignature(SignatureType value) { + return new JAXBElement(_Signature_QNAME, SignatureType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "MgmtData") + public JAXBElement createMgmtData(String value) { + return new JAXBElement(_MgmtData_QNAME, String.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ExtensionType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://uri.etsi.org/02918/v1.2.1#", name = "Extension") + public JAXBElement createExtension(ExtensionType value) { + return new JAXBElement(_Extension_QNAME, ExtensionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignatureMethodType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureMethod") + public JAXBElement createSignatureMethod(SignatureMethodType value) { + return new JAXBElement(_SignatureMethod_QNAME, SignatureMethodType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ObjectType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Object") + public JAXBElement createObject(ObjectType value) { + return new JAXBElement(_Object_QNAME, ObjectType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignaturePropertiesType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperties") + public JAXBElement createSignatureProperties(SignaturePropertiesType value) { + return new JAXBElement(_SignatureProperties_QNAME, SignaturePropertiesType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TransformType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transform") + public JAXBElement createTransform(TransformType value) { + return new JAXBElement(_Transform_QNAME, TransformType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PGPDataType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPData") + public JAXBElement createPGPData(PGPDataType value) { + return new JAXBElement(_PGPData_QNAME, PGPDataType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Reference") + public JAXBElement createReference(ReferenceType value) { + return new JAXBElement(_Reference_QNAME, ReferenceType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RetrievalMethod") + public JAXBElement createRetrievalMethod(RetrievalMethodType value) { + return new JAXBElement(_RetrievalMethod_QNAME, RetrievalMethodType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DSAKeyValue") + public JAXBElement createDSAKeyValue(DSAKeyValueType value) { + return new JAXBElement(_DSAKeyValue_QNAME, DSAKeyValueType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestValue") + public JAXBElement createDigestValue(byte[] value) { + return new JAXBElement(_DigestValue_QNAME, byte[].class, null, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalizationMethodType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "CanonicalizationMethod") + public JAXBElement createCanonicalizationMethod(CanonicalizationMethodType value) { + return new JAXBElement(_CanonicalizationMethod_QNAME, CanonicalizationMethodType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SigReferenceType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://uri.etsi.org/02918/v1.2.1#", name = "SigReference") + public JAXBElement createSigReference(SigReferenceType value) { + return new JAXBElement(_SigReference_QNAME, SigReferenceType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SignedInfoType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignedInfo") + public JAXBElement createSignedInfo(SignedInfoType value) { + return new JAXBElement(_SignedInfo_QNAME, SignedInfoType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ManifestType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Manifest") + public JAXBElement createManifest(ManifestType value) { + return new JAXBElement(_Manifest_QNAME, ManifestType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SPKISexp", scope = SPKIDataType.class) + public JAXBElement createSPKIDataTypeSPKISexp(byte[] value) { + return new JAXBElement(_SPKIDataTypeSPKISexp_QNAME, byte[].class, SPKIDataType.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509IssuerSerial", scope = X509DataType.class) + public JAXBElement createX509DataTypeX509IssuerSerial(X509IssuerSerialType value) { + return new JAXBElement(_X509DataTypeX509IssuerSerial_QNAME, X509IssuerSerialType.class, X509DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509CRL", scope = X509DataType.class) + public JAXBElement createX509DataTypeX509CRL(byte[] value) { + return new JAXBElement(_X509DataTypeX509CRL_QNAME, byte[].class, X509DataType.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SubjectName", scope = X509DataType.class) + public JAXBElement createX509DataTypeX509SubjectName(String value) { + return new JAXBElement(_X509DataTypeX509SubjectName_QNAME, String.class, X509DataType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SKI", scope = X509DataType.class) + public JAXBElement createX509DataTypeX509SKI(byte[] value) { + return new JAXBElement(_X509DataTypeX509SKI_QNAME, byte[].class, X509DataType.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Certificate", scope = X509DataType.class) + public JAXBElement createX509DataTypeX509Certificate(byte[] value) { + return new JAXBElement(_X509DataTypeX509Certificate_QNAME, byte[].class, X509DataType.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "HMACOutputLength", scope = SignatureMethodType.class) + public JAXBElement createSignatureMethodTypeHMACOutputLength(BigInteger value) { + return new JAXBElement(_SignatureMethodTypeHMACOutputLength_QNAME, BigInteger.class, SignatureMethodType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "XPath", scope = TransformType.class) + public JAXBElement createTransformTypeXPath(String value) { + return new JAXBElement(_TransformTypeXPath_QNAME, String.class, TransformType.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPKeyID", scope = PGPDataType.class) + public JAXBElement createPGPDataTypePGPKeyID(byte[] value) { + return new JAXBElement(_PGPDataTypePGPKeyID_QNAME, byte[].class, PGPDataType.class, ((byte[]) value)); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPKeyPacket", scope = PGPDataType.class) + public JAXBElement createPGPDataTypePGPKeyPacket(byte[] value) { + return new JAXBElement(_PGPDataTypePGPKeyPacket_QNAME, byte[].class, PGPDataType.class, ((byte[]) value)); + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ObjectType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ObjectType.java new file mode 100644 index 0000000..813c6d7 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ObjectType.java @@ -0,0 +1,171 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlID; +import javax.xml.bind.annotation.XmlMixed; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import org.w3c.dom.Element; + + +/** + *

Java class for ObjectType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ObjectType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence maxOccurs="unbounded" minOccurs="0">
+ *         <any processContents='lax'/>
+ *       </sequence>
+ *       <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *       <attribute name="MimeType" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       <attribute name="Encoding" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ObjectType", propOrder = { + "content" +}) +public class ObjectType { + + @XmlMixed + @XmlAnyElement(lax = true) + protected List content; + @XmlAttribute(name = "Id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + @XmlAttribute(name = "MimeType") + protected String mimeType; + @XmlAttribute(name = "Encoding") + @XmlSchemaType(name = "anyURI") + protected String encoding; + + /** + * Gets the value of the content property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * {@link Element } + * {@link Object } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + /** + * Gets the value of the mimeType property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getMimeType() { + return mimeType; + } + + /** + * Sets the value of the mimeType property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setMimeType(String value) { + this.mimeType = value; + } + + /** + * Gets the value of the encoding property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getEncoding() { + return encoding; + } + + /** + * Sets the value of the encoding property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setEncoding(String value) { + this.encoding = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/PGPDataType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/PGPDataType.java new file mode 100644 index 0000000..1adcf33 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/PGPDataType.java @@ -0,0 +1,105 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlElementRefs; +import javax.xml.bind.annotation.XmlType; +import org.w3c.dom.Element; + + +/** + *

Java class for PGPDataType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="PGPDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <choice>
+ *         <sequence>
+ *           <element name="PGPKeyID" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ *           <element name="PGPKeyPacket" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *           <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ *         </sequence>
+ *         <sequence>
+ *           <element name="PGPKeyPacket" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ *           <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ *         </sequence>
+ *       </choice>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PGPDataType", propOrder = { + "content" +}) +public class PGPDataType { + + @XmlElementRefs({ + @XmlElementRef(name = "PGPKeyID", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "PGPKeyPacket", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) + }) + @XmlAnyElement(lax = true) + protected List content; + + /** + * Gets the rest of the content model. + * + *

+ * You are getting this "catch-all" property because of the following reason: + * The field name "PGPKeyPacket" is used by two different parts of a schema. See: + * line 218 of http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd + * line 213 of http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd + *

+ * To get rid of this property, apply a property customization to one + * of both of the following declarations to change their names: + * Gets the value of the content property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * {@link Element } + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * {@link Object } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/RSAKeyValueType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/RSAKeyValueType.java new file mode 100644 index 0000000..4b3cc12 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/RSAKeyValueType.java @@ -0,0 +1,93 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for RSAKeyValueType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="RSAKeyValueType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Modulus" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ *         <element name="Exponent" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RSAKeyValueType", propOrder = { + "modulus", + "exponent" +}) +public class RSAKeyValueType { + + @XmlElement(name = "Modulus", required = true) + protected byte[] modulus; + @XmlElement(name = "Exponent", required = true) + protected byte[] exponent; + + /** + * Gets the value of the modulus property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getModulus() { + return modulus; + } + + /** + * Sets the value of the modulus property. + * + * @param value + * allowed object is + * byte[] + */ + public void setModulus(byte[] value) { + this.modulus = value; + } + + /** + * Gets the value of the exponent property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getExponent() { + return exponent; + } + + /** + * Sets the value of the exponent property. + * + * @param value + * allowed object is + * byte[] + */ + public void setExponent(byte[] value) { + this.exponent = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ReferenceType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ReferenceType.java new file mode 100644 index 0000000..8d17d19 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/ReferenceType.java @@ -0,0 +1,214 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlID; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java class for ReferenceType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="ReferenceType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}DigestMethod"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}DigestValue"/>
+ *       </sequence>
+ *       <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *       <attribute name="URI" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       <attribute name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReferenceType", propOrder = { + "transforms", + "digestMethod", + "digestValue" +}) +public class ReferenceType { + + @XmlElement(name = "Transforms") + protected TransformsType transforms; + @XmlElement(name = "DigestMethod", required = true) + protected DigestMethodType digestMethod; + @XmlElement(name = "DigestValue", required = true) + protected byte[] digestValue; + @XmlAttribute(name = "Id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + @XmlAttribute(name = "URI") + @XmlSchemaType(name = "anyURI") + protected String uri; + @XmlAttribute(name = "Type") + @XmlSchemaType(name = "anyURI") + protected String type; + + /** + * Gets the value of the transforms property. + * + * @return + * possible object is + * {@link TransformsType } + * + */ + public TransformsType getTransforms() { + return transforms; + } + + /** + * Sets the value of the transforms property. + * + * @param value + * allowed object is + * {@link TransformsType } + * + */ + public void setTransforms(TransformsType value) { + this.transforms = value; + } + + /** + * Gets the value of the digestMethod property. + * + * @return + * possible object is + * {@link DigestMethodType } + * + */ + public DigestMethodType getDigestMethod() { + return digestMethod; + } + + /** + * Sets the value of the digestMethod property. + * + * @param value + * allowed object is + * {@link DigestMethodType } + * + */ + public void setDigestMethod(DigestMethodType value) { + this.digestMethod = value; + } + + /** + * Gets the value of the digestValue property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getDigestValue() { + return digestValue; + } + + /** + * Sets the value of the digestValue property. + * + * @param value + * allowed object is + * byte[] + */ + public void setDigestValue(byte[] value) { + this.digestValue = value; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + /** + * Gets the value of the uri property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getURI() { + return uri; + } + + /** + * Sets the value of the uri property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setURI(String value) { + this.uri = value; + } + + /** + * Gets the value of the type property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getType() { + return type; + } + + /** + * Sets the value of the type property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setType(String value) { + this.type = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/RetrievalMethodType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/RetrievalMethodType.java new file mode 100644 index 0000000..5e61e20 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/RetrievalMethodType.java @@ -0,0 +1,127 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for RetrievalMethodType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="RetrievalMethodType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/>
+ *       </sequence>
+ *       <attribute name="URI" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       <attribute name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RetrievalMethodType", propOrder = { + "transforms" +}) +public class RetrievalMethodType { + + @XmlElement(name = "Transforms") + protected TransformsType transforms; + @XmlAttribute(name = "URI") + @XmlSchemaType(name = "anyURI") + protected String uri; + @XmlAttribute(name = "Type") + @XmlSchemaType(name = "anyURI") + protected String type; + + /** + * Gets the value of the transforms property. + * + * @return + * possible object is + * {@link TransformsType } + * + */ + public TransformsType getTransforms() { + return transforms; + } + + /** + * Sets the value of the transforms property. + * + * @param value + * allowed object is + * {@link TransformsType } + * + */ + public void setTransforms(TransformsType value) { + this.transforms = value; + } + + /** + * Gets the value of the uri property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getURI() { + return uri; + } + + /** + * Sets the value of the uri property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setURI(String value) { + this.uri = value; + } + + /** + * Gets the value of the type property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getType() { + return type; + } + + /** + * Sets the value of the type property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setType(String value) { + this.type = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SPKIDataType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SPKIDataType.java new file mode 100644 index 0000000..b7b2bf2 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SPKIDataType.java @@ -0,0 +1,83 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; +import org.w3c.dom.Element; + + +/** + *

Java class for SPKIDataType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="SPKIDataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence maxOccurs="unbounded">
+ *         <element name="SPKISexp" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ *         <any processContents='lax' namespace='##other' minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SPKIDataType", propOrder = { + "spkiSexpAndAny" +}) +public class SPKIDataType { + + @XmlElementRef(name = "SPKISexp", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class) + @XmlAnyElement(lax = true) + protected List spkiSexpAndAny; + + /** + * Gets the value of the spkiSexpAndAny property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the spkiSexpAndAny property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSPKISexpAndAny().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Element } + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * {@link Object } + * + * + */ + public List getSPKISexpAndAny() { + if (spkiSexpAndAny == null) { + spkiSexpAndAny = new ArrayList(); + } + return this.spkiSexpAndAny; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SigReferenceType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SigReferenceType.java new file mode 100644 index 0000000..6b74429 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SigReferenceType.java @@ -0,0 +1,94 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for SigReferenceType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="SigReferenceType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <attribute name="URI" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       <attribute name="MimeType" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SigReferenceType", namespace = "http://uri.etsi.org/02918/v1.2.1#") +public class SigReferenceType { + + @XmlAttribute(name = "URI", required = true) + @XmlSchemaType(name = "anyURI") + protected String uri; + @XmlAttribute(name = "MimeType") + protected String mimeType; + + /** + * Gets the value of the uri property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getURI() { + return uri; + } + + /** + * Sets the value of the uri property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setURI(String value) { + this.uri = value; + } + + /** + * Gets the value of the mimeType property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getMimeType() { + return mimeType; + } + + /** + * Sets the value of the mimeType property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setMimeType(String value) { + this.mimeType = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureMethodType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureMethodType.java new file mode 100644 index 0000000..41ebe48 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureMethodType.java @@ -0,0 +1,115 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlMixed; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for SignatureMethodType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="SignatureMethodType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="HMACOutputLength" type="{http://www.w3.org/2000/09/xmldsig#}HMACOutputLengthType" minOccurs="0"/>
+ *         <any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *       <attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SignatureMethodType", propOrder = { + "content" +}) +public class SignatureMethodType { + + @XmlElementRef(name = "HMACOutputLength", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) + @XmlMixed + @XmlAnyElement(lax = true) + protected List content; + @XmlAttribute(name = "Algorithm", required = true) + @XmlSchemaType(name = "anyURI") + protected String algorithm; + + /** + * Gets the value of the content property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * {@link JAXBElement }{@code <}{@link BigInteger }{@code >} + * {@link Object } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + + /** + * Gets the value of the algorithm property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAlgorithm() { + return algorithm; + } + + /** + * Sets the value of the algorithm property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAlgorithm(String value) { + this.algorithm = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignaturePropertiesType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignaturePropertiesType.java new file mode 100644 index 0000000..7f0a75d --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignaturePropertiesType.java @@ -0,0 +1,111 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlID; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java class for SignaturePropertiesType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="SignaturePropertiesType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureProperty" maxOccurs="unbounded"/>
+ *       </sequence>
+ *       <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SignaturePropertiesType", propOrder = { + "signatureProperty" +}) +public class SignaturePropertiesType { + + @XmlElement(name = "SignatureProperty", required = true) + protected List signatureProperty; + @XmlAttribute(name = "Id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the signatureProperty property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the signatureProperty property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSignatureProperty().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SignaturePropertyType } + * + * + */ + public List getSignatureProperty() { + if (signatureProperty == null) { + signatureProperty = new ArrayList(); + } + return this.signatureProperty; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignaturePropertyType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignaturePropertyType.java new file mode 100644 index 0000000..ea45e8e --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignaturePropertyType.java @@ -0,0 +1,144 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlID; +import javax.xml.bind.annotation.XmlMixed; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import org.w3c.dom.Element; + + +/** + *

Java class for SignaturePropertyType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="SignaturePropertyType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <choice maxOccurs="unbounded">
+ *         <any processContents='lax' namespace='##other'/>
+ *       </choice>
+ *       <attribute name="Target" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SignaturePropertyType", propOrder = { + "content" +}) +public class SignaturePropertyType { + + @XmlMixed + @XmlAnyElement(lax = true) + protected List content; + @XmlAttribute(name = "Target", required = true) + @XmlSchemaType(name = "anyURI") + protected String target; + @XmlAttribute(name = "Id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the content property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * {@link Element } + * {@link Object } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + + /** + * Gets the value of the target property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getTarget() { + return target; + } + + /** + * Sets the value of the target property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setTarget(String value) { + this.target = value; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureType.java new file mode 100644 index 0000000..70dc7b0 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureType.java @@ -0,0 +1,195 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlID; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java class for SignatureType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="SignatureType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}SignedInfo"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureValue"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}KeyInfo" minOccurs="0"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}Object" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *       <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SignatureType", propOrder = { + "signedInfo", + "signatureValue", + "keyInfo", + "object" +}) +public class SignatureType { + + @XmlElement(name = "SignedInfo", required = true) + protected SignedInfoType signedInfo; + @XmlElement(name = "SignatureValue", required = true) + protected SignatureValueType signatureValue; + @XmlElement(name = "KeyInfo") + protected KeyInfoType keyInfo; + @XmlElement(name = "Object") + protected List object; + @XmlAttribute(name = "Id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the signedInfo property. + * + * @return + * possible object is + * {@link SignedInfoType } + * + */ + public SignedInfoType getSignedInfo() { + return signedInfo; + } + + /** + * Sets the value of the signedInfo property. + * + * @param value + * allowed object is + * {@link SignedInfoType } + * + */ + public void setSignedInfo(SignedInfoType value) { + this.signedInfo = value; + } + + /** + * Gets the value of the signatureValue property. + * + * @return + * possible object is + * {@link SignatureValueType } + * + */ + public SignatureValueType getSignatureValue() { + return signatureValue; + } + + /** + * Sets the value of the signatureValue property. + * + * @param value + * allowed object is + * {@link SignatureValueType } + * + */ + public void setSignatureValue(SignatureValueType value) { + this.signatureValue = value; + } + + /** + * Gets the value of the keyInfo property. + * + * @return + * possible object is + * {@link KeyInfoType } + * + */ + public KeyInfoType getKeyInfo() { + return keyInfo; + } + + /** + * Sets the value of the keyInfo property. + * + * @param value + * allowed object is + * {@link KeyInfoType } + * + */ + public void setKeyInfo(KeyInfoType value) { + this.keyInfo = value; + } + + /** + * Gets the value of the object property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the object property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getObject().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ObjectType } + * + * + */ + public List getObject() { + if (object == null) { + object = new ArrayList(); + } + return this.object; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureValueType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureValueType.java new file mode 100644 index 0000000..8c0350b --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignatureValueType.java @@ -0,0 +1,99 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlID; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java class for SignatureValueType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="SignatureValueType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>base64Binary">
+ *       <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SignatureValueType", propOrder = { + "value" +}) +public class SignatureValueType { + + @XmlValue + protected byte[] value; + @XmlAttribute(name = "Id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * byte[] + */ + public void setValue(byte[] value) { + this.value = value; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignedInfoType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignedInfoType.java new file mode 100644 index 0000000..ff8f40e --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/SignedInfoType.java @@ -0,0 +1,167 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlID; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java class for SignedInfoType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="SignedInfoType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureMethod"/>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}Reference" maxOccurs="unbounded"/>
+ *       </sequence>
+ *       <attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SignedInfoType", propOrder = { + "canonicalizationMethod", + "signatureMethod", + "reference" +}) +public class SignedInfoType { + + @XmlElement(name = "CanonicalizationMethod", required = true) + protected CanonicalizationMethodType canonicalizationMethod; + @XmlElement(name = "SignatureMethod", required = true) + protected SignatureMethodType signatureMethod; + @XmlElement(name = "Reference", required = true) + protected List reference; + @XmlAttribute(name = "Id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the canonicalizationMethod property. + * + * @return + * possible object is + * {@link CanonicalizationMethodType } + * + */ + public CanonicalizationMethodType getCanonicalizationMethod() { + return canonicalizationMethod; + } + + /** + * Sets the value of the canonicalizationMethod property. + * + * @param value + * allowed object is + * {@link CanonicalizationMethodType } + * + */ + public void setCanonicalizationMethod(CanonicalizationMethodType value) { + this.canonicalizationMethod = value; + } + + /** + * Gets the value of the signatureMethod property. + * + * @return + * possible object is + * {@link SignatureMethodType } + * + */ + public SignatureMethodType getSignatureMethod() { + return signatureMethod; + } + + /** + * Sets the value of the signatureMethod property. + * + * @param value + * allowed object is + * {@link SignatureMethodType } + * + */ + public void setSignatureMethod(SignatureMethodType value) { + this.signatureMethod = value; + } + + /** + * Gets the value of the reference property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the reference property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getReference().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReferenceType } + * + * + */ + public List getReference() { + if (reference == null) { + reference = new ArrayList(); + } + return this.reference; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/TransformType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/TransformType.java new file mode 100644 index 0000000..1f2d7c9 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/TransformType.java @@ -0,0 +1,116 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlMixed; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import org.w3c.dom.Element; + + +/** + *

Java class for TransformType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="TransformType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <choice maxOccurs="unbounded" minOccurs="0">
+ *         <any processContents='lax' namespace='##other'/>
+ *         <element name="XPath" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       </choice>
+ *       <attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TransformType", propOrder = { + "content" +}) +public class TransformType { + + @XmlElementRef(name = "XPath", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) + @XmlMixed + @XmlAnyElement(lax = true) + protected List content; + @XmlAttribute(name = "Algorithm", required = true) + @XmlSchemaType(name = "anyURI") + protected String algorithm; + + /** + * Gets the value of the content property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * {@link JAXBElement }{@code <}{@link String }{@code >} + * {@link Element } + * {@link Object } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + + /** + * Gets the value of the algorithm property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAlgorithm() { + return algorithm; + } + + /** + * Sets the value of the algorithm property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAlgorithm(String value) { + this.algorithm = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/TransformsType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/TransformsType.java new file mode 100644 index 0000000..9134229 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/TransformsType.java @@ -0,0 +1,76 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for TransformsType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="TransformsType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}Transform" maxOccurs="unbounded"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TransformsType", propOrder = { + "transform" +}) +public class TransformsType { + + @XmlElement(name = "Transform", required = true) + protected List transform; + + /** + * Gets the value of the transform property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the transform property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTransform().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TransformType } + * + * + */ + public List getTransform() { + if (transform == null) { + transform = new ArrayList(); + } + return this.transform; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/X509DataType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/X509DataType.java new file mode 100644 index 0000000..3fa1604 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/X509DataType.java @@ -0,0 +1,100 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlElementRefs; +import javax.xml.bind.annotation.XmlType; +import org.w3c.dom.Element; + + +/** + *

Java class for X509DataType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="X509DataType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence maxOccurs="unbounded">
+ *         <choice>
+ *           <element name="X509IssuerSerial" type="{http://www.w3.org/2000/09/xmldsig#}X509IssuerSerialType"/>
+ *           <element name="X509SKI" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ *           <element name="X509SubjectName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *           <element name="X509Certificate" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ *           <element name="X509CRL" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ *           <any processContents='lax' namespace='##other'/>
+ *         </choice>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "X509DataType", propOrder = { + "x509IssuerSerialOrX509SKIOrX509SubjectName" +}) +public class X509DataType { + + @XmlElementRefs({ + @XmlElementRef(name = "X509CRL", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "X509SKI", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "X509Certificate", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "X509IssuerSerial", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "X509SubjectName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) + }) + @XmlAnyElement(lax = true) + protected List x509IssuerSerialOrX509SKIOrX509SubjectName; + + /** + * Gets the value of the x509IssuerSerialOrX509SKIOrX509SubjectName property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the x509IssuerSerialOrX509SKIOrX509SubjectName property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getX509IssuerSerialOrX509SKIOrX509SubjectName().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >} + * {@link JAXBElement }{@code <}{@link String }{@code >} + * {@link Element } + * {@link Object } + * + * + */ + public List getX509IssuerSerialOrX509SKIOrX509SubjectName() { + if (x509IssuerSerialOrX509SKIOrX509SubjectName == null) { + x509IssuerSerialOrX509SKIOrX509SubjectName = new ArrayList(); + } + return this.x509IssuerSerialOrX509SKIOrX509SubjectName; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/X509IssuerSerialType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/X509IssuerSerialType.java new file mode 100644 index 0000000..f1f7331 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/X509IssuerSerialType.java @@ -0,0 +1,98 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for X509IssuerSerialType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="X509IssuerSerialType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="X509IssuerName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="X509SerialNumber" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "X509IssuerSerialType", propOrder = { + "x509IssuerName", + "x509SerialNumber" +}) +public class X509IssuerSerialType { + + @XmlElement(name = "X509IssuerName", required = true) + protected String x509IssuerName; + @XmlElement(name = "X509SerialNumber", required = true) + protected BigInteger x509SerialNumber; + + /** + * Gets the value of the x509IssuerName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getX509IssuerName() { + return x509IssuerName; + } + + /** + * Sets the value of the x509IssuerName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setX509IssuerName(String value) { + this.x509IssuerName = value; + } + + /** + * Gets the value of the x509SerialNumber property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getX509SerialNumber() { + return x509SerialNumber; + } + + /** + * Sets the value of the x509SerialNumber property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setX509SerialNumber(BigInteger value) { + this.x509SerialNumber = value; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/XAdESSignaturesType.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/XAdESSignaturesType.java new file mode 100644 index 0000000..00ca792 --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/XAdESSignaturesType.java @@ -0,0 +1,76 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + + +package at.gv.egiz.asic; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for XAdESSignaturesType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="XAdESSignaturesType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element ref="{http://www.w3.org/2000/09/xmldsig#}Signature" maxOccurs="unbounded"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "XAdESSignaturesType", namespace = "http://uri.etsi.org/02918/v1.2.1#", propOrder = { + "signature" +}) +public class XAdESSignaturesType { + + @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#", required = true) + protected List signature; + + /** + * Gets the value of the signature property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the signature property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSignature().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SignatureType } + * + * + */ + public List getSignature() { + if (signature == null) { + signature = new ArrayList(); + } + return this.signature; + } + +} diff --git a/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/package-info.java b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/package-info.java new file mode 100644 index 0000000..ff68caf --- /dev/null +++ b/moaSig/moa-asic/src/generated/java/at/gv/egiz/asic/package-info.java @@ -0,0 +1,9 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.16 at 02:42:50 PM CEST +// + +@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.w3.org/2000/09/xmldsig#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +package at.gv.egiz.asic; diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiC.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiC.java new file mode 100644 index 0000000..e79d2ca --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiC.java @@ -0,0 +1,13 @@ +package at.gv.egiz.asic.api; + +import java.util.List; + +public interface ASiC { + public ASiCFormat getFormat(); + public boolean isXAdES(); + public boolean isCAdES(); + + public List getSignaturesEntries(); + public List getDataEntries(); + public List getInformationEntries(); +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCConstants.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCConstants.java new file mode 100644 index 0000000..02baf40 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCConstants.java @@ -0,0 +1,9 @@ +package at.gv.egiz.asic.api; + +/** + * Created by afitzek on 6/15/16. + */ +public interface ASiCConstants { + public static final String FILE_MIME_TYPE = "mimetype"; + public static final String FILE_META_INF = "META-INF/"; +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCEntry.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCEntry.java new file mode 100644 index 0000000..7c026cf --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCEntry.java @@ -0,0 +1,38 @@ +package at.gv.egiz.asic.api; + +import java.io.InputStream; + +/** + * Created by afitzek on 6/15/16. + */ +public class ASiCEntry { + + private String entryName; + private InputStream contents; + + public ASiCEntry() { + } + + public String getEntryName() { + return entryName; + } + + public void setEntryName(String entryName) { + this.entryName = entryName; + } + + public InputStream getContents() { + return contents; + } + + public void setContents(InputStream contents) { + this.contents = contents; + } + + @Override + public String toString() { + return "ASiCEntry{" + + "entryName='" + entryName + '\'' + + '}'; + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCFactory.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCFactory.java index e9ad9dc..6b067f7 100644 --- a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCFactory.java +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCFactory.java @@ -1,7 +1,164 @@ package at.gv.egiz.asic.api; +import at.gv.egiz.asic.exceptions.ASiCException; +import at.gv.egiz.asic.impl.ASiCBaseFormatFactory; +import at.gv.egiz.asic.impl.ASiCExtendedFormatFactory; +import at.gv.egiz.asic.impl.ASiCSimpleFormatFactory; +import at.gv.egiz.asic.impl.ZipCommentReaderStream; +import at.gv.egovernment.moa.spss.MOAApplicationException; +import at.gv.egovernment.moa.spss.MOAException; +import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + /** * Created by afitzek on 6/15/16. */ -public interface ASiCFactory { +public class ASiCFactory { + + private static final Logger logger = LoggerFactory.getLogger(ASiCFactory.class); + + private static final String MIMETYPE_FORMAT_E = "application/vnd.etsi.asic-e+zip"; + private static final String MIMETYPE_FORMAT_S = "application/vnd.etsi.asic-s+zip"; + + public static ASiC parseASiC(InputStream is, ASiCFormat format) throws MOAException { + + InputStream newInputStream = is; + + + // Try to determine the asic format! + if (!newInputStream.markSupported()) { + ByteArrayOutputStream asicContainer = new ByteArrayOutputStream(); + + try { + IOUtils.copy(newInputStream, asicContainer); + } catch (IOException e) { + throw new MOAApplicationException("asic.0003", null); + } + newInputStream = new ByteArrayInputStream(asicContainer.toByteArray()); + } + + String mimeTypeFile = null; + ZipCommentReaderStream commentReaderStream = new ZipCommentReaderStream(newInputStream); + byte[] buffer = new byte[8096]; + try { + while (commentReaderStream.read(buffer) >= 0) { + } + newInputStream.reset(); + } catch (IOException e) { + throw new MOAApplicationException("asic.0003", null); + } + + ZipInputStream zipInputStream = new ZipInputStream(newInputStream); + + try { + for (ZipEntry entry = zipInputStream.getNextEntry(); entry != null; entry = zipInputStream.getNextEntry()) { + String entryName = entry.getName(); + + if("mimetype".equalsIgnoreCase(entryName)) { + if(mimeTypeFile == null) { + mimeTypeFile = IOUtils.toString(zipInputStream, "UTF-8"); + } else { + logger.warn("multiple mimetype files found in archiv"); + } + } + } + newInputStream.reset(); + } catch (IOException e) { + throw new MOAApplicationException("asic.0007", null); + } + + String fileComment = commentReaderStream.getFileComment(); + ASiCFormat fileCommentFormat = null; + if (fileComment != null) { + logger.info("Found file comment in ASiC {}", fileComment); + if(fileComment.startsWith("mimetype=")) { + String fileCommentMimeType = fileComment.substring("mimetype=".length()); + if(fileCommentMimeType.startsWith(MIMETYPE_FORMAT_E)) { + fileCommentFormat = ASiCFormat.ASiCE; + } else if(fileCommentMimeType.startsWith(MIMETYPE_FORMAT_S)) { + fileCommentFormat = ASiCFormat.ASiCS; + } + } + } else { + logger.info("No file comment in ASiC"); + } + + + ASiCFormat mimeTypeFileFormat = null; + if (mimeTypeFile != null) { + logger.info("Found mimetype file in ASiC {}", mimeTypeFile); + if(MIMETYPE_FORMAT_E.equalsIgnoreCase(mimeTypeFile)) { + mimeTypeFileFormat = ASiCFormat.ASiCE; + } else if(MIMETYPE_FORMAT_S.equalsIgnoreCase(mimeTypeFile)) { + mimeTypeFileFormat = ASiCFormat.ASiCS; + } + } else { + logger.info("No mimetype file in ASiC"); + } + + if (format == null) { + if (fileCommentFormat != null && mimeTypeFileFormat != null) { + // both are set + if (fileCommentFormat == mimeTypeFileFormat) { + format = fileCommentFormat; + } else { + throw new MOAApplicationException("asic.0009", null); + } + } else if (fileCommentFormat != null) { + format = fileCommentFormat; + } else if (mimeTypeFileFormat != null) { + format = mimeTypeFileFormat; + } else { + throw new MOAApplicationException("asic.0008", null); + } + } else { + // format is provided, only check for missmatches + if (fileCommentFormat != null && fileCommentFormat != format) { + logger.warn("ASiC format missmatch file comment {} vs provided {}", fileCommentFormat, format); + throw new MOAApplicationException("asic.0009", null); + } + if (mimeTypeFileFormat != null && mimeTypeFileFormat != format) { + logger.warn("ASiC format missmatch mimetype file {} vs provided {}", mimeTypeFileFormat, format); + throw new MOAApplicationException("asic.0009", null); + } + + if (fileCommentFormat != null && mimeTypeFileFormat != null) { + // both are set + if (fileCommentFormat != mimeTypeFileFormat) { + logger.warn("ASiC format missmatch file comment {} vs mimetype file {}", fileCommentFormat, mimeTypeFileFormat); + throw new MOAApplicationException("asic.0009", null); + } + } + } + + ASiCBaseFormatFactory formatFactory = null; + + if (format == null) { + throw new MOAApplicationException("asic.0008", null); + } + + switch (format) { + case ASiCE: + formatFactory = new ASiCExtendedFormatFactory(); + break; + case ASiCS: + formatFactory = new ASiCSimpleFormatFactory(); + break; + } + + if (formatFactory == null) { + throw new MOAApplicationException("asic.0008", null); + } + + return formatFactory.createASiC(newInputStream); + } + } diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCFormat.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCFormat.java new file mode 100644 index 0000000..8106944 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCFormat.java @@ -0,0 +1,9 @@ +package at.gv.egiz.asic.api; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public enum ASiCFormat { + ASiCS, + ASiCE +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCVerificationResult.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCVerificationResult.java new file mode 100644 index 0000000..a350f18 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCVerificationResult.java @@ -0,0 +1,40 @@ +package at.gv.egiz.asic.api; + +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Andreas Fitzek on 6/16/16. + */ +public class ASiCVerificationResult { + + private List signedFiles = new ArrayList(); + + private VerifyCMSSignatureResponse cmsResult = null; + private VerifyXMLSignatureResponse xmlResult = null; + + public ASiCVerificationResult(List references, VerifyCMSSignatureResponse cmsResult) { + this.signedFiles = references; + this.cmsResult = cmsResult; + } + + public ASiCVerificationResult(List references, VerifyXMLSignatureResponse xmlResult) { + this.signedFiles = references; + this.xmlResult = xmlResult; + } + + public List getSignedFiles() { + return signedFiles; + } + + public VerifyXMLSignatureResponse getXmlResult() { + return xmlResult; + } + + public VerifyCMSSignatureResponse getCmsResult() { + return cmsResult; + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCVerifier.java new file mode 100644 index 0000000..77bc61d --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/api/ASiCVerifier.java @@ -0,0 +1,16 @@ +package at.gv.egiz.asic.api; + +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; + +import java.util.Date; +import java.util.List; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public interface ASiCVerifier { + + public List verify(ASiC asic, String trustProfileID, Date date) throws MOAException; + +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/exceptions/ASiCException.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/exceptions/ASiCException.java new file mode 100644 index 0000000..f29199a --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/exceptions/ASiCException.java @@ -0,0 +1,7 @@ +package at.gv.egiz.asic.exceptions; + +/** + * Created by afitzek on 6/15/16. + */ +public class ASiCException { +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCBaseFormatFactory.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCBaseFormatFactory.java new file mode 100644 index 0000000..bce179d --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCBaseFormatFactory.java @@ -0,0 +1,134 @@ +package at.gv.egiz.asic.impl; + +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egiz.asic.impl.handler.*; +import at.gv.egovernment.moa.spss.MOAApplicationException; +import at.gv.egovernment.moa.spss.MOAException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public abstract class ASiCBaseFormatFactory implements ASiCContainer { + + private static final Logger logger = LoggerFactory.getLogger(ASiCBaseFormatFactory.class); + + protected boolean cadesSigned = false; + protected boolean xadesSigned = false; + protected boolean timestamped = false; + + protected String mimeType = null; + + protected List signatureEntries = new ArrayList(); + protected List dataEntries = new ArrayList(); + protected List informationEntries = new ArrayList(); + + protected List handlers = new ArrayList(); + + @Override + public void addDataEntry(ASiCEntry entry) { + this.dataEntries.add(entry); + } + + @Override + public void addSignatureEntry(ASiCEntry entry) { + this.signatureEntries.add(entry); + } + + @Override + public void addInformationEntry(ASiCEntry entry) { + this.informationEntries.add(entry); + } + + public ASiCBaseFormatFactory() { + handlers.add(new MimefileHandler()); + handlers.add(new MetaInfHandler()); + handlers.add(new AllDataHandler()); + } + + public abstract ASiCFormat factoryFormat(); + + protected abstract void validate() throws MOAException; + + public ASiC createASiC(InputStream is) throws MOAException { + + ZipCommentReaderStream commentReaderStream = new ZipCommentReaderStream(is); + + ZipInputStream zipInputStream = new ZipInputStream(commentReaderStream); + + try { + for (ZipEntry entry = zipInputStream.getNextEntry(); entry != null; entry = zipInputStream.getNextEntry()) { + String entryName = entry.getName(); + + Iterator handlerIterator = this.handlers.iterator(); + while (handlerIterator.hasNext()) { + EntryHandler entryHandler = handlerIterator.next(); + + if (entryHandler.handle(entryName, zipInputStream, this)) { + break; + } + } + } + } catch(IOException e) { + logger.info("Failed to read from ASiC Container", e); + throw new MOAApplicationException("asic.0007", null); + } + + + if(this.mimeType == null) { + String mimeTypeComment = commentReaderStream.getFileComment(); + if(mimeTypeComment != null) { + this.mimeType = mimeTypeComment; + } + } + + this.validate(); + + // unpack and retrieve all available information on ASiC signature + return new ASiCImpl(this.factoryFormat(), this.xadesSigned, this.cadesSigned, this.signatureEntries, dataEntries, this.informationEntries); + } + + @Override + public void setMimeType(String mimeType) { + this.mimeType = mimeType; + } + + public void setIsXAdES() throws MOAException { + if(this.cadesSigned) { + throw new MOAApplicationException("asic.0010", null); + } + this.xadesSigned = true; + } + + public void setIsCAdES() throws MOAException { + if(this.xadesSigned) { + throw new MOAApplicationException("asic.0010", null); + } + this.cadesSigned = true; + } + + public void setIsTimestamped() throws MOAException { + throw new MOAApplicationException("asic.0013", null); + } + + @Override + public void setIsEvidenceERS() throws MOAException { + throw new MOAApplicationException("asic.0011", null); + } + + @Override + public void setIsEvidenceXML() throws MOAException { + throw new MOAApplicationException("asic.0012", null); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCContainer.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCContainer.java new file mode 100644 index 0000000..73d1566 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCContainer.java @@ -0,0 +1,22 @@ +package at.gv.egiz.asic.impl; + +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egovernment.moa.spss.MOAException; + +/** + * Created by afitzek on 6/15/16. + */ +public interface ASiCContainer { + + public void setMimeType(String mimeType); + public void addDataEntry(ASiCEntry entry); + public void addSignatureEntry(ASiCEntry entry); + public void addInformationEntry(ASiCEntry entry); + + public void setIsXAdES() throws MOAException; + public void setIsCAdES() throws MOAException; + public void setIsEvidenceERS() throws MOAException; + public void setIsEvidenceXML() throws MOAException; + public void setIsTimestamped() throws MOAException; + +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCExtendedFormatFactory.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCExtendedFormatFactory.java new file mode 100644 index 0000000..f71552b --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCExtendedFormatFactory.java @@ -0,0 +1,51 @@ +package at.gv.egiz.asic.impl; + +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egiz.asic.impl.handler.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class ASiCExtendedFormatFactory extends ASiCBaseFormatFactory { + + private static final Logger logger = LoggerFactory.getLogger(ASiCExtendedFormatFactory.class); + + public ASiCExtendedFormatFactory() { + super(); + handlers.add(new ExtendedASiCCAdESHandler()); + handlers.add(new ExtendedASiCXAdESHandler()); + handlers.add(new ExtendedEvidenceERSRecordHandler()); + handlers.add(new ExtendedEvidenceXMLRecordHandler()); + + Collections.sort(handlers, new HandlerSorter()); + + logger.debug("Handler ordering for ASiCExtendedFormatFactory"); + Iterator handlerIterator = this.handlers.iterator(); + while(handlerIterator.hasNext()) { + EntryHandler entryHandler = handlerIterator.next(); + logger.debug(" " + entryHandler.getPriority() + " " + entryHandler.getClass().getSimpleName()); + } + } + + @Override + protected void validate() { + + } + + @Override + public ASiCFormat factoryFormat() { + return ASiCFormat.ASiCE; + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCImpl.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCImpl.java new file mode 100644 index 0000000..c78385a --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCImpl.java @@ -0,0 +1,73 @@ +package at.gv.egiz.asic.impl; + +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egiz.asic.api.ASiCFormat; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class ASiCImpl implements ASiC { + + private ASiCFormat format; + private boolean xades; + private boolean cades; + + protected List signatureEntries = new ArrayList(); + protected List dataEntries = new ArrayList(); + protected List informationEntries = new ArrayList(); + + public ASiCImpl(ASiCFormat format, boolean xades, boolean cades, List signatureEntries, List dataEntries, List informationEntries) { + this.format = format; + this.xades = xades; + this.cades = cades; + this.signatureEntries = signatureEntries; + this.dataEntries = dataEntries; + this.informationEntries = informationEntries; + } + + @Override + public ASiCFormat getFormat() { + return format; + } + + @Override + public boolean isXAdES() { + return xades; + } + + @Override + public boolean isCAdES() { + return cades; + } + + @Override + public List getSignaturesEntries() { + return signatureEntries; + } + + @Override + public List getDataEntries() { + return dataEntries; + } + + @Override + public List getInformationEntries() { + return informationEntries; + } + + @Override + public String toString() { + return "ASiCImpl{" + + "format=" + format + + ", xades=" + xades + + ", cades=" + cades + + ", signatureEntries=" + signatureEntries + + ", dataEntries=" + dataEntries + + ", informationEntries=" + informationEntries + + '}'; + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java new file mode 100644 index 0000000..51392da --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java @@ -0,0 +1,87 @@ +package at.gv.egiz.asic.impl; + +import at.gv.egiz.asic.ASiCManifestType; +import at.gv.egiz.asic.DataObjectReferenceType; +import at.gv.egiz.asic.ReferenceType; +import at.gv.egiz.asic.XAdESSignaturesType; +import at.gv.egiz.asic.api.*; +import at.gv.egiz.asic.impl.verifier.ExtendedCAdESVerifier; +import at.gv.egiz.asic.impl.verifier.ExtendedXAdESVerifier; +import at.gv.egiz.asic.impl.verifier.SimpleCAdESVerifier; +import at.gv.egiz.asic.impl.verifier.SimpleXAdESVerifier; +import at.gv.egovernment.moa.spss.MOAApplicationException; +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.MOARuntimeException; +import at.gv.egovernment.moa.spss.MOASystemException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.cmsverify.*; +import at.gv.egovernment.moa.spss.api.common.*; +import at.gv.egovernment.moa.spss.api.impl.SPSSFactoryImpl; +import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; +import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; +import at.gv.egovernment.moa.spss.server.invoke.VerifyCMSSignatureResponseBuilder; +import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; +import iaik.server.cmspdfverify.CertificateValidationResult; +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.DataBindingException; +import javax.xml.bind.JAXB; +import javax.xml.crypto.dsig.Reference; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.security.DigestInputStream; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.cert.X509Certificate; +import java.util.*; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class ASiCMOAVerifier implements ASiCVerifier { + + private static final Logger logger = LoggerFactory.getLogger(ASiCMOAVerifier.class); + + private List verifierMap = new ArrayList(); + + public ASiCMOAVerifier() { + verifierMap.add(new SimpleCAdESVerifier()); + verifierMap.add(new SimpleXAdESVerifier()); + verifierMap.add(new ExtendedCAdESVerifier()); + verifierMap.add(new ExtendedXAdESVerifier()); + } + + @Override + public List verify(ASiC asic, String trustProfileID, Date date) throws MOAException { + List response = new ArrayList(); + boolean handled = false; + + Iterator verifierIterator = verifierMap.iterator(); + + while (verifierIterator.hasNext()) { + Verifier verifier = verifierIterator.next(); + if (verifier.handles(asic)) { + verifier.verify(asic, trustProfileID, date, response); + handled = true; + break; + } + } + + if (!handled) { + logger.warn("Cannot handle ASiC: {}", asic); + throw new MOASystemException("asic.0016", null); + } + + return response; + } + + +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCSimpleFormatFactory.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCSimpleFormatFactory.java new file mode 100644 index 0000000..90b3081 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCSimpleFormatFactory.java @@ -0,0 +1,54 @@ +package at.gv.egiz.asic.impl; + +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egiz.asic.impl.handler.*; +import at.gv.egovernment.moa.spss.MOAApplicationException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Collections; +import java.util.Iterator; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class ASiCSimpleFormatFactory extends ASiCBaseFormatFactory { + + private static final Logger logger = LoggerFactory.getLogger(ASiCSimpleFormatFactory.class); + + public ASiCSimpleFormatFactory() { + super(); + + handlers.add(new SimpleASiCCAdESHandler()); + handlers.add(new SimpleASiCXAdESHandler()); + handlers.add(new SimpleEvidenceXMLRecordHandler()); + handlers.add(new SimpleEvidenceERSRecordHandler()); + + Collections.sort(handlers, new HandlerSorter()); + + logger.debug("Handler ordering for ASiCSimpleFormatFactory"); + Iterator handlerIterator = this.handlers.iterator(); + while(handlerIterator.hasNext()) { + EntryHandler entryHandler = handlerIterator.next(); + logger.debug(" " + entryHandler.getPriority() + " " + entryHandler.getClass().getSimpleName()); + } + } + + @Override + protected void validate() throws MOAApplicationException { + if(this.dataEntries.size() != 1) { + logger.warn("There can only be one data entry for ASiC signatures in simple format"); + throw new MOAApplicationException("asic.0014", null); + } + + if(this.signatureEntries.size() != 1) { + logger.warn("There can only be one signature entry for ASiC signatures in simple format"); + throw new MOAApplicationException("asic.0015", null); + } + } + + @Override + public ASiCFormat factoryFormat() { + return ASiCFormat.ASiCS; + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/EntryHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/EntryHandler.java new file mode 100644 index 0000000..7767b33 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/EntryHandler.java @@ -0,0 +1,14 @@ +package at.gv.egiz.asic.impl; + +import at.gv.egovernment.moa.spss.MOAException; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by afitzek on 6/15/16. + */ +public interface EntryHandler { + public int getPriority(); + public boolean handle(String entryName, InputStream is, ASiCContainer container) throws IOException, MOAException; +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/Verifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/Verifier.java new file mode 100644 index 0000000..95a2450 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/Verifier.java @@ -0,0 +1,18 @@ +package at.gv.egiz.asic.impl; + +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egovernment.moa.spss.MOAException; + +import java.util.Date; +import java.util.List; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public interface Verifier { + public boolean handles(ASiC asic); + + public void verify(ASiC asic, String trustProfileID, Date date, List response) + throws MOAException; +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ZipCommentReaderStream.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ZipCommentReaderStream.java new file mode 100644 index 0000000..93b7651 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ZipCommentReaderStream.java @@ -0,0 +1,180 @@ +package at.gv.egiz.asic.impl; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by afitzek on 6/15/16. + */ +public class ZipCommentReaderStream extends InputStream { + + private InputStream inputStream; + + private int[] tempBuffer = new int[22]; + + private int[] commentBuffer = null; + + private int commentBufferContentLen = 0; + private int commentBufferContentOff = 0; + + private int tempBufferContentLen = 0; + private int tempBufferContentOff = 0; + + private String fileComment = null; + + private static final byte[] directoryRecord = new byte[] { (byte)0x50, (byte)0x4b, 0x05, 0x06 }; + + public ZipCommentReaderStream(InputStream inputStream) { + this.inputStream = inputStream; + } + + private int readIntIntoBuffer() throws IOException { + int tValue = this.inputStream.read(); + + if(this.tempBuffer.length <= tempBufferContentOff) { + throw new IOException("Temp Buffer is out of space! @ " + tempBufferContentOff); + } + + this.tempBuffer[tempBufferContentOff] = tValue; + tempBufferContentOff++; + tempBufferContentLen++; + + return tValue; + } + + private int readIntIntoCommentBuffer() throws IOException { + int tValue = this.inputStream.read(); + + if(this.commentBuffer.length <= commentBufferContentOff) { + throw new IOException("Comment Buffer is out of space! @ " + commentBufferContentOff); + } + + this.commentBuffer[commentBufferContentOff] = tValue; + commentBufferContentOff++; + commentBufferContentLen++; + + return tValue; + } + + private void checkMagicBytes() throws IOException { + boolean foundMagic = true; + tempBufferContentOff = 0; + tempBufferContentLen = 0; + for(int i = 1; i < directoryRecord.length; i++) { + int tValue = readIntIntoBuffer(); + if(tValue != directoryRecord[i]) { + foundMagic = false; + break; + } + if(tValue < 0) { + // Found EOF + return; + } + } + + if(foundMagic) { + // read input stream until comment length + for(int i = 0; i < 16; i++) { + int tValue = readIntIntoBuffer(); + + if(tValue < 0) { + // Found EOF + return; + } + } + + int commentlengthHigh = readIntIntoBuffer(); + + if(commentlengthHigh < 0) { + // Found EOF + return; + } + + int commentlengthLow = readIntIntoBuffer(); + + if(commentlengthLow < 0) { + // Found EOF + return; + } + + int commentLength = commentlengthLow * 255 + commentlengthHigh; + + if(commentLength == 0) { + return; + } + + this.commentBuffer = new int[commentLength]; + + commentBufferContentOff = 0; + commentBufferContentLen = 0; + + // read comment buffer string + for(int i = 0; i < commentLength; i++) { + int tValue = readIntIntoCommentBuffer(); + + if(tValue < 0) { + // Found EOF + return; + } + } + + byte[] stringBuffer = new byte[this.commentBuffer.length]; + + for(int i = 0; i < stringBuffer.length; i++) { + stringBuffer[i] = (byte)this.commentBuffer[i]; + } + + this.fileComment = new String(stringBuffer); + } + } + + @Override + public int read() throws IOException { + int value = -1; + if(tempBufferContentLen > 0) { + value = this.tempBuffer[tempBufferContentOff]; + tempBufferContentOff++; + + // reset temp buffer + if(tempBufferContentOff >= tempBufferContentLen) { + tempBufferContentOff = 0; + tempBufferContentLen = 0; + } + + return value; + } + + if(this.commentBuffer != null) { + value = this.commentBuffer[commentBufferContentOff]; + + commentBufferContentOff++; + + // reset comment buffer + if(commentBufferContentOff >= commentBufferContentLen) { + commentBufferContentOff = 0; + commentBufferContentLen = 0; + this.commentBuffer = null; + } + + return value; + } + + value = this.inputStream.read(); + + if(value == directoryRecord[0] && this.fileComment == null) { + // might have found start of magic bytes + checkMagicBytes(); + // reset buffer offsets + tempBufferContentOff = 0; + commentBufferContentOff = 0; + } + + return value; + } + + public String getFileComment() { + return this.fileComment; + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/AllDataHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/AllDataHandler.java new file mode 100644 index 0000000..fa31bfc --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/AllDataHandler.java @@ -0,0 +1,28 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; +import at.gv.egiz.asic.impl.ASiCContainer; +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egiz.asic.impl.EntryHandler; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by afitzek on 6/15/16. + */ +public class AllDataHandler extends BaseHandler implements EntryHandler, ASiCConstants { + @Override + public int getPriority() { + return 100; + } + + @Override + public boolean handle(String entryName, InputStream is, ASiCContainer container) throws IOException { + + ASiCEntry entry = buildASiCEntry(entryName, is); + container.addDataEntry(entry); + + return true; + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/BaseHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/BaseHandler.java new file mode 100644 index 0000000..2b5ca9a --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/BaseHandler.java @@ -0,0 +1,27 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egiz.asic.impl.EntryHandler; +import org.apache.commons.io.IOUtils; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public abstract class BaseHandler implements EntryHandler, ASiCConstants { + + protected ASiCEntry buildASiCEntry(String entryName, InputStream is) throws IOException { + ASiCEntry entry = new ASiCEntry(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + IOUtils.copy(is, baos); + entry.setContents(new ByteArrayInputStream(baos.toByteArray())); + entry.setEntryName(entryName); + return entry; + } + +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/CAdESHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/CAdESHandler.java new file mode 100644 index 0000000..3ee97fc --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/CAdESHandler.java @@ -0,0 +1,20 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; +import at.gv.egiz.asic.impl.ASiCContainer; +import at.gv.egiz.asic.impl.EntryHandler; +import at.gv.egovernment.moa.spss.MOAException; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public abstract class CAdESHandler extends SignatureHandler implements EntryHandler, ASiCConstants { + + @Override + protected void setType(ASiCContainer container) throws MOAException { + container.setIsCAdES(); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/EvidenceERSRecordHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/EvidenceERSRecordHandler.java new file mode 100644 index 0000000..f89c6d0 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/EvidenceERSRecordHandler.java @@ -0,0 +1,18 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.impl.ASiCContainer; +import at.gv.egovernment.moa.spss.MOAException; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public abstract class EvidenceERSRecordHandler extends SignatureHandler { + + @Override + protected void setType(ASiCContainer container) throws MOAException { + container.setIsEvidenceERS(); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/EvidenceXMLRecordHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/EvidenceXMLRecordHandler.java new file mode 100644 index 0000000..4516bb0 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/EvidenceXMLRecordHandler.java @@ -0,0 +1,15 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.impl.ASiCContainer; +import at.gv.egovernment.moa.spss.MOAException; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public abstract class EvidenceXMLRecordHandler extends SignatureHandler { + + @Override + protected void setType(ASiCContainer container) throws MOAException { + container.setIsEvidenceXML(); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedASiCCAdESHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedASiCCAdESHandler.java new file mode 100644 index 0000000..464bcf6 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedASiCCAdESHandler.java @@ -0,0 +1,13 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class ExtendedASiCCAdESHandler extends CAdESHandler { + @Override + protected boolean matches(String entryName) { + return entryName.endsWith(".p7s") && entryName.startsWith(FILE_META_INF) && entryName.contains("signature"); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedASiCXAdESHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedASiCXAdESHandler.java new file mode 100644 index 0000000..28b21a3 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedASiCXAdESHandler.java @@ -0,0 +1,11 @@ +package at.gv.egiz.asic.impl.handler; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class ExtendedASiCXAdESHandler extends XAdESHandler { + @Override + protected boolean matches(String entryName) { + return entryName.endsWith(".xml") && entryName.startsWith(FILE_META_INF) && entryName.contains("signature"); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedEvidenceERSRecordHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedEvidenceERSRecordHandler.java new file mode 100644 index 0000000..ccf9224 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedEvidenceERSRecordHandler.java @@ -0,0 +1,11 @@ +package at.gv.egiz.asic.impl.handler; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public class ExtendedEvidenceERSRecordHandler extends EvidenceERSRecordHandler { + @Override + protected boolean matches(String entryName) { + return entryName.endsWith(".ers") && entryName.startsWith(FILE_META_INF) && entryName.contains("evidencerecord"); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedEvidenceXMLRecordHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedEvidenceXMLRecordHandler.java new file mode 100644 index 0000000..d24d61b --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/ExtendedEvidenceXMLRecordHandler.java @@ -0,0 +1,11 @@ +package at.gv.egiz.asic.impl.handler; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public class ExtendedEvidenceXMLRecordHandler extends EvidenceERSRecordHandler { + @Override + protected boolean matches(String entryName) { + return entryName.endsWith(".xml") && entryName.startsWith(FILE_META_INF) && entryName.contains("evidencerecord"); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/HandlerSorter.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/HandlerSorter.java new file mode 100644 index 0000000..36a215d --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/HandlerSorter.java @@ -0,0 +1,16 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.impl.EntryHandler; + +import java.util.Comparator; + +/** + * Created by afitzek on 6/15/16. + */ +public class HandlerSorter implements Comparator { + + @Override + public int compare(EntryHandler o1, EntryHandler o2) { + return Integer.compare(o1.getPriority(), o2.getPriority()); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/MetaInfHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/MetaInfHandler.java new file mode 100644 index 0000000..ec4f101 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/MetaInfHandler.java @@ -0,0 +1,33 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; +import at.gv.egiz.asic.impl.ASiCContainer; +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egiz.asic.impl.EntryHandler; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class MetaInfHandler extends BaseHandler implements EntryHandler, ASiCConstants { + @Override + public int getPriority() { + return 20; + } + + @Override + public boolean handle(String entryName, InputStream is, ASiCContainer container) throws IOException { + + boolean metainf = entryName.startsWith(FILE_META_INF); + + if(metainf) { + ASiCEntry entry = buildASiCEntry(entryName, is); + container.addInformationEntry(entry); + return true; + } + + return false; + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/MimefileHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/MimefileHandler.java new file mode 100644 index 0000000..68fc87e --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/MimefileHandler.java @@ -0,0 +1,36 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; +import at.gv.egiz.asic.impl.ASiCContainer; +import at.gv.egiz.asic.impl.EntryHandler; +import org.apache.commons.io.IOUtils; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by afitzek on 6/15/16. + */ +public class MimefileHandler implements EntryHandler, ASiCConstants { + + private boolean isMimeType(String entryName) { + return FILE_MIME_TYPE.equalsIgnoreCase(entryName); + } + + @Override + public int getPriority() { + return 1; + } + + @Override + public boolean handle(String entryName, InputStream is, ASiCContainer container) throws IOException { + + if(isMimeType(entryName)) { + String mimeType = IOUtils.toString(is, "UTF-8"); + container.setMimeType(mimeType); + return true; + } + + return false; + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SignatureHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SignatureHandler.java new file mode 100644 index 0000000..621c9d4 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SignatureHandler.java @@ -0,0 +1,36 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.impl.ASiCContainer; +import at.gv.egovernment.moa.spss.MOAException; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public abstract class SignatureHandler extends BaseHandler { + + @Override + public int getPriority() { + return 0; + } + + protected abstract boolean matches(String entryName); + + protected abstract void setType(ASiCContainer container) throws MOAException; + + @Override + public boolean handle(String entryName, InputStream is, ASiCContainer container) throws IOException, MOAException { + boolean signature = this.matches(entryName); + + if(signature) { + this.setType(container); + container.addSignatureEntry(buildASiCEntry(entryName, is)); + return true; + } + + return false; + } + +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleASiCCAdESHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleASiCCAdESHandler.java new file mode 100644 index 0000000..fdeda41 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleASiCCAdESHandler.java @@ -0,0 +1,13 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class SimpleASiCCAdESHandler extends CAdESHandler { + @Override + protected boolean matches(String entryName) { + return (ASiCConstants.FILE_META_INF + "signature.p7s").equalsIgnoreCase(entryName); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleASiCXAdESHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleASiCXAdESHandler.java new file mode 100644 index 0000000..66a7546 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleASiCXAdESHandler.java @@ -0,0 +1,13 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class SimpleASiCXAdESHandler extends XAdESHandler { + @Override + protected boolean matches(String entryName) { + return (ASiCConstants.FILE_META_INF + "signatures.xml").equalsIgnoreCase(entryName); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleEvidenceERSRecordHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleEvidenceERSRecordHandler.java new file mode 100644 index 0000000..58221f5 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleEvidenceERSRecordHandler.java @@ -0,0 +1,13 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public class SimpleEvidenceERSRecordHandler extends EvidenceERSRecordHandler { + @Override + protected boolean matches(String entryName) { + return (ASiCConstants.FILE_META_INF + "evidencerecord.ers").equalsIgnoreCase(entryName); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleEvidenceXMLRecordHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleEvidenceXMLRecordHandler.java new file mode 100644 index 0000000..dacc218 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SimpleEvidenceXMLRecordHandler.java @@ -0,0 +1,13 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public class SimpleEvidenceXMLRecordHandler extends EvidenceERSRecordHandler { + @Override + protected boolean matches(String entryName) { + return (ASiCConstants.FILE_META_INF + "evidencerecord.xml").equalsIgnoreCase(entryName); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/XAdESHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/XAdESHandler.java new file mode 100644 index 0000000..ff19759 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/XAdESHandler.java @@ -0,0 +1,17 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.api.ASiCConstants; +import at.gv.egiz.asic.impl.ASiCContainer; +import at.gv.egiz.asic.impl.EntryHandler; +import at.gv.egovernment.moa.spss.MOAException; + +/** + * Created by afitzek on 6/15/16. + */ +public abstract class XAdESHandler extends SignatureHandler implements EntryHandler, ASiCConstants { + + @Override + protected void setType(ASiCContainer container) throws MOAException { + container.setIsXAdES(); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/BaseVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/BaseVerifier.java new file mode 100644 index 0000000..a0bc516 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/BaseVerifier.java @@ -0,0 +1,61 @@ +package at.gv.egiz.asic.impl.verifier; + +import at.gv.egiz.asic.impl.Verifier; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; +import org.apache.commons.codec.binary.Hex; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public abstract class BaseVerifier implements Verifier { + + protected static Map hashTranslator = new HashMap(); + + static { + hashTranslator.put("http://www.w3.org/2000/09/xmldsig#sha1", "SHA-1"); + hashTranslator.put("http://www.w3.org/2001/04/xmldsig-more#sha224", "SHA-224"); + hashTranslator.put("http://www.w3.org/2001/04/xmlenc#sha256", "SHA-256"); + hashTranslator.put("http://www.w3.org/2001/04/xmldsig-more#sha384", "SHA-384"); + hashTranslator.put("http://www.w3.org/2001/04/xmlenc#sha512", "SHA-512"); + hashTranslator.put("http://www.w3.org/2001/04/xmlenc#ripemd160", "RIPEMD-160"); + } + + private static final Logger logger = LoggerFactory.getLogger(BaseVerifier.class); + + protected boolean compareHash(byte[] reference, byte[] calculated, String refName) { + String referenceHex = Hex.encodeHexString(reference); + String calculatedHex = Hex.encodeHexString(calculated); + if(Arrays.equals(reference, calculated)) { + logger.info("Digest from manifest do match for {}", refName); + return true; + } else { + logger.info("Digest from manifest do not match for {}", refName); + logger.info("Digest from manifest for {} : {}", refName, referenceHex); + logger.info("Digest from calculated for {} : {}", refName, calculatedHex); + return false; + } + } + + protected MessageDigest getMessageDigestFromURI(String uri) { + try { + + String algo = hashTranslator.get(uri); + + if(algo == null) { + algo = uri; + } + + return MessageDigest.getInstance(algo); + } catch (NoSuchAlgorithmException e) { + return null; + } + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/CAdESVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/CAdESVerifier.java new file mode 100644 index 0000000..5ab677c --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/CAdESVerifier.java @@ -0,0 +1,43 @@ +package at.gv.egiz.asic.impl.verifier; + +import at.gv.egiz.asic.api.ASiC; +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; +import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; +import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; + +import java.io.InputStream; +import java.util.Date; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public abstract class CAdESVerifier extends BaseVerifier { + @Override + public boolean handles(ASiC asic) { + return asic.isCAdES(); + } + + protected VerifyCMSSignatureResponse runCMSVerification(InputStream signedData, InputStream cmsSignature, + String trustProfileID, Date date) throws MOAException { + CMSContent cmsContent = SPSSFactory.getInstance().createCMSContent(signedData); + CMSDataObject cmsDataObject = SPSSFactory.getInstance().createCMSDataObject(null, cmsContent, null, null); + + VerifyCMSSignatureRequest verifyCMSSignatureRequest = + SPSSFactory.getInstance().createVerifyCMSSignatureRequest( + VerifyCMSSignatureRequest.ALL_SIGNATORIES, + date, + cmsSignature, + cmsDataObject, + trustProfileID, + false, + true); + + VerifyCMSSignatureResponse verifyResponse = CMSSignatureVerificationInvoker.getInstance().verifyCMSSignature( + verifyCMSSignatureRequest); + return verifyResponse; + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedCAdESVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedCAdESVerifier.java new file mode 100644 index 0000000..e71f263 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedCAdESVerifier.java @@ -0,0 +1,168 @@ +package at.gv.egiz.asic.impl.verifier; + +import at.gv.egiz.asic.ASiCManifestType; +import at.gv.egiz.asic.DataObjectReferenceType; +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egovernment.moa.spss.MOAApplicationException; +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.MOASystemException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.cmsverify.*; +import at.gv.egovernment.moa.spss.api.common.CheckResult; +import at.gv.egovernment.moa.spss.api.common.SignerInfo; +import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; +import org.apache.commons.codec.binary.Hex; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.JAXB; +import java.io.IOException; +import java.security.DigestInputStream; +import java.security.MessageDigest; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.List; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public class ExtendedCAdESVerifier extends CAdESVerifier { + + private static final Logger logger = LoggerFactory.getLogger(ExtendedCAdESVerifier.class); + + @Override + public boolean handles(ASiC asic) { + return super.handles(asic) && ASiCFormat.ASiCE.equals(asic.getFormat()); + } + + @Override + public void verify(ASiC asic, String trustProfileID, Date date, List response) throws MOAException { + try { + Iterator informationsIterator = asic.getInformationEntries().iterator(); + + while (informationsIterator.hasNext()) { + ASiCEntry informationEntry = informationsIterator.next(); + + if (informationEntry.getEntryName().startsWith("META-INF/") && informationEntry.getEntryName().endsWith(".xml") + && informationEntry.getEntryName().contains("ASiCManifest")) { + // Got ASiC Manifest + ASiCManifestType asiCManifestType = JAXB.unmarshal(informationEntry.getContents(), ASiCManifestType.class); + String signatureName = asiCManifestType.getSigReference().getURI(); + + ASiCEntry cadesSignature = null; + + // find referenced signature + Iterator cadesSignatureIterator = asic.getSignaturesEntries().iterator(); + + while (cadesSignatureIterator.hasNext()) { + ASiCEntry tmpCadesSignature = cadesSignatureIterator.next(); + if (signatureName.equalsIgnoreCase(tmpCadesSignature.getEntryName())) { + cadesSignature = tmpCadesSignature; + break; + } + } + + if (cadesSignature == null) { + throw new MOAApplicationException("asic.0004", new Object[]{signatureName}); + } + + // verify all references + + boolean allReferencesValid = true; + List signedFiles = new ArrayList(); + Iterator dataObjectReferenceTypeIterator = asiCManifestType.getDataObjectReference().iterator(); + while (dataObjectReferenceTypeIterator.hasNext()) { + DataObjectReferenceType dataObjectReferenceType = dataObjectReferenceTypeIterator.next(); + + String mdURI = dataObjectReferenceType.getDigestMethod().getAlgorithm(); + String uri = dataObjectReferenceType.getURI(); + signedFiles.add(uri); + + Iterator dataEntryIterator = asic.getDataEntries().iterator(); + + while (dataEntryIterator.hasNext()) { + ASiCEntry dataEntry = dataEntryIterator.next(); + if (uri.equalsIgnoreCase(dataEntry.getEntryName())) { + MessageDigest md = this.getMessageDigestFromURI(mdURI); + if (md == null) { + throw new MOAApplicationException("asic.0005", new Object[]{mdURI}); + } + DigestInputStream dis = new DigestInputStream(dataEntry.getContents(), md); + byte[] buffer = new byte[8096]; + while (dis.read(buffer) > 0) ; + + if (!this.compareHash(dataObjectReferenceType.getDigestValue(), md.digest(), uri)) { + allReferencesValid = false; + } + + dataEntry.getContents().reset(); + break; + } + } + } + + if (allReferencesValid) { + logger.info("ASiCManifest {} references do match data files!", + informationEntry.getEntryName()); + } + + informationEntry.getContents().reset(); + MessageDigest md = this.getMessageDigestFromURI("SHA-256"); + DigestInputStream dis = new DigestInputStream(informationEntry.getContents(), md); + + VerifyCMSSignatureResponse verifyResponse = + this.runCMSVerification(dis, cadesSignature.getContents(), trustProfileID, date); + + dis.close(); + + String fullDigest = Hex.encodeHexString(md.digest()); + logger.info("CMS Input data {}", fullDigest); + + if (!allReferencesValid) { + logger.warn("ASiCManifest {} References do not match data files!", + informationEntry.getEntryName()); + List responseElements = new ArrayList(); + + SignerInfo signerInfo; + + + // add SignerInfo element + Iterator responseElementIterator = verifyResponse.getResponseElements().iterator(); + while (responseElementIterator.hasNext()) { + VerifyCMSSignatureResponseElement orig = (VerifyCMSSignatureResponseElement) + responseElementIterator.next(); + + CheckResult signatureCheck; + CheckResult certificateCheck; + + // add SignatureCheck element + signatureCheck = SPSSFactory.getInstance().createCheckResult(1, null); + + // build the response element + VerifyCMSSignatureResponseElement responseElement = + SPSSFactory.getInstance().createVerifyCMSSignatureResponseElement( + orig.getSignerInfo(), + signatureCheck, + orig.getCertificateCheck(), + orig.getAdESFormResults(), + orig.getExtendedCertificateCheck()); + responseElements.add(responseElement); + } + VerifyCMSSignatureResponse verifyCMSSignatureResponse = SPSSFactory.getInstance(). + createVerifyCMSSignatureResponse(responseElements); + response.add(new ASiCVerificationResult(signedFiles, verifyCMSSignatureResponse)); + continue; + } else { + response.add(new ASiCVerificationResult(signedFiles, verifyResponse)); + } + } + } + } catch (IOException ex) { + throw new MOASystemException("asic.0003", null, ex); + } + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedXAdESVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedXAdESVerifier.java new file mode 100644 index 0000000..58f0185 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedXAdESVerifier.java @@ -0,0 +1,184 @@ +package at.gv.egiz.asic.impl.verifier; + +import at.gv.egiz.asic.ReferenceType; +import at.gv.egiz.asic.SignatureType; +import at.gv.egiz.asic.XAdESSignaturesType; +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.MOARuntimeException; +import at.gv.egovernment.moa.spss.MOASystemException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.common.Content; +import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; +import at.gv.egovernment.moa.spss.api.impl.SPSSFactoryImpl; +import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; +import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; +import at.gv.egovernment.moaspss.util.URLEncoder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.w3c.dom.*; +import org.xml.sax.SAXException; + +import javax.xml.bind.*; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import java.io.*; +import java.util.*; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public class ExtendedXAdESVerifier extends XAdESVerifier { + + private static final Logger logger = LoggerFactory.getLogger(ExtendedXAdESVerifier.class); + + private void resetStream(InputStream is) { + try { + is.reset(); + } catch (IOException e) { + throw new MOARuntimeException("Failed to reset inputStream", null, e); + } + } + + @Override + public void verify(ASiC asic, String trustProfileID, Date date, List response) throws MOAException { + try { + Iterator xadesSignatureIterator = asic.getSignaturesEntries().iterator(); + + while (xadesSignatureIterator.hasNext()) { + ASiCEntry xadesSignature = xadesSignatureIterator.next(); + + List xmlSignatures = null; + //int signatureSize = 0; + + + // TODO: support not only XAdESSignaturesType object 4.4.3.2 +// XAdESSignaturesType xAdESSignaturesType = JAXB.unmarshal(xadesSignature.getContents(), XAdESSignaturesType.class); + // signatureSize = xAdESSignaturesType.getSignature().size(); + + // this.resetStream(xadesSignature.getContents()); + DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); + dbFactory.setNamespaceAware(true); + //dbFactory.setValidating(true); + DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); + Document doc = dBuilder.parse(xadesSignature.getContents()); + + this.resetStream(xadesSignature.getContents()); + + org.w3c.dom.Element rootElement = doc.getDocumentElement(); + + if ("http://www.w3.org/2000/09/xmldsig#".equals(rootElement.getNamespaceURI()) && + "Signature".equals(rootElement.getTagName())) { + JAXBContext jc = JAXBContext.newInstance("at.gv.egiz.asic"); + JAXBElement xmlSignatureJaxb = jc.createUnmarshaller().unmarshal(rootElement, SignatureType.class); + SignatureType xmlSignature = xmlSignatureJaxb.getValue(); + xmlSignatures = new ArrayList(); + xmlSignatures.add(xmlSignature); + } else if ("http://uri.etsi.org/02918/v1.2.1#".equals(rootElement.getNamespaceURI()) && + "XAdESSignatures".equals(rootElement.getLocalName())) { + XAdESSignaturesType xAdESSignaturesType = JAXB.unmarshal(xadesSignature.getContents(), XAdESSignaturesType.class); + xmlSignatures = xAdESSignaturesType.getSignature(); + } else { + NodeList childrenNodes = rootElement.getChildNodes(); + for(int i = 0; i < childrenNodes.getLength(); i++) { + Node node = childrenNodes.item(i); + JAXBContext jc = JAXBContext.newInstance("at.gv.egiz.asic"); + xmlSignatures = new ArrayList(); + if ("http://www.w3.org/2000/09/xmldsig#".equals(node.getNamespaceURI()) && + "Signature".equals(rootElement.getTagName())) { + JAXBElement xmlSignatureJaxb = jc.createUnmarshaller().unmarshal(rootElement, SignatureType.class); + SignatureType xmlSignature = xmlSignatureJaxb.getValue(); + xmlSignatures.add(xmlSignature); + } + } + } + + + this.resetStream(xadesSignature.getContents()); + + Map namespaces = new HashMap(); + + //namespaces.put("asic", "http://uri.etsi.org/02918/v1.2.1#"); + namespaces.put("ds", "http://www.w3.org/2000/09/xmldsig#"); + + for (int i = 0; i < xmlSignatures.size(); i++) { + //NodeList nodes = (NodeList) result; + + //for(int i = 0; i < nodes.getLength(); i++) { + //Node node = nodes.item(i); + //JAXBContext jc = JAXBContext.newInstance( "at.gv.egiz.asic" ); + //JAXBElement xmlSignatureJaxb = jc.createUnmarshaller().unmarshal(node, SignatureType.class); + //SignatureType xmlSignature = xmlSignatureJaxb.getValue(); + List signedFiles = new ArrayList(); + + //Iterator it = xmlSignature.getSignedInfo().getReference().iterator(); + Iterator it = xmlSignatures.get(i).getSignedInfo().getReference().iterator(); + while (it.hasNext()) { + ReferenceType refType = it.next(); + if (!refType.getURI().startsWith("#")) { + signedFiles.add(refType.getURI()); + } + } + + Iterator dataEntryIterator = asic.getDataEntries().iterator(); + + Content content = SPSSFactory.getInstance().createContent(xadesSignature.getContents(), null); + + List supplementsList = new ArrayList(); + while (dataEntryIterator.hasNext()) { + ASiCEntry dataEntry = dataEntryIterator.next(); + dataEntry.getContents().reset(); + String entryName = URLEncoder.encode(dataEntry.getEntryName(), "UTF-8") + .replaceAll("\\+", "%20") + .replaceAll("\\%21", "!") + .replaceAll("\\%2F", "/") + //.replaceAll("\\%27", "'") + //.replaceAll("\\%28", "(") + //.replaceAll("\\%29", ")") + .replaceAll("\\%7E", "~"); + logger.info("Adding Entry : {}", entryName); + Content dataContent = SPSSFactory.getInstance().createContent(dataEntry.getContents(), entryName); + XMLDataObjectAssociation association = SPSSFactoryImpl.getInstance().createXMLDataObjectAssociation(null, dataContent); + SupplementProfile profile = SPSSFactoryImpl.getInstance().createSupplementProfile(association); + supplementsList.add(profile); + } + String location = "(//ds:Signature)[" + (i + 1) + "]"; + + VerifySignatureLocation verifySignatureLocation = SPSSFactory.getInstance().createVerifySignatureLocation( + location, namespaces); + + VerifySignatureInfo verifySignatureInfo = SPSSFactory.getInstance().createVerifySignatureInfo(content, verifySignatureLocation); + + VerifyXMLSignatureRequest verifyXMLSignatureRequest = SPSSFactory.getInstance().createVerifyXMLSignatureRequest( + date, verifySignatureInfo, supplementsList, null, false, trustProfileID, true); + + response.add(new ASiCVerificationResult(signedFiles, + XMLSignatureVerificationInvoker.getInstance().verifyXMLSignature(verifyXMLSignatureRequest))); + } + } + } catch( UnsupportedEncodingException e) { + logger.error("UTF8 encoding not supported by system. MOA will not work on this system!", e); + throw new MOARuntimeException("asic.0003", null, e); + } catch (IOException ex) { + throw new MOASystemException("asic.0003", null, ex); + } catch (ParserConfigurationException e) { + throw new MOASystemException("asic.0003", null, e); + } catch (SAXException e) { + throw new MOASystemException("asic.0003", null, e); + } catch (JAXBException e) { + throw new MOASystemException("asic.0003", null, e); + } + } + + @Override + public boolean handles(ASiC asic) { + return super.handles(asic) && ASiCFormat.ASiCE.equals(asic.getFormat()); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleCAdESVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleCAdESVerifier.java new file mode 100644 index 0000000..b86e290 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleCAdESVerifier.java @@ -0,0 +1,45 @@ +package at.gv.egiz.asic.impl.verifier; + +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; +import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; +import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public class SimpleCAdESVerifier extends CAdESVerifier { + @Override + public boolean handles(ASiC asic) { + return super.handles(asic) && ASiCFormat.ASiCS.equals(asic.getFormat()); + } + + @Override + public void verify(ASiC asic, String trustProfileID, Date date, List response) throws MOAException { + ASiCEntry cadesSignature = asic.getSignaturesEntries().get(0); + + ASiCEntry dataEntry = asic.getDataEntries().get(0); + + List signedFiles = new ArrayList(); + signedFiles.add(dataEntry.getEntryName()); + + VerifyCMSSignatureResponse verifyResponse = + this.runCMSVerification(dataEntry.getContents(), cadesSignature.getContents(), trustProfileID, date); + + response.add(new ASiCVerificationResult(signedFiles, + verifyResponse)); + } + + +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleXAdESVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleXAdESVerifier.java new file mode 100644 index 0000000..a71462c --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleXAdESVerifier.java @@ -0,0 +1,128 @@ +package at.gv.egiz.asic.impl.verifier; + +import at.gv.egiz.asic.ReferenceType; +import at.gv.egiz.asic.XAdESSignaturesType; +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egovernment.moa.spss.MOAApplicationException; +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.MOARuntimeException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.common.Content; +import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; +import at.gv.egovernment.moa.spss.api.impl.SPSSFactoryImpl; +import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; +import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; +import at.gv.egovernment.moaspss.util.URLEncoder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.JAXB; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.util.*; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public class SimpleXAdESVerifier extends XAdESVerifier { + + private static final Logger logger = LoggerFactory.getLogger(SimpleXAdESVerifier.class); + + + @Override + public void verify(ASiC asic, String trustProfileID, Date date, List response) throws MOAException { + // XAdES + try { + ASiCEntry xadesSignature = asic.getSignaturesEntries().get(0); + + XAdESSignaturesType xAdESSignaturesType = null; + try { + xAdESSignaturesType = JAXB.unmarshal(xadesSignature.getContents(), XAdESSignaturesType.class); + } catch (Throwable ex) { + logger.warn("Failed to process xml signature: ex"); + throw new MOAApplicationException("asic.0003", null, ex); + } + + if (xAdESSignaturesType == null) { + throw new MOAApplicationException("asic.0003", null); + } + + int signatureSize = xAdESSignaturesType.getSignature().size(); + + try { + xadesSignature.getContents().reset(); + } catch (IOException e) { + throw new MOARuntimeException("asic.0003", null, e); + } + Map namespaces = new HashMap(); + + namespaces.put("asic", "http://uri.etsi.org/02918/v1.2.1#"); + namespaces.put("ds", "http://www.w3.org/2000/09/xmldsig#"); + + for (int i = 0; i < signatureSize; i++) { + + List signedFiles = new ArrayList(); + + Iterator it = xAdESSignaturesType.getSignature().get(i).getSignedInfo().getReference().iterator(); + while (it.hasNext()) { + ReferenceType refType = it.next(); + if (!refType.getURI().startsWith("#")) { + signedFiles.add(refType.getURI()); + } + } + + boolean addAll = signedFiles.isEmpty() && asic.getDataEntries().size() == 1; + + Iterator dataEntryIterator = asic.getDataEntries().iterator(); + + Content content = SPSSFactory.getInstance().createContent(xadesSignature.getContents(), null); + List supplementsList = new ArrayList(); + while (dataEntryIterator.hasNext()) { + ASiCEntry dataEntry = dataEntryIterator.next(); + String uriName = URLEncoder.encode(dataEntry.getEntryName(), "UTF-8") + .replaceAll("\\+", "%20") + .replaceAll("\\%21", "!") + .replaceAll("\\%27", "'") + //.replaceAll("\\%28", "(") + //.replaceAll("\\%29", ")") + .replaceAll("\\%7E", "~"); + + Content dataContent = SPSSFactory.getInstance().createContent(dataEntry.getContents(), uriName); + XMLDataObjectAssociation association = SPSSFactoryImpl.getInstance().createXMLDataObjectAssociation(null, dataContent); + SupplementProfile profile = SPSSFactoryImpl.getInstance().createSupplementProfile(association); + supplementsList.add(profile); + + if (addAll) { + signedFiles.add(dataEntry.getEntryName()); + } + } + String location = "(//ds:Signature)[" + (i + 1) + "]"; + + VerifySignatureLocation verifySignatureLocation = SPSSFactory.getInstance().createVerifySignatureLocation( + location, namespaces); + + VerifySignatureInfo verifySignatureInfo = SPSSFactory.getInstance().createVerifySignatureInfo(content, verifySignatureLocation); + + VerifyXMLSignatureRequest verifyXMLSignatureRequest = SPSSFactory.getInstance().createVerifyXMLSignatureRequest( + date, verifySignatureInfo, supplementsList, null, false, trustProfileID, true); + + response.add(new ASiCVerificationResult(signedFiles, + XMLSignatureVerificationInvoker.getInstance().verifyXMLSignature(verifyXMLSignatureRequest))); + } + } catch(UnsupportedEncodingException e) { + logger.error("UTF8 encoding not supported by system. MOA will not work on this system!", e); + throw new MOARuntimeException("asic.0003", null, e); + } + } + + @Override + public boolean handles(ASiC asic) { + return super.handles(asic) && ASiCFormat.ASiCS.equals(asic.getFormat()); + } +} \ No newline at end of file diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/XAdESVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/XAdESVerifier.java new file mode 100644 index 0000000..904ad4e --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/XAdESVerifier.java @@ -0,0 +1,54 @@ +package at.gv.egiz.asic.impl.verifier; + +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCEntry; +import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; +import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; +import at.gv.egovernment.moa.spss.api.common.Content; +import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; +import at.gv.egovernment.moa.spss.api.impl.SPSSFactoryImpl; +import at.gv.egovernment.moa.spss.api.xmlverify.*; +import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; +import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; + +import java.io.InputStream; +import java.util.*; + +/** + * Created by Andreas Fitzek on 6/17/16. + */ +public abstract class XAdESVerifier extends BaseVerifier { + @Override + public boolean handles(ASiC asic) { + return asic.isXAdES(); + } + + protected VerifyXMLSignatureResponse runXMLVerification(InputStream signedData, InputStream xmlSignature, + String trustProfileID, Date date, List supplementsList, + String location, Map namespaces) throws MOAException { + + if(namespaces == null) { + namespaces = new HashMap(); + + namespaces.put("asic", "http://uri.etsi.org/02918/v1.2.1#"); + namespaces.put("ds", "http://www.w3.org/2000/09/xmldsig#"); + } + + Content content = SPSSFactory.getInstance().createContent(xmlSignature, null); + + VerifySignatureLocation verifySignatureLocation = SPSSFactory.getInstance().createVerifySignatureLocation( + location, namespaces); + + VerifySignatureInfo verifySignatureInfo = SPSSFactory.getInstance().createVerifySignatureInfo(content, verifySignatureLocation); + + VerifyXMLSignatureRequest verifyXMLSignatureRequest = SPSSFactory.getInstance().createVerifyXMLSignatureRequest( + date, verifySignatureInfo, supplementsList, null, false, trustProfileID, true); + + return XMLSignatureVerificationInvoker.getInstance().verifyXMLSignature(verifyXMLSignatureRequest); + } +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureRequestParser.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureRequestParser.java new file mode 100644 index 0000000..c06e30e --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureRequestParser.java @@ -0,0 +1,112 @@ +/* + * Copyright 2003 Federal Chancellery Austria + * MOA-SPSS has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + + +package at.gv.egiz.asic.xmlbind; + +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egovernment.moa.spss.MOAApplicationException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; +import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; +import at.gv.egovernment.moa.spss.api.common.MetaInfo; +import at.gv.egovernment.moa.spss.api.xmlbind.RequestParserUtils; +import at.gv.egovernment.moaspss.util.*; +import org.w3c.dom.Element; + +import java.io.InputStream; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.StringTokenizer; + +/** + * A parser to parse VerifyCMSSignatureRequest DOM trees into + * VerifyCMSSignatureRequest API objects. + * + * @author Patrick Peck + * @version $Id$ + */ +public class VerifyASICSignatureRequestParser { + + // + // XPath expressions for selecting parts of the DOM message + // + private static final String MOA = Constants.MOA_PREFIX + ":"; + private static final String DATE_TIME_XPATH = MOA + "DateTime"; + private static final String EXTENDED_VALIDATION_XPATH = MOA + "ExtendedValidation"; + private static final String ASIC_SIGNATURE_XPATH = MOA + "ASICSignature"; + private static final String ASIC_EXTENSION_XPATH = MOA + "ASICExtension"; + private static final String TRUST_PROFILE_ID_XPATH = MOA + "TrustProfileID"; + + + /** The SPSSFactory for creating new API objects. */ + private SPSSFactory factory = SPSSFactory.getInstance(); + + /** + * Parse a VerifyCMSSignatureRequest DOM element, as defined + * by the MOA schema. + * + * @param requestElem The VerifyCMSSignatureRequest to parse. The + * request must have been successfully parsed against the schema for this + * method to succeed. + * @return A VerifyCMSSignatureRequest API objects containing + * the data from the DOM element. + * @throws MOAApplicationException An error occurred parsing the request. + */ + public VerifyASiCRequest parseASIC(Element requestElem) + throws MOAApplicationException { + Date dateTime = + RequestParserUtils.parseDateTime(requestElem, DATE_TIME_XPATH); + + boolean extendedValidation = + RequestParserUtils.parseExtendedValidation(requestElem, EXTENDED_VALIDATION_XPATH, false); + + String asicSignatureStr = + XPathUtils.getElementValue(requestElem, ASIC_SIGNATURE_XPATH, ""); + + String asicExtensionStr = + XPathUtils.getElementValue(requestElem, ASIC_EXTENSION_XPATH, ""); + + String trustProfileID = + XPathUtils.getElementValue(requestElem, TRUST_PROFILE_ID_XPATH, null); + //Logger.info("CMSSignature: " + cmsSignatureStr); + InputStream asicSignature = + Base64Utils.decodeToStream(asicSignatureStr, true); + + ASiCFormat format = null; + + if("asics".equalsIgnoreCase(asicExtensionStr) || "scs".equalsIgnoreCase(asicExtensionStr) + || "application/vnd.etsi.asic-s+zip".equalsIgnoreCase(asicExtensionStr)) { + format = ASiCFormat.ASiCS; + } else if("asice".equalsIgnoreCase(asicExtensionStr) || "sce".equalsIgnoreCase(asicExtensionStr) + || "application/vnd.etsi.asic-e+zip".equalsIgnoreCase(asicExtensionStr)) { + format = ASiCFormat.ASiCE; + } + + return new VerifyASiCRequest(format, dateTime, asicSignature, trustProfileID, extendedValidation); + } + +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureResponseBuilder.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureResponseBuilder.java new file mode 100644 index 0000000..781a081 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureResponseBuilder.java @@ -0,0 +1,177 @@ +/* + * Copyright 2003 Federal Chancellery Austria + * MOA-SPSS has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + + +package at.gv.egiz.asic.xmlbind; + +import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egovernment.moa.spss.MOAApplicationException; +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.MOASystemException; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement; +import at.gv.egovernment.moa.spss.api.common.CheckResult; +import at.gv.egovernment.moa.spss.api.common.SignerInfo; +import at.gv.egovernment.moa.spss.api.xmlbind.ResponseBuilderUtils; +import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder; +import at.gv.egovernment.moa.spss.api.xmlverify.AdESFormResults; +import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureResponseBuilder; +import at.gv.egovernment.moaspss.util.Constants; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import java.util.Iterator; +import java.util.List; + +/** + * Convert a VerifyCMSSignatureResponse API object into its + * XML representation, according to the MOA XML schema. + * + * @author Patrick Peck + * @version $Id$ + */ +public class VerifyASICSignatureResponseBuilder { + /** The XML document containing the response element. */ + private Document responseDoc; + /** The response VerifyCMSSignatureResponse DOM element. */ + private Element responseElem; + + /** + * Create a new VerifyCMSSignatureResponseBuilder: + * + * @throws MOASystemException An error occurred setting up the resulting + * XML document. + */ + public VerifyASICSignatureResponseBuilder() throws MOASystemException { + responseDoc = + ResponseBuilderUtils.createResponse("VerifyASICSignatureResponse"); + responseElem = responseDoc.getDocumentElement(); + } + + /** + * Build a document containing a VerifyCMSSignatureResponse + * DOM element being the XML representation of the given + * VerifyCMSSignatureResponse API object. + * + * @param response The VerifyCMSSignatureResponse to convert + * to XML. + * @return A document containing the VerifyCMSSignatureResponse + * DOM element. + * @throws MOAApplicationException An error occurred building the response. + */ + public Document build(List results) + throws MOAException { + + Iterator iter = results.iterator(); + + while(iter.hasNext()) { + ASiCVerificationResult aSiCVerificationResult = iter.next(); + addASiCResultElement(aSiCVerificationResult); + } + + return responseDoc; + } + + private void addASiCResultElement(ASiCVerificationResult aSiCVerificationResult) + throws MOAException { + Element asiCSignatureResultElem = responseDoc.createElementNS(Constants.MOA_NS_URI, "ASiCSignatureResult"); + + Iterator signedFiles = aSiCVerificationResult.getSignedFiles().iterator(); + while (signedFiles.hasNext()) { + String signedFile = signedFiles.next(); + Element signedFilesElem = responseDoc.createElementNS(Constants.MOA_NS_URI, "signedFiles"); + signedFilesElem.setTextContent(signedFile); + asiCSignatureResultElem.appendChild(signedFilesElem); + } + + if(aSiCVerificationResult.getXmlResult() != null) { + VerifyXMLSignatureResponseBuilder verifyXMLSignatureResponseBuilder = new VerifyXMLSignatureResponseBuilder(this.responseDoc, "XMLSignatureResult"); + asiCSignatureResultElem.appendChild(verifyXMLSignatureResponseBuilder.buildElement(aSiCVerificationResult.getXmlResult())); + } else if(aSiCVerificationResult.getCmsResult() != null) { + VerifyCMSSignatureResponseBuilder verifyCMSSignatureResponseBuilder = new VerifyCMSSignatureResponseBuilder(this.responseDoc, "CMSSignatureResult"); + asiCSignatureResultElem.appendChild(verifyCMSSignatureResponseBuilder.buildElement(aSiCVerificationResult.getCmsResult())); + } + + responseElem.appendChild(asiCSignatureResultElem); + } + + /** + * Add an element to the response. + * + * @param responseElement The element to add to the response. + * @throws MOAApplicationException An error occurred adding the element. + */ + private void addResponseElement(VerifyCMSSignatureResponseElement responseElement) + throws MOAApplicationException { + + SignerInfo signerInfo = responseElement.getSignerInfo(); + CheckResult signatureCheck = responseElement.getSignatureCheck(); + CheckResult certCheck = responseElement.getCertificateCheck(); + + ResponseBuilderUtils.addSignerInfo( + responseDoc, + responseElem, + signerInfo.getSignerCertificate(), + signerInfo.isQualifiedCertificate(), + signerInfo.getQCSource(), + signerInfo.isPublicAuthority(), + signerInfo.getPublicAuhtorityID(), + signerInfo.isSSCD(), + signerInfo.getSSCDSource(), + signerInfo.getIssuerCountryCode()); + + ResponseBuilderUtils.addCodeInfoElement( + responseDoc, + responseElem, + "SignatureCheck", + signatureCheck.getCode(), + signatureCheck.getInfo()); + + ResponseBuilderUtils.addCodeInfoElement( + responseDoc, + responseElem, + "CertificateCheck", + certCheck.getCode(), + certCheck.getInfo()); + + + if (responseElement.getAdESFormResults() != null) { + + Iterator formIterator = responseElement.getAdESFormResults().iterator(); + + while (formIterator.hasNext()) { + AdESFormResults adESFormResult = (AdESFormResults) formIterator.next(); + // add the CertificateCheck + ResponseBuilderUtils.addFormCheckElement(responseDoc, responseElem, "FormCheckResult", + adESFormResult.getCode().intValue(), adESFormResult.getName()); + + } + } + + if(responseElement.getExtendedCertificateCheck() != null) { + ResponseBuilderUtils.addExtendendResult(responseDoc, responseElem, responseElement.getExtendedCertificateCheck()); + } + + } + +} diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASiCRequest.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASiCRequest.java new file mode 100644 index 0000000..37584a6 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASiCRequest.java @@ -0,0 +1,46 @@ +package at.gv.egiz.asic.xmlbind; + +import at.gv.egiz.asic.api.ASiCFormat; + +import java.io.InputStream; +import java.util.Date; + +/** + * Created by Andreas Fitzek on 6/16/16. + */ +public class VerifyASiCRequest { + private Date date; + private InputStream asicInput; + private String trustProfile; + private ASiCFormat format; + private boolean extendedValidation; + + + public VerifyASiCRequest(ASiCFormat format, Date date, InputStream asicInput, String trustProfile, boolean extendedValidation) { + this.format = format; + this.date = date; + this.asicInput = asicInput; + this.trustProfile = trustProfile; + this.extendedValidation = extendedValidation; + } + + public Date getDate() { + return date; + } + + public InputStream getAsicInput() { + return asicInput; + } + + public String getTrustProfile() { + return trustProfile; + } + + public ASiCFormat getFormat() { + return format; + } + + public boolean isExtendedValidation() { + return extendedValidation; + } +} diff --git a/moaSig/moa-asic/src/main/resources/schemas/asic.xsd b/moaSig/moa-asic/src/main/resources/schemas/asic.xsd new file mode 100644 index 0000000..d6d3534 --- /dev/null +++ b/moaSig/moa-asic/src/main/resources/schemas/asic.xsd @@ -0,0 +1,71 @@ + + + + + + + Schema for ASiCManifest – See ETSI EN 319 162 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Schema for parallel detached XAdES Signatures + + + + + + + + \ No newline at end of file diff --git a/moaSig/moa-asic/src/test/java/at/gv/egiz/asic/dev/Main.java b/moaSig/moa-asic/src/test/java/at/gv/egiz/asic/dev/Main.java new file mode 100644 index 0000000..5005a3b --- /dev/null +++ b/moaSig/moa-asic/src/test/java/at/gv/egiz/asic/dev/Main.java @@ -0,0 +1,238 @@ +package at.gv.egiz.asic.dev; + +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCFactory; +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egiz.asic.impl.ASiCMOAVerifier; +import at.gv.egiz.asic.xmlbind.VerifyASICSignatureResponseBuilder; +import at.gv.egovernment.moa.spss.MOASystemException; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement; +import at.gv.egovernment.moa.spss.api.common.SignerInfo; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; +import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; +import at.gv.egovernment.moa.spss.server.init.SystemInitializer; +import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; +import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; +import at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator; +import at.gv.egovernment.moaspss.logging.LoggingContext; +import at.gv.egovernment.moaspss.logging.LoggingContextManager; +import at.gv.egovernment.moaspss.util.DOMUtils; +import org.apache.commons.io.FileUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; + +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.StringWriter; +import java.util.Iterator; +import java.util.List; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public class Main { + + private static final Logger logger = LoggerFactory.getLogger(Main.class); + + private static void verify(String filename, boolean showInfo, boolean showCertificate, boolean showXML, ASiCMOAVerifier v) + throws Throwable{ + logger.info("========================================================================================"); + logger.info("Running ASiC Verification for {}", filename); + logger.info("========================================================================================"); + + ASiCFormat format = null; + + if (filename.endsWith("asics") || filename.endsWith("scs")) { + format = ASiCFormat.ASiCS; + } else if (filename.endsWith("asice") || filename.endsWith("sce")) { + format = ASiCFormat.ASiCE; + } + + ASiC aSiC = ASiCFactory.parseASiC(new FileInputStream(filename), format); + + logger.info("Build ASIC-S: {}", aSiC); + + + List results = v.verify(aSiC, "Test-Signaturdienste", null); + + if (results != null) { + for (int i = 0; i < results.size(); i++) { + ASiCVerificationResult aSiCVerificationResult = results.get(i); + + if (showInfo) { + // Auswertung der Response + System.out.println(); + System.out.println("Ergebnisse der Signaturprüfung:"); + System.out.println(); + + // Auswertung der Response + System.out.println(); + System.out.println("Signierte Eintraege"); + Iterator signedFilesIterator = aSiCVerificationResult.getSignedFiles().iterator(); + while (signedFilesIterator.hasNext()) { + System.out.println(" " + signedFilesIterator.next()); + } + System.out.println(); + } + if (aSiCVerificationResult.getXmlResult() != null) { + VerifyXMLSignatureResponse verifyResponse = aSiCVerificationResult.getXmlResult(); + + // Ergebnisse von Signatur- und Zertifikatsprüfung + System.out.println(); + System.out.println("Ergebniscode der Signaturprüfung: " + verifyResponse.getSignatureCheck().getCode()); + System.out.println("Ergebniscode der Zertifikatsprüfung: " + verifyResponse.getCertificateCheck().getCode()); + + // Besondere Eigenschaften des Signatorzertifikats + SignerInfo signerInfo = verifyResponse.getSignerInfo(); + + if (showCertificate) { + showSignerInfo(signerInfo); + } + } else if (aSiCVerificationResult.getCmsResult() != null) { + VerifyCMSSignatureResponse verifyResponse = aSiCVerificationResult.getCmsResult(); + + Iterator responses = verifyResponse.getResponseElements().iterator(); + while (responses.hasNext()) { + Object response = responses.next(); + VerifyCMSSignatureResponseElement verifyCMS = (VerifyCMSSignatureResponseElement) response; + + // Besondere Eigenschaften des Signatorzertifikats + SignerInfo signerInfo = verifyCMS.getSignerInfo(); + + // Ergebnisse von Signatur- und Zertifikatsprüfung + System.out.println(); + System.out.println("Ergebniscode der Signaturprüfung: " + verifyCMS.getSignatureCheck().getCode()); + System.out.println("Ergebniscode der Zertifikatsprüfung: " + verifyCMS.getCertificateCheck().getCode()); + + + if (showCertificate) { + showSignerInfo(signerInfo); + } + } + } + } + + if (showXML) { + showXMLResponse(results); + } + } + } + + + private static void runAllPlugtests(boolean showInfo, boolean showCertificate, boolean showXML, ASiCMOAVerifier v) { + Iterator filesIterator = FileUtils.iterateFiles(new File("/home/afitzek/Documents/PlugTest-2016/sig_data/ESIG-A/"), + new String[]{"asics", "asice", "scs", "sce"}, true); + + int total = 0; + int ok = 0; + int failed = 0; + + while (filesIterator.hasNext()) { + //for(int j = 0; j < testInputs.length; j++) { + //String filename = testInputs[j]; + String filename = filesIterator.next().getAbsolutePath(); + total++; + try { + verify(filename, showInfo, showCertificate, showXML, v); + ok++; + } catch (Throwable e) { + failed++; + logger.error("Verification failed! {}", e.getMessage(), e); + } + } + + logger.info("Total {} / OK {} / ERROR {}", total, ok, failed); + } + + private static void runSpecific(boolean showInfo, boolean showCertificate, boolean showXML, ASiCMOAVerifier v) { + String testInput2 = "/home/afitzek/Documents/PlugTest-2016/sig_data/ESIG-A/BG_BOR/Signature-A-BG_BOR-2.asics"; + + String testInput = "/home/afitzek/Documents/PlugTest-2016/sig_data/ESIG-A/HU_MIC/Signature-A-HU_MIC-1.asics"; + String testInputCMS = "/home/afitzek/Documents/PlugTest-2016/sig_data/ESIG-A/LU_NOW/Signature-A-LU_NOW-2.asics"; + String testInputE = "/home/afitzek/Documents/PlugTest-2016/sig_data/ESIG-A/EE_SER/Signature-A-EE_SER-35.asice"; + String testInputECMS = "/home/afitzek/Documents/PlugTest-2016/sig_data/ESIG-A/HU_POL/Signature-A-HU_POL-16.asice"; + + try { + verify(testInputE, showInfo, showCertificate, showXML, v); + } catch (Throwable e) { + logger.error("Verification failed! {}", e.getMessage(), e); + } + } + + public static void main(String[] args) { + try { + boolean showCertificate = true; + boolean showXML = true; + boolean showInfo = true; + System.setProperty("moa.spss.server.configuration", "/home/afitzek/server/moa-spss/apache-tomcat-8.0.0-RC3/conf/moa-spss/spss.config.xml"); + System.setProperty("iaik.esi.sva.configuration.location", "/home/afitzek/server/moa-spss/apache-tomcat-8.0.0-RC3/conf/moa-spss/svaconfig.example"); + + SystemInitializer.init(); + + //String[] testInputs = new String[] {testInput, testInputCMS, testInputE, testInput2, testInputECMS}; + //ASiCFormat[] formats = new ASiCFormat[] {null, null, null, null, ASiCFormat.ASiCE}; + + ConfigurationProvider configuration = ConfigurationProvider.getInstance(); + + TransactionContext context = new TransactionContext(TransactionIDGenerator.nextID(), null, + configuration, null, null); + + TransactionContextManager tcm = TransactionContextManager.getInstance(); + tcm.setTransactionContext(context); + + ASiCMOAVerifier v = new ASiCMOAVerifier(); + + // set the logging context in the LoggingContextManager + LoggingContextManager lcm = LoggingContextManager.getInstance(); + LoggingContext lc = new LoggingContext(context.getTransactionID()); + lcm.setLoggingContext(lc); + + runSpecific(showInfo, showCertificate, showXML, v); + + //runAllPlugtests(showInfo, showCertificate, showXML, v); + + //ASiC aSiCE = ASiCFactory.parseASiC(new FileInputStream(testInputE), ASiCFormat.ASiCE); + + //logger.info("Build ASIC-E: {}", aSiCE); + } catch (Throwable e) { + e.printStackTrace(); + } + } + + private static void showXMLResponse(List results) throws Exception { + VerifyASICSignatureResponseBuilder builder = new VerifyASICSignatureResponseBuilder(); + Document doc = builder.build(results); + + TransformerFactory tf = TransformerFactory.newInstance(); + Transformer transformer = tf.newTransformer(); + transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); + StringWriter writer = new StringWriter(); + transformer.transform(new DOMSource(doc), new StreamResult(writer)); + String output = writer.getBuffer().toString().replaceAll("\n|\r", ""); + + System.out.println("XML Response: " + output); + } + + private static void showSignerInfo(SignerInfo signerInfo) { + // Signatorzertifikat + System.out.println("*** Ist Zertifikat des Signators qualifiziert? " + ((signerInfo.isQualifiedCertificate()) ? "ja" : "nein")); + System.out.println("*** Ist Zertifikat des Signators von einer Behörde? " + ((signerInfo.isPublicAuthority()) ? "ja" : "nein")); + + System.out.println(); + System.out.println("*** Zertifikat des Signators:"); + System.out.println("Aussteller: " + signerInfo.getSignerCertificate().getIssuerDN()); + System.out.println("Subject: " + signerInfo.getSignerCertificate().getSubjectDN()); + System.out.println("Seriennummer: " + signerInfo.getSignerCertificate().getSerialNumber()); + } +} diff --git a/moaSig/moa-asic/src/test/resources/META-INF/aop.xml b/moaSig/moa-asic/src/test/resources/META-INF/aop.xml new file mode 100644 index 0000000..161da84 --- /dev/null +++ b/moaSig/moa-asic/src/test/resources/META-INF/aop.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/moaSig/moa-asic/src/test/resources/log4j.properties b/moaSig/moa-asic/src/test/resources/log4j.properties new file mode 100644 index 0000000..c730896 --- /dev/null +++ b/moaSig/moa-asic/src/test/resources/log4j.properties @@ -0,0 +1,16 @@ +# +# Sample log4j configuration for the MOA-SPSS web service +# + +# commons-logging setup +org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory + +# Configure root logger and loggers for moa-spss +log4j.rootLogger=WARN, stdout +log4j.logger.at.gv.egiz=INFO, stdout +#log4j.logger.at.gv.egovernment=WARN, stdout +log4j.additivity.at.gv.egiz=false +# Configure the 'stdout' appender to write logging output to the console +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %m%n diff --git a/moaSig/moa-sig-lib/build.gradle b/moaSig/moa-sig-lib/build.gradle index ee39d3c..85ac36c 100644 --- a/moaSig/moa-sig-lib/build.gradle +++ b/moaSig/moa-sig-lib/build.gradle @@ -22,3 +22,9 @@ dependencies { compile 'org.postgresql:postgresql:9.4-1204-jdbc42' } +task releases(type: Copy) { + from jar.outputs + from distZip.outputs + from distTar.outputs + into rootDir.toString() + "/releases/" + version +} diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java index 6c4667b..5bc7bec 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java @@ -26,6 +26,8 @@ package at.gv.egovernment.moa.spss.api.xmlbind; import java.util.Iterator; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; +import at.gv.egovernment.moaspss.util.Constants; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -61,6 +63,16 @@ public class VerifyCMSSignatureResponseBuilder { ResponseBuilderUtils.createResponse("VerifyCMSSignatureResponse"); responseElem = responseDoc.getDocumentElement(); } + + public VerifyCMSSignatureResponseBuilder(Document responseDoc, String name) throws MOASystemException { + this.responseDoc = responseDoc; + responseElem = responseDoc.createElementNS(Constants.MOA_NS_URI, name); + } + + public Element buildElement(VerifyCMSSignatureResponse response) throws MOAApplicationException { + this.build(response); + return responseElem; + } /** * Build a document containing a VerifyCMSSignatureResponse diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java index 5329861..771c276 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java @@ -74,6 +74,16 @@ public class VerifyXMLSignatureResponseBuilder { responseElem = responseDoc.getDocumentElement(); } + public VerifyXMLSignatureResponseBuilder(Document responseDoc, String name) throws MOASystemException { + this.responseDoc = responseDoc; + responseElem = responseDoc.createElementNS(MOA_NS_URI, name); + } + + public Element buildElement(VerifyXMLSignatureResponse response) throws MOAApplicationException { + this.build(response); + return responseElem; + } + /** * Build a document containing a VerifyXMLSignatureResponse DOM * element being the XML representation of the given diff --git a/moaSig/moa-sig-lib/src/main/resources/resources/properties/spss_messages_de.properties b/moaSig/moa-sig-lib/src/main/resources/resources/properties/spss_messages_de.properties index 9e2e0e4..691c4dd 100644 --- a/moaSig/moa-sig-lib/src/main/resources/resources/properties/spss_messages_de.properties +++ b/moaSig/moa-sig-lib/src/main/resources/resources/properties/spss_messages_de.properties @@ -7,14 +7,14 @@ # 1100=Fehler beim Validieren der Anfrage: {0} -1101=Bei enveloping Datenobjekten muss entweder Content oder Reference übergeben werden +1101=Bei enveloping Datenobjekten muss entweder Content oder Reference �bergeben werden 1102=Bei detached Datenobjekten darf das Attribut Reference nicht leer sein -1103=Ungültiger Wert für Attribut Structure im Element DataObjectInfo: {0} -1104=Ungültiger Wert für DateTime: {0} -1105=Ungültiger Wert für Attribut Index in Element CreateSignatureLocation: {0} +1103=Ung�ltiger Wert f�r Attribut Structure im Element DataObjectInfo: {0} +1104=Ung�ltiger Wert f�r DateTime: {0} +1105=Ung�ltiger Wert f�r Attribut Index in Element CreateSignatureLocation: {0} 1106=Interner Fehler beim Parsen der XML-Daten 1107=Kein Kind-Element im Element XMLContent gefunden -1108=Ungültiger Wert für dsig:Algorithm: {0} +1108=Ung�ltiger Wert f�r dsig:Algorithm: {0} 1109=XMLContent darf nur ein Kind-Element enthalten 1110=Entweder Content oder Reference muss gesetzt sein 1111=Reference muss gesetzt sein, wenn kein Content angegeben ist @@ -23,64 +23,64 @@ 2200=Fehler beim Erzeugen der Antwort 2201=Transformations-Algorithmus unbekannt: {0} -2202=Kein XPath-Element für XPath-Transformation gefunden +2202=Kein XPath-Element f�r XPath-Transformation gefunden 2203=TrustProfileID unbekannt: {0} -2207=Ungültiges URI-Format: {0} -2208=Fehler beim Öffnen des Datenobjekts (URI={0}) +2207=Ung�ltiges URI-Format: {0} +2208=Fehler beim �ffnen des Datenobjekts (URI={0}) 2209=Fehler beim Parsen der XML-Daten 2210=Fehler beim Lesen des Datenobjekts -2211=Referenzierte Daten können nicht als XML interpretiert werden (URI={0}) +2211=Referenzierte Daten k�nnen nicht als XML interpretiert werden (URI={0}) 2212=Fehler beim Auswerten des XPath-Ausdrucks: {0} 2213=Zugriff auf das Dateisystem verweigert (URI={0}) -2214=Ungültiges URL-Format: {0} -2215=Kein Stylesheet für XSLT-Transformation gefunden -2216=Kein XPath-Filter2 Element für XPath-Filter2-Transform gefunden -2217=Kein InclusiveNamespaces Element für Exclusive Canonicalization Transform gefunden -2218=Das Signature Environment enthält keine validen XML-Daten +2214=Ung�ltiges URL-Format: {0} +2215=Kein Stylesheet f�r XSLT-Transformation gefunden +2216=Kein XPath-Filter2 Element f�r XPath-Filter2-Transform gefunden +2217=Kein InclusiveNamespaces Element f�r Exclusive Canonicalization Transform gefunden +2218=Das Signature Environment enth�lt keine validen XML-Daten 2219=Fehler beim Lesen des Signature Environment 2220=Allgemeiner Fehler beim Erzeugen der Signatur [{0}] -2221=Fehler bei der Behandlung des Schlüssels [{0}] +2221=Fehler bei der Behandlung des Schl�ssels [{0}] 2222=Fehler beim Erstellen des Manifests [{0}] 2223=Fehler beim Erstellen der Referenz [{0}] -2224=Hashwert nicht verfügbar [{0}] -2225=Signier-Algorithmus wird nicht unterstützt [{0}] +2224=Hashwert nicht verf�gbar [{0}] +2225=Signier-Algorithmus wird nicht unterst�tzt [{0}] 2226=Fehler beim Einbetten der Signatur [{0}] 2227=Fehler beim Berechnen des Signaturwertes [{0}] 2228=Fehler beim Behandeln der SignedProperties [{0}] -2229=Signator-Zertifikat nicht verfügbar [{0}] -2230=Fehler beim Auflösen eines Supplements [{0}] -2231=Die Schlüsselgruppe ist nicht verfügbar -2232=Die Schlüsselgruppe ist leer -2233=Fehler beim Durchführen der Transformation [{0}] +2229=Signator-Zertifikat nicht verf�gbar [{0}] +2230=Fehler beim Aufl�sen eines Supplements [{0}] +2231=Die Schl�sselgruppe ist nicht verf�gbar +2232=Die Schl�sselgruppe ist leer +2233=Fehler beim Durchf�hren der Transformation [{0}] 2234=CreateTransformsInfoProfileID nicht vorhanden (ID={0}) 2235=CreateSignatureEnvironment muss entweder Reference oder Content enthalten 2236=CreateSignatureEnvironmentProfileID nicht vorhanden (ID={0}) -2237=Fehler beim Auflösen der internen Referenz (URI={0}) -2238=Fehler beim Auflösen des Transformationsparameters (URI={0}) +2237=Fehler beim Aufl�sen der internen Referenz (URI={0}) +2238=Fehler beim Aufl�sen des Transformationsparameters (URI={0}) 2240=Allgemeiner Fehler beim Verifizieren der Signatur [{0}] -2241=Algorithmus wird nicht unterstützt [{0}] +2241=Algorithmus wird nicht unterst�tzt [{0}] 2242=Fehler beim Parsen der CMS Signatur [{0}] -2243=Signator-Zertifikat nicht verfügbar [{0}] +2243=Signator-Zertifikat nicht verf�gbar [{0}] 2244=Fehler beim Lesen der Signatur-Daten 2245=Fehler beim Codieren des Signator-Zertifikats 2246=Fehler beim Umwandeln des SubjectDN des Signator-Zertifikats nach RFC2253: {0} 2247=Allgemeiner Fehler beim Verifizieren der Signatur [{0}] 2248=Fehler beim Vorbereiten der Daten [{0}] -2249=Das Attribut Signatories enthält einen ungültigen Index (Index={0}) +2249=Das Attribut Signatories enth�lt einen ung�ltigen Index (Index={0}) 2262=Fehler beim Behandeln des Manifests [{0}] 2263=Fehler beim Parsen der Properties [{0}] 2264=Fehler beim Behandeln der Referenz [{0}] -2265=Fehler beim Durchführen der Transformation [{0}] +2265=Fehler beim Durchf�hren der Transformation [{0}] 2266=Signatur ist kein dsig:Signature-Element 2267=SupplementProfileID nicht vorhanden (ID={0}) 2268=VerifyTransformsInfoProfileID nicht vorhanden (ID={0}) 2269=Fehler beim Parsen der Transformation [{0}] 2270=Fehler beim Decodieren des Hash-Wertes 2271=Falsche Anzahl an ReferenceInfo Elementen in SignatureManfestCheckParams -2280=Die Angabe XMLContent wird derzeit nicht unterstützt +2280=Die Angabe XMLContent wird derzeit nicht unterst�tzt 2281=XML-Supplement kann nicht serialisiert werden (Reference="{0}") 2282=Datenobjekt mit der URI={0} wurde dem Request nicht bereit gestellt -2290=Fehler bei der QC bzw. SSCD Prüfung via TSL +2290=Fehler bei der QC bzw. SSCD Pr�fung via TSL 2300=Fehler bei der Erstellen der CMS Signatur 2301=Fehler beim Lesen des zu signierenden Datenobjekts @@ -88,12 +88,12 @@ 2900=Interner Server-Fehler 3201=Objekt kann nicht geladen werden (Reference="{0}", LocRef-URI="{1}") -3202=Supplement für Signaturumgebung kann nicht geladen werden (Reference="{0}", LocRef-URI="{1}") +3202=Supplement f�r Signaturumgebung kann nicht geladen werden (Reference="{0}", LocRef-URI="{1}") 3203=Signaturumgebung kann nicht geladen werden (Reference="{0}", LocRef-URI="{1}") 4001=Externe URI {0} darf nicht geladen werden (externe sind URIs verboten und URI befindet sich nicht auf der Whitelist) 4002=Externe URI {0} befindet sich auf der Blacklist und darf nicht geladen werden -4003=IP-Adresse für {0} konnte nicht ermitteln werden +4003=IP-Adresse f�r {0} konnte nicht ermitteln werden 9900=Nicht klassifizierter Fehler in Subsystem @@ -105,14 +105,14 @@ # Server internal messages # -init.00=Fehler beim Lesen der MOA SP/SS Konfiguration: das Service steht nicht zur Verfügung +init.00=Fehler beim Lesen der MOA SP/SS Konfiguration: das Service steht nicht zur Verf�gung init.01=MOA SP/SS Konfiguration erfolgreich geladen -init.02=Fehler beim Löschen der Archivdaten -init.03=Fehler beim Aktivieren des IAIK-JCE/JSSE/JDK1.3 Workaround: SSL ist möglicherweise nicht verfügbar +init.02=Fehler beim L�schen der Archivdaten +init.03=Fehler beim Aktivieren des IAIK-JCE/JSSE/JDK1.3 Workaround: SSL ist m�glicherweise nicht verf�gbar init.04=Fehler beim Initialisieren des Schema Pools -config.00=Fehler beim Erstellen des KeyGroupMapping: KeyGroup mit id={0} unbekannt - die Erstellung des KeyGroupMapping wird fortgeführt -config.01=Fehler in der Konfiguration: Wert für maximale Archivierungsdauer von Widerrufsinformationen (ArchiveDuration) nicht konfiguriert oder ungültig +config.00=Fehler beim Erstellen des KeyGroupMapping: KeyGroup mit id={0} unbekannt - die Erstellung des KeyGroupMapping wird fortgef�hrt +config.01=Fehler in der Konfiguration: Wert f�r maximale Archivierungsdauer von Widerrufsinformationen (ArchiveDuration) nicht konfiguriert oder ung�ltig config.02=Fehler in der Konfiguration: {0} mit id={1}: falscher Profiltyp in Datei {2} config.03=Fehler in der Konfiguration: {0} mit id={1} konnte nicht geladen werden config.04=Fehler in der Konfiguration: {0} mit id={1} existiert bereits @@ -120,12 +120,12 @@ config.05=Umgebungsvariable {0} nicht gesetzt: benutze Default-Konfiguration config.06=Die MOA SP/SS Konfiguration wurde erfolgreich aktualisiert. config.07=Fehler in der Konfiguration: Reason code {0} unbekannt config.08=Fehler beim Konfigurieren der IAIK-Module -config.09=Fehler beim Öffnen der Schlüssel-Datei {0} -config.10=Fehler beim Einlesen der Konfiguration (siehe Log-Datei für Details) -config.11=Fehler beim Erstellen der Konfiguration (siehe Log-Datei für Details) +config.09=Fehler beim �ffnen der Schl�ssel-Datei {0} +config.10=Fehler beim Einlesen der Konfiguration (siehe Log-Datei f�r Details) +config.11=Fehler beim Erstellen der Konfiguration (siehe Log-Datei f�r Details) config.12=Fehler beim Einlesen des Profils -config.13=Fehler beim Erstellen des CRLDistributionPoint: CAIssuerDN={0} ungültig -config.14=Das Attribut {0} für das TrustProfile mit id={1} ist ungültig (Wert={2}) +config.13=Fehler beim Erstellen des CRLDistributionPoint: CAIssuerDN={0} ung�ltig +config.14=Das Attribut {0} f�r das TrustProfile mit id={1} ist ung�ltig (Wert={2}) config.15=Fehler beim Erstellen des TrustProfile id={0}: Name des Konfigurations-Verzeichnisses konnte nicht in eine URL umgewandet werden config.16=Fehler beim Erstellen von X509IssuerSerial (IssuerName={0}, SerialNumber={1}) config.17=DigestAlgorithmName unbekannt (AlgorithmName={0}) @@ -134,14 +134,14 @@ config.19=Key ID={0} config.20=Fehler beim Aktualisieren der MOA SP/SS Konfiguration. Die bestehende Konfiguration wird beibehalten config.21=Lade Konfiguration von {0} config.22=Lade {0} mit id={1} von Datei {2} -config.23=MOA SP/SS Konfiguration: {0} nicht gesetzt oder ungültiger Wert, verwende den Default-Wert: {1} +config.23=MOA SP/SS Konfiguration: {0} nicht gesetzt oder ung�ltiger Wert, verwende den Default-Wert: {1} config.25=Fehler in der Konfiguration: Das SoftwareKeyModule mit id={0} konnte nicht geladen werden, da die Datei {1} nicht existiert oder ein Verzeichnis bezeichnet config.26=Fehler beim Erstellen der KeyGroup mit id={0}: KeyModule mit id={1} unbekannt config.27=Fehler in der Konfiguration: Das Attribut {0} des TrustProfiles mit id={1} zeigt nicht auf ein existierendes Verzeichnis config.28=Einen detaillierten Fehlerbericht entnehmen Sie bitte der Log-Datei. config.29=Es sind folgende leichte Fehler aufgetreten: -config.31=Fehler in der Konfiguration der KeyGroup mit id={0}: Der Schlüssel im KeyModule id={1} mit IssuerName={2} und SerialNumber={3} konnte nicht geladen werden -config.32=Fehler in der Konfiguration: Verzeichnisangabe für den Zertifikatsspeicher ist ungültig ({0}). +config.31=Fehler in der Konfiguration der KeyGroup mit id={0}: Der Schl�ssel im KeyModule id={1} mit IssuerName={2} und SerialNumber={3} konnte nicht geladen werden +config.32=Fehler in der Konfiguration: Verzeichnisangabe f�r den Zertifikatsspeicher ist ung�ltig ({0}). config.33=External URIs are allowed. Maybe a URI blacklist exists. config.34=Blacklisted URI: {0}. config.35=External URIs not allowed. Maybe a URI whitelist exists. @@ -149,7 +149,7 @@ config.36=No blacklisted URIs given. config.37=Fehler beim Erstellen der TSL Konfiguration: Name des TSL Arbeits-Verzeichnisses konnte nicht in eine URL umgewandet werden (Wert="{0}") config.38=Fehler beim Erstellen der TSL Konfiguration: Das TSL Arbeits-Verzeichnis ist kein Verzeichnis (Wert="{0}") config.39=TSL Konfguration: Kein Attribut "{0}" angegeben oder Attribut konnte nicht ausgewertet werden. Verwenden Default-Wert ("{1}") -config.40=Fehler beim Erstellen der TSL Konfiguration: Es wurde mindestens ein TrustProfile mit aktivierter TSL-Unterstützung konfiguriert. Die allgemeine TSL-Konfiguration ist jedoch fehlerhaft. +config.40=Fehler beim Erstellen der TSL Konfiguration: Es wurde mindestens ein TrustProfile mit aktivierter TSL-Unterst�tzung konfiguriert. Die allgemeine TSL-Konfiguration ist jedoch fehlerhaft. config.41=Initialisiere TSL Bibliothek config.42=Start updating TSL enabled truststores config.43=Update truststore with id "{0}" @@ -164,16 +164,33 @@ config.51=Fehler beim Erstellen der TSL Konfiguration: TSL-Arbeitsverzeichnis is handler.00=Starte neue Transaktion: TID={0}, Service={1} handler.01=Aufruf von Adresse={0} handler.02=Client-Zertifikat: Subject={0}, Serial={1}, Issuer={2} -handler.03=Client-Zertifikat nicht verfügbar +handler.03=Client-Zertifikat nicht verf�gbar handler.04=Anfrage erfolgreich abgearbeitet handler.05=Fehler beim Abarbeiten der Anfrage -handler.06=SOAP Attachment mit der id={0} für Request hinterlegt (MIME Type des Attachments={1}) +handler.06=SOAP Attachment mit der id={0} f�r Request hinterlegt (MIME Type des Attachments={1}) handler.07=SOAP Request empfangen: Request={0} invoker.00=Das Signature Environment konnte nicht validierend geparst werden invoker.01=Keine passende Transformationskette gefunden (Index={0}) -invoker.02=Der Hashwert der Transformation stimmt nicht überein (Index={0}) +invoker.02=Der Hashwert der Transformation stimmt nicht �berein (Index={0}) invoker.03=Signatorzertifikat aus Trustprofile mit id={0} konnte nicht geparst werden (Dateiname={1}) -tsl.00=Aktulisierung der TSL konnte nicht durchgeführt werden. TrustProfile mit aktiviertem TSL-Support stehen nicht zur Verfügung. -tsl.01=Fehler bei der QC (qualifiziertes Zertifikat) bzw. SSCD (sichere Signaturerstellungseinheit) Überprüfung via TSL. \ No newline at end of file +tsl.00=Aktulisierung der TSL konnte nicht durchgef�hrt werden. TrustProfile mit aktiviertem TSL-Support stehen nicht zur Verf�gung. +tsl.01=Fehler bei der QC (qualifiziertes Zertifikat) bzw. SSCD (sichere Signaturerstellungseinheit) �berpr�fung via TSL. + +asic.0001=Only CAdES and XAdES signatures in ASiC-S are supported. +asic.0002=Only CAdES and XAdES signatures in ASiC-E are supported. +asic.0003=Internal IO Error +asic.0004=Referenced signature URI not valid {0} +asic.0005=Digest Algorithm is not available {0} +asic.0006=No valid ASiC format defined. Please see documentation +asic.0007=Failed to read from ASiC Archiv +asic.0008=Unable to determine the ASiC format, please provide +asic.0009=ASiC-S and ASiC-E are both indicated at the same time +asic.0010=Cannot mix XAdES and CAdES Signatures in ASiC +asic.0011=Evidence Record (ERS) not supported +asic.0012=Evidence Record (XML) not supported +asic.0013=Timestamp Tokens not supported +asic.0014=ASiC-S can only contain one data object file +asic.0015=ASiC-S can only contain one signature file +asic.0016=Provided ASiC format is not supported for verification \ No newline at end of file diff --git a/moaSig/moa-sig/build.gradle b/moaSig/moa-sig/build.gradle index 9cd34a9..0ddd479 100644 --- a/moaSig/moa-sig/build.gradle +++ b/moaSig/moa-sig/build.gradle @@ -10,6 +10,7 @@ repositories { dependencies { compile project(':moa-sig-lib') + compile project(':moa-asic') compile fileTree(dir: 'libs', include: '*.jar') providedCompile 'javax.servlet:servlet-api:2.4' compile 'commons-discovery:commons-discovery:0.5' @@ -57,6 +58,7 @@ gretty { '-Dlog4j.configuration=/home/afitzek/server/moa-spss/apache-tomcat-8.0.0-RC3/conf/moa-spss/log4j.properties' ] loggingLevel = "TRACE" + servletContainer = 'tomcat8' } task jaxb () { @@ -75,11 +77,16 @@ task jaxb () { ant.xjc( destdir: jaxbTargetDir.path, package: 'at.gv.egiz.moasig', - schema: 'src/main/resources/resources/schemas/MOA-SIG-3.0.0.xsd' + schema: 'src/main/resources/resources/schemas/MOA-SPSS-2.0.0.xsd' ) } } +task releases(type: Copy) { + from war.outputs + into rootDir.toString() + "/releases/" + version +} + //compileJava.dependsOn jaxb // context where tomcat is deployed, by defautl localhost:8080/ diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/AllSignatoriesType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/AllSignatoriesType.java index f15b8c6..c6c62c0 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/AllSignatoriesType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/AllSignatoriesType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/AnyChildrenType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/AnyChildrenType.java index 13ca6a0..6a5bce4 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/AnyChildrenType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/AnyChildrenType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -43,8 +43,9 @@ import org.w3c.dom.Element; "content" }) @XmlSeeAlso({ - ReferencesCheckResultInfoType.class, - ManifestRefsCheckResultInfoType.class + ManifestRefsCheckResultInfoType.class, + XMLContentType.class, + ReferencesCheckResultInfoType.class }) public class AnyChildrenType { @@ -70,9 +71,9 @@ public class AnyChildrenType { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } - * {@link Object } * {@link String } + * {@link Object } + * {@link Element } * * */ diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSContentBaseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSContentBaseType.java index 5eec1e8..7f46296 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSContentBaseType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSContentBaseType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -21,7 +21,7 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="CMSContentBaseType">
  *   <complexContent>
- *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentOptionalRefType">
+ *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType">
  *       <choice minOccurs="0">
  *         <element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
  *       </choice>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectInfoType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectInfoType.java
index cd118f2..7104ad8 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectInfoType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectInfoType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -26,7 +26,14 @@ import javax.xml.bind.annotation.XmlType;
  *   <complexContent>
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <sequence>
- *         <element name="DataObject" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}CMSDataObjectRequiredMetaType"/>
+ *         <element name="DataObject">
+ *           <complexType>
+ *             <complexContent>
+ *               <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectRequiredMetaType">
+ *               </extension>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
  *       </sequence>
  *       <attribute name="Structure" use="required">
  *         <simpleType>
@@ -53,7 +60,7 @@ import javax.xml.bind.annotation.XmlType;
 public class CMSDataObjectInfoType {
 
     @XmlElement(name = "DataObject", required = true)
-    protected CMSDataObjectRequiredMetaType dataObject;
+    protected CMSDataObjectInfoType.DataObject dataObject;
     @XmlAttribute(name = "Structure", required = true)
     protected String structure;
 
@@ -62,10 +69,10 @@ public class CMSDataObjectInfoType {
      * 
      * @return
      *     possible object is
-     *     {@link CMSDataObjectRequiredMetaType }
+     *     {@link CMSDataObjectInfoType.DataObject }
      *     
      */
-    public CMSDataObjectRequiredMetaType getDataObject() {
+    public CMSDataObjectInfoType.DataObject getDataObject() {
         return dataObject;
     }
 
@@ -74,10 +81,10 @@ public class CMSDataObjectInfoType {
      * 
      * @param value
      *     allowed object is
-     *     {@link CMSDataObjectRequiredMetaType }
+     *     {@link CMSDataObjectInfoType.DataObject }
      *     
      */
-    public void setDataObject(CMSDataObjectRequiredMetaType value) {
+    public void setDataObject(CMSDataObjectInfoType.DataObject value) {
         this.dataObject = value;
     }
 
@@ -105,4 +112,30 @@ public class CMSDataObjectInfoType {
         this.structure = value;
     }
 
+
+    /**
+     * 

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectRequiredMetaType">
+     *     </extension>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "") + public static class DataObject + extends CMSDataObjectRequiredMetaType + { + + + } + } diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectOptionalMetaType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectOptionalMetaType.java index 2c0cc35..d96a6cd 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectOptionalMetaType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectOptionalMetaType.java @@ -2,17 +2,15 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // package at.gv.egiz.moasig; -import java.math.BigInteger; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlSchemaType; import javax.xml.bind.annotation.XmlType; @@ -26,10 +24,8 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}MetaInfoType" minOccurs="0"/> - * <element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}CMSContentBaseType"/> - * <element name="From" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/> - * <element name="To" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/> + * <element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType" minOccurs="0"/> + * <element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSContentBaseType"/> * </sequence> * </restriction> * </complexContent> @@ -41,9 +37,7 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "CMSDataObjectOptionalMetaType", propOrder = { "metaInfo", - "content", - "from", - "to" + "content" }) public class CMSDataObjectOptionalMetaType { @@ -51,12 +45,6 @@ public class CMSDataObjectOptionalMetaType { protected MetaInfoType metaInfo; @XmlElement(name = "Content", required = true) protected CMSContentBaseType content; - @XmlElement(name = "From") - @XmlSchemaType(name = "nonNegativeInteger") - protected BigInteger from; - @XmlElement(name = "To") - @XmlSchemaType(name = "nonNegativeInteger") - protected BigInteger to; /** * Gets the value of the metaInfo property. @@ -106,52 +94,4 @@ public class CMSDataObjectOptionalMetaType { this.content = value; } - /** - * Gets the value of the from property. - * - * @return - * possible object is - * {@link BigInteger } - * - */ - public BigInteger getFrom() { - return from; - } - - /** - * Sets the value of the from property. - * - * @param value - * allowed object is - * {@link BigInteger } - * - */ - public void setFrom(BigInteger value) { - this.from = value; - } - - /** - * Gets the value of the to property. - * - * @return - * possible object is - * {@link BigInteger } - * - */ - public BigInteger getTo() { - return to; - } - - /** - * Sets the value of the to property. - * - * @param value - * allowed object is - * {@link BigInteger } - * - */ - public void setTo(BigInteger value) { - this.to = value; - } - } diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectRequiredMetaType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectRequiredMetaType.java index 7ee94a0..46cb047 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectRequiredMetaType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CMSDataObjectRequiredMetaType.java @@ -2,17 +2,16 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // package at.gv.egiz.moasig; -import java.math.BigInteger; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlType; @@ -26,10 +25,8 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}MetaInfoType"/> - * <element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}CMSContentBaseType"/> - * <element name="From" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/> - * <element name="To" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/> + * <element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType"/> + * <element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSContentBaseType"/> * </sequence> * </restriction> * </complexContent> @@ -41,9 +38,10 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "CMSDataObjectRequiredMetaType", propOrder = { "metaInfo", - "content", - "from", - "to" + "content" +}) +@XmlSeeAlso({ + at.gv.egiz.moasig.CMSDataObjectInfoType.DataObject.class }) public class CMSDataObjectRequiredMetaType { @@ -51,12 +49,6 @@ public class CMSDataObjectRequiredMetaType { protected MetaInfoType metaInfo; @XmlElement(name = "Content", required = true) protected CMSContentBaseType content; - @XmlElement(name = "From") - @XmlSchemaType(name = "nonNegativeInteger") - protected BigInteger from; - @XmlElement(name = "To") - @XmlSchemaType(name = "nonNegativeInteger") - protected BigInteger to; /** * Gets the value of the metaInfo property. @@ -106,52 +98,4 @@ public class CMSDataObjectRequiredMetaType { this.content = value; } - /** - * Gets the value of the from property. - * - * @return - * possible object is - * {@link BigInteger } - * - */ - public BigInteger getFrom() { - return from; - } - - /** - * Sets the value of the from property. - * - * @param value - * allowed object is - * {@link BigInteger } - * - */ - public void setFrom(BigInteger value) { - this.from = value; - } - - /** - * Gets the value of the to property. - * - * @return - * possible object is - * {@link BigInteger } - * - */ - public BigInteger getTo() { - return to; - } - - /** - * Sets the value of the to property. - * - * @param value - * allowed object is - * {@link BigInteger } - * - */ - public void setTo(BigInteger value) { - this.to = value; - } - } diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CanonicalizationMethodType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CanonicalizationMethodType.java index 909f3ae..6215e3c 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CanonicalizationMethodType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CanonicalizationMethodType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CheckResultType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CheckResultType.java index 9a66392..d38c2ed 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CheckResultType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CheckResultType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType; * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/> - * <element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}AnyChildrenType" minOccurs="0"/> + * <element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -43,8 +43,8 @@ import javax.xml.bind.annotation.XmlType; "info" }) @XmlSeeAlso({ - ManifestRefsCheckResultType.class, - ReferencesCheckResultType.class + ReferencesCheckResultType.class, + ManifestRefsCheckResultType.class }) public class CheckResultType { diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentBaseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentBaseType.java index 35de827..dd1469c 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentBaseType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentBaseType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -27,6 +27,7 @@ import javax.xml.bind.annotation.XmlType; * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <choice minOccurs="0"> * <element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/> + * <element name="XMLContent" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLContentType"/> * <element name="LocRefContent" type="{http://www.w3.org/2001/XMLSchema}anyURI"/> * </choice> * </restriction> @@ -39,6 +40,7 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ContentBaseType", propOrder = { "base64Content", + "xmlContent", "locRefContent" }) @XmlSeeAlso({ @@ -49,6 +51,8 @@ public class ContentBaseType { @XmlElement(name = "Base64Content") protected byte[] base64Content; + @XmlElement(name = "XMLContent") + protected XMLContentType xmlContent; @XmlElement(name = "LocRefContent") @XmlSchemaType(name = "anyURI") protected String locRefContent; @@ -75,6 +79,30 @@ public class ContentBaseType { this.base64Content = value; } + /** + * Gets the value of the xmlContent property. + * + * @return + * possible object is + * {@link XMLContentType } + * + */ + public XMLContentType getXMLContent() { + return xmlContent; + } + + /** + * Sets the value of the xmlContent property. + * + * @param value + * allowed object is + * {@link XMLContentType } + * + */ + public void setXMLContent(XMLContentType value) { + this.xmlContent = value; + } + /** * Gets the value of the locRefContent property. * diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentExLocRefBaseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentExLocRefBaseType.java index c14ebec..0f29db0 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentExLocRefBaseType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentExLocRefBaseType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -22,9 +22,10 @@ import javax.xml.bind.annotation.XmlType; *
  * <complexType name="ContentExLocRefBaseType">
  *   <complexContent>
- *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentBaseType">
+ *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentBaseType">
  *       <choice minOccurs="0">
  *         <element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ *         <element name="XMLContent" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLContentType"/>
  *       </choice>
  *     </restriction>
  *   </complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentOptionalRefType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentOptionalRefType.java
index b6d9109..49dfb3d 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentOptionalRefType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentOptionalRefType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -24,7 +24,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="ContentOptionalRefType">
  *   <complexContent>
- *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentBaseType">
+ *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentBaseType">
  *       <attribute name="Reference" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
  *     </extension>
  *   </complexContent>
@@ -36,9 +36,9 @@ import javax.xml.bind.annotation.XmlType;
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "ContentOptionalRefType")
 @XmlSeeAlso({
-    ContentRequiredRefType.class,
     CMSContentBaseType.class,
-    at.gv.egiz.moasig.DataObjectInfoType.DataObject.class
+    at.gv.egiz.moasig.DataObjectInfoType.DataObject.class,
+    ContentRequiredRefType.class
 })
 public class ContentOptionalRefType
     extends ContentBaseType
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentRequiredRefType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentRequiredRefType.java
index 933c352..e4757fd 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentRequiredRefType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ContentRequiredRefType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -21,9 +21,10 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="ContentRequiredRefType">
  *   <complexContent>
- *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentOptionalRefType">
+ *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType">
  *       <choice minOccurs="0">
  *         <element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ *         <element name="XMLContent" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLContentType"/>
  *         <element name="LocRefContent" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
  *       </choice>
  *       <attribute name="Reference" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureRequest.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureRequest.java
index 129cc35..c7ce333 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureRequest.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureRequest.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -22,7 +22,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType>
  *   <complexContent>
- *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}CreateCMSSignatureRequestType">
+ *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateCMSSignatureRequestType">
  *     </extension>
  *   </complexContent>
  * </complexType>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureRequestType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureRequestType.java
index 088dd74..6839d44 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureRequestType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureRequestType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType;
  *   <complexContent>
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <sequence>
- *         <element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}KeyIdentifierType"/>
+ *         <element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}KeyIdentifierType"/>
  *         <element name="SingleSignatureInfo" maxOccurs="unbounded">
  *           <complexType>
  *             <complexContent>
@@ -37,7 +37,7 @@ import javax.xml.bind.annotation.XmlType;
  *                   <element name="DataObjectInfo">
  *                     <complexType>
  *                       <complexContent>
- *                         <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}CMSDataObjectInfoType">
+ *                         <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectInfoType">
  *                         </extension>
  *                       </complexContent>
  *                     </complexType>
@@ -138,7 +138,7 @@ public class CreateCMSSignatureRequestType {
      *         <element name="DataObjectInfo">
      *           <complexType>
      *             <complexContent>
-     *               <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}CMSDataObjectInfoType">
+     *               <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectInfoType">
      *               </extension>
      *             </complexContent>
      *           </complexType>
@@ -224,7 +224,7 @@ public class CreateCMSSignatureRequestType {
          * 
          * <complexType>
          *   <complexContent>
-         *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}CMSDataObjectInfoType">
+         *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectInfoType">
          *     </extension>
          *   </complexContent>
          * </complexType>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureResponseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureResponseType.java
index 7423e89..dc693bb 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureResponseType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateCMSSignatureResponseType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType;
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <choice maxOccurs="unbounded">
  *         <element name="CMSSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
- *         <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}ErrorResponse"/>
+ *         <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}ErrorResponse"/>
  *       </choice>
  *     </restriction>
  *   </complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureRequest.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureRequest.java
index c66580d..4e50dd3 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureRequest.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureRequest.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2015.12.09 at 08:47:56 AM CET 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -22,7 +22,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType>
  *   <complexContent>
- *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}CreatePDFSignatureRequestType">
+ *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreatePDFSignatureRequestType">
  *     </extension>
  *   </complexContent>
  * </complexType>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureRequestType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureRequestType.java
index b6b4b2c..bfa050f 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureRequestType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureRequestType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2015.12.09 at 08:47:56 AM CET 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -27,7 +27,7 @@ import javax.xml.bind.annotation.XmlType;
  *   <complexContent>
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <sequence>
- *         <element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}KeyIdentifierType"/>
+ *         <element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}KeyIdentifierType"/>
  *         <element name="SingleSignatureInfo" maxOccurs="unbounded">
  *           <complexType>
  *             <complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureResponseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureResponseType.java
index 5bd70ac..c0ed6a7 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureResponseType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreatePDFSignatureResponseType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2015.12.09 at 08:47:56 AM CET 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -26,7 +26,7 @@ import javax.xml.bind.annotation.XmlType;
  *   <complexContent>
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <sequence>
- *         <element name="PDFSignature" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}PDFSignedRepsonse" maxOccurs="unbounded"/>
+ *         <element name="PDFSignature" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}PDFSignedRepsonse" maxOccurs="unbounded"/>
  *       </sequence>
  *     </restriction>
  *   </complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateSignatureEnvironmentProfile.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateSignatureEnvironmentProfile.java
index 030a112..7d88143 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateSignatureEnvironmentProfile.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateSignatureEnvironmentProfile.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -27,8 +27,8 @@ import javax.xml.bind.annotation.XmlType;
  *   <complexContent>
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <sequence>
- *         <element name="CreateSignatureLocation" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}CreateSignatureLocationType"/>
- *         <element name="Supplement" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}XMLDataObjectAssociationType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="CreateSignatureLocation" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureLocationType"/>
+ *         <element name="Supplement" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}XMLDataObjectAssociationType" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </restriction>
  *   </complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateSignatureLocationType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateSignatureLocationType.java
index 8c60d7a..fa1a38b 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateSignatureLocationType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateSignatureLocationType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateTransformsInfoProfile.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateTransformsInfoProfile.java
index e99caca..d75c0dc 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateTransformsInfoProfile.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateTransformsInfoProfile.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -27,8 +27,8 @@ import javax.xml.bind.annotation.XmlType;
  *   <complexContent>
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <sequence>
- *         <element name="CreateTransformsInfo" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}TransformsInfoType"/>
- *         <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}Supplement" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="CreateTransformsInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}TransformsInfoType"/>
+ *         <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}Supplement" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </restriction>
  *   </complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureRequest.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureRequest.java
index c141926..2cb4b17 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureRequest.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureRequest.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -22,7 +22,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType>
  *   <complexContent>
- *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}CreateXMLSignatureRequestType">
+ *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateXMLSignatureRequestType">
  *     </extension>
  *   </complexContent>
  * </complexType>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureRequestType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureRequestType.java
index d5d131e..ffe6afe 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureRequestType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureRequestType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -30,7 +30,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  *   <complexContent>
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <sequence>
- *         <element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}KeyIdentifierType"/>
+ *         <element name="KeyIdentifier" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}KeyIdentifierType"/>
  *         <element name="SingleSignatureInfo" maxOccurs="unbounded">
  *           <complexType>
  *             <complexContent>
@@ -39,7 +39,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  *                   <element name="DataObjectInfo" maxOccurs="unbounded">
  *                     <complexType>
  *                       <complexContent>
- *                         <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}DataObjectInfoType">
+ *                         <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}DataObjectInfoType">
  *                           <attribute name="ChildOfManifest" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
  *                         </extension>
  *                       </complexContent>
@@ -50,10 +50,10 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  *                       <complexContent>
  *                         <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *                           <sequence>
- *                             <element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentOptionalRefType"/>
+ *                             <element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/>
  *                             <choice>
- *                               <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}CreateSignatureEnvironmentProfile"/>
- *                               <element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ProfileIdentifierType"/>
+ *                               <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureEnvironmentProfile"/>
+ *                               <element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/>
  *                             </choice>
  *                           </sequence>
  *                         </restriction>
@@ -156,7 +156,7 @@ public class CreateXMLSignatureRequestType {
      *         <element name="DataObjectInfo" maxOccurs="unbounded">
      *           <complexType>
      *             <complexContent>
-     *               <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}DataObjectInfoType">
+     *               <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}DataObjectInfoType">
      *                 <attribute name="ChildOfManifest" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
      *               </extension>
      *             </complexContent>
@@ -167,10 +167,10 @@ public class CreateXMLSignatureRequestType {
      *             <complexContent>
      *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
      *                 <sequence>
-     *                   <element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentOptionalRefType"/>
+     *                   <element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/>
      *                   <choice>
-     *                     <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}CreateSignatureEnvironmentProfile"/>
-     *                     <element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ProfileIdentifierType"/>
+     *                     <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureEnvironmentProfile"/>
+     *                     <element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/>
      *                   </choice>
      *                 </sequence>
      *               </restriction>
@@ -292,10 +292,10 @@ public class CreateXMLSignatureRequestType {
          *   <complexContent>
          *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
          *       <sequence>
-         *         <element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentOptionalRefType"/>
+         *         <element name="CreateSignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/>
          *         <choice>
-         *           <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}CreateSignatureEnvironmentProfile"/>
-         *           <element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ProfileIdentifierType"/>
+         *           <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateSignatureEnvironmentProfile"/>
+         *           <element name="CreateSignatureEnvironmentProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/>
          *         </choice>
          *       </sequence>
          *     </restriction>
@@ -404,7 +404,7 @@ public class CreateXMLSignatureRequestType {
          * 
          * <complexType>
          *   <complexContent>
-         *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}DataObjectInfoType">
+         *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}DataObjectInfoType">
          *       <attribute name="ChildOfManifest" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
          *     </extension>
          *   </complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureResponseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureResponseType.java
index da52b65..0949d87 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureResponseType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/CreateXMLSignatureResponseType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -12,9 +12,11 @@ import java.util.ArrayList;
 import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyElement;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElements;
 import javax.xml.bind.annotation.XmlType;
+import org.w3c.dom.Element;
 
 
 /**
@@ -27,8 +29,18 @@ import javax.xml.bind.annotation.XmlType;
  *   <complexContent>
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <choice maxOccurs="unbounded">
- *         <element name="SignatureEnvironment" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
- *         <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}ErrorResponse"/>
+ *         <element name="SignatureEnvironment">
+ *           <complexType>
+ *             <complexContent>
+ *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 <sequence>
+ *                   <any processContents='lax'/>
+ *                 </sequence>
+ *               </restriction>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
+ *         <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}ErrorResponse"/>
  *       </choice>
  *     </restriction>
  *   </complexContent>
@@ -44,7 +56,7 @@ import javax.xml.bind.annotation.XmlType;
 public class CreateXMLSignatureResponseType {
 
     @XmlElements({
-        @XmlElement(name = "SignatureEnvironment", type = byte[].class),
+        @XmlElement(name = "SignatureEnvironment", type = CreateXMLSignatureResponseType.SignatureEnvironment.class),
         @XmlElement(name = "ErrorResponse", type = ErrorResponseType.class)
     })
     protected List signatureEnvironmentOrErrorResponse;
@@ -67,7 +79,8 @@ public class CreateXMLSignatureResponseType {
      * 
      * 

* Objects of the following type(s) are allowed in the list - * byte[] {@link ErrorResponseType } + * {@link CreateXMLSignatureResponseType.SignatureEnvironment } + * {@link ErrorResponseType } * * */ @@ -78,4 +91,61 @@ public class CreateXMLSignatureResponseType { return this.signatureEnvironmentOrErrorResponse; } + + /** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       <sequence>
+     *         <any processContents='lax'/>
+     *       </sequence>
+     *     </restriction>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "any" + }) + public static class SignatureEnvironment { + + @XmlAnyElement(lax = true) + protected Object any; + + /** + * Gets the value of the any property. + * + * @return + * possible object is + * {@link Object } + * {@link Element } + * + */ + public Object getAny() { + return any; + } + + /** + * Sets the value of the any property. + * + * @param value + * allowed object is + * {@link Object } + * {@link Element } + * + */ + public void setAny(Object value) { + this.any = value; + } + + } + } diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DSAKeyValueType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DSAKeyValueType.java index e0586c9..8ede63c 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DSAKeyValueType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DSAKeyValueType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DataObjectInfoType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DataObjectInfoType.java index 16fc1e4..f2b6f0d 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DataObjectInfoType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DataObjectInfoType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -31,14 +31,14 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; * <element name="DataObject"> * <complexType> * <complexContent> - * <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentOptionalRefType"> + * <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"> * </extension> * </complexContent> * </complexType> * </element> * <choice> - * <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}CreateTransformsInfoProfile"/> - * <element name="CreateTransformsInfoProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ProfileIdentifierType"/> + * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}CreateTransformsInfoProfile"/> + * <element name="CreateTransformsInfoProfileID" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ProfileIdentifierType"/> * </choice> * </sequence> * <attribute name="Structure" use="required"> @@ -182,7 +182,7 @@ public class DataObjectInfoType { *
      * <complexType>
      *   <complexContent>
-     *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentOptionalRefType">
+     *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType">
      *     </extension>
      *   </complexContent>
      * </complexType>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DigestMethodType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DigestMethodType.java
index 647ac8f..ebea4f0 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DigestMethodType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/DigestMethodType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -71,9 +71,9 @@ public class DigestMethodType {
      * 
      * 

* Objects of the following type(s) are allowed in the list - * {@link Element } - * {@link Object } * {@link String } + * {@link Object } + * {@link Element } * * */ diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ErrorResponseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ErrorResponseType.java index 48728a7..e9f52c0 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ErrorResponseType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ErrorResponseType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ExtendedCertificateCheckResultType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ExtendedCertificateCheckResultType.java index 7f5929b..a4d9383 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ExtendedCertificateCheckResultType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ExtendedCertificateCheckResultType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -24,8 +24,8 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="Major" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}IndicationResultType"/> - * <element name="Minor" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}IndicationResultType" minOccurs="0"/> + * <element name="Major" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}IndicationResultType"/> + * <element name="Minor" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}IndicationResultType" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/FinalDataMetaInfoType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/FinalDataMetaInfoType.java index d353f07..412b0b0 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/FinalDataMetaInfoType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/FinalDataMetaInfoType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="FinalDataMetaInfoType">
  *   <complexContent>
- *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}MetaInfoType">
+ *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType">
  *       <sequence>
  *         <element name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/>
  *       </sequence>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/FormResultType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/FormResultType.java
index 8661a78..dc0ed43 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/FormResultType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/FormResultType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/IndicationResultType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/IndicationResultType.java
index d297898..0faa9e2 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/IndicationResultType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/IndicationResultType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/InputDataType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/InputDataType.java
index 55daace..f65fd08 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/InputDataType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/InputDataType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -26,7 +26,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  * 
  * <complexType name="InputDataType">
  *   <complexContent>
- *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentExLocRefBaseType">
+ *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentExLocRefBaseType">
  *       <attribute name="PartOf" default="SignedInfo">
  *         <simpleType>
  *           <restriction base="{http://www.w3.org/2001/XMLSchema}token">
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyInfoType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyInfoType.java
index 3d0a2db..1477677 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyInfoType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyInfoType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -60,13 +60,13 @@ import org.w3c.dom.Element;
 public class KeyInfoType {
 
     @XmlElementRefs({
-        @XmlElementRef(name = "KeyName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
-        @XmlElementRef(name = "MgmtData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
-        @XmlElementRef(name = "SPKIData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
         @XmlElementRef(name = "PGPData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
         @XmlElementRef(name = "KeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+        @XmlElementRef(name = "MgmtData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
         @XmlElementRef(name = "X509Data", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
-        @XmlElementRef(name = "RetrievalMethod", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
+        @XmlElementRef(name = "SPKIData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+        @XmlElementRef(name = "RetrievalMethod", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+        @XmlElementRef(name = "KeyName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
     })
     @XmlMixed
     @XmlAnyElement(lax = true)
@@ -96,15 +96,15 @@ public class KeyInfoType {
      * 

* Objects of the following type(s) are allowed in the list * {@link Object } - * {@link JAXBElement }{@code <}{@link String }{@code >} - * {@link JAXBElement }{@code <}{@link String }{@code >} - * {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >} * {@link JAXBElement }{@code <}{@link PGPDataType }{@code >} - * {@link JAXBElement }{@code <}{@link KeyValueType }{@code >} * {@link String } + * {@link JAXBElement }{@code <}{@link KeyValueType }{@code >} + * {@link JAXBElement }{@code <}{@link String }{@code >} + * {@link JAXBElement }{@code <}{@link X509DataType }{@code >} + * {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >} * {@link Element } * {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >} - * {@link JAXBElement }{@code <}{@link X509DataType }{@code >} + * {@link JAXBElement }{@code <}{@link String }{@code >} * * */ diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyStorageType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyStorageType.java index 5bab822..794177d 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyStorageType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyStorageType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyValueType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyValueType.java index f2368dd..0816a93 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyValueType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/KeyValueType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -74,10 +74,10 @@ public class KeyValueType { * *

* Objects of the following type(s) are allowed in the list - * {@link Object } * {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >} - * {@link Element } * {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >} + * {@link Object } + * {@link Element } * {@link String } * * diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestRefsCheckResultInfoType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestRefsCheckResultInfoType.java index 3ecbcee..33f8591 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestRefsCheckResultInfoType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestRefsCheckResultInfoType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -21,11 +21,11 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="ManifestRefsCheckResultInfoType">
  *   <complexContent>
- *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20151109#}AnyChildrenType">
+ *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType">
  *       <sequence>
  *         <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
- *         <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}FailedReference" maxOccurs="unbounded" minOccurs="0"/>
- *         <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}ReferringSigReference"/>
+ *         <element name="FailedReference" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ReferringSigReference" type="{http://www.w3.org/2001/XMLSchema}positiveInteger"/>
  *       </sequence>
  *     </restriction>
  *   </complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestRefsCheckResultType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestRefsCheckResultType.java
index 98b0b63..36f46f0 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestRefsCheckResultType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestRefsCheckResultType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -21,10 +21,10 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="ManifestRefsCheckResultType">
  *   <complexContent>
- *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20151109#}CheckResultType">
+ *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType">
  *       <sequence>
  *         <element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
- *         <element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ManifestRefsCheckResultInfoType"/>
+ *         <element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ManifestRefsCheckResultInfoType"/>
  *       </sequence>
  *     </restriction>
  *   </complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestType.java
index 1ebead3..3158144 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ManifestType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/MetaInfoType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/MetaInfoType.java
index 75b927c..9e8a00c 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/MetaInfoType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/MetaInfoType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -31,7 +31,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  *   <complexContent>
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <sequence>
- *         <element name="MimeType" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}MimeTypeType"/>
+ *         <element name="MimeType" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MimeTypeType"/>
  *         <element name="Description" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/>
  *         <any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ObjectFactory.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ObjectFactory.java
index a0436fe..0de1aad 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ObjectFactory.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ObjectFactory.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -34,61 +34,58 @@ import javax.xml.namespace.QName;
 @XmlRegistry
 public class ObjectFactory {
 
-    private final static QName _PGPData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPData");
-    private final static QName _Signature_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Signature");
-    private final static QName _DSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DSAKeyValue");
+    private final static QName _IssuingCountry_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "IssuingCountry");
     private final static QName _SPKIData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKIData");
-    private final static QName _ErrorResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "ErrorResponse");
-    private final static QName _SignedInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignedInfo");
-    private final static QName _RetrievalMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RetrievalMethod");
-    private final static QName _VerifyXMLSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "VerifyXMLSignatureResponse");
-    private final static QName _CanonicalizationMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "CanonicalizationMethod");
-    private final static QName _Object_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Object");
-    private final static QName _VerifyPDFSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "VerifyPDFSignatureResponse");
-    private final static QName _FailedReference_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "FailedReference");
-    private final static QName _Supplement_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "Supplement");
-    private final static QName _SignatureProperty_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperty");
-    private final static QName _Transforms_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transforms");
-    private final static QName _SignatureValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureValue");
-    private final static QName _Manifest_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Manifest");
-    private final static QName _Transform_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transform");
-    private final static QName _X509Data_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Data");
-    private final static QName _IssuingCountry_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "IssuingCountry");
-    private final static QName _CreateXMLSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "CreateXMLSignatureResponse");
-    private final static QName _SignatureMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureMethod");
     private final static QName _KeyInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyInfo");
-    private final static QName _SupplementProfile_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "SupplementProfile");
-    private final static QName _CreateCMSSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "CreateCMSSignatureResponse");
-    private final static QName _VerifyCMSSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "VerifyCMSSignatureResponse");
+    private final static QName _PublicAuthority_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "PublicAuthority");
+    private final static QName _SignatureValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureValue");
+    private final static QName _VerifyXMLSignatureRequest_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyXMLSignatureRequest");
+    private final static QName _VerifyPDFSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyPDFSignatureResponse");
+    private final static QName _KeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyValue");
+    private final static QName _Transforms_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transforms");
+    private final static QName _VerifyCMSSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyCMSSignatureResponse");
     private final static QName _DigestMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestMethod");
-    private final static QName _DigestValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestValue");
+    private final static QName _CreateCMSSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CreateCMSSignatureResponse");
+    private final static QName _X509Data_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Data");
+    private final static QName _SignatureProperty_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperty");
+    private final static QName _KeyName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyName");
+    private final static QName _RSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RSAKeyValue");
+    private final static QName _Signature_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Signature");
+    private final static QName _Supplement_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "Supplement");
     private final static QName _MgmtData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "MgmtData");
+    private final static QName _SignatureMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureMethod");
+    private final static QName _Object_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Object");
     private final static QName _SignatureProperties_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignatureProperties");
-    private final static QName _KeyName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyName");
-    private final static QName _KeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "KeyValue");
+    private final static QName _VerifyXMLSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyXMLSignatureResponse");
+    private final static QName _Transform_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Transform");
+    private final static QName _ErrorResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ErrorResponse");
+    private final static QName _PGPData_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPData");
     private final static QName _Reference_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Reference");
-    private final static QName _PublicAuthority_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "PublicAuthority");
-    private final static QName _MoaTransform_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "MoaTransform");
-    private final static QName _ReferringSigReference_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "ReferringSigReference");
-    private final static QName _RSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RSAKeyValue");
-    private final static QName _MoaTransforms_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "MoaTransforms");
+    private final static QName _RetrievalMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "RetrievalMethod");
+    private final static QName _DSAKeyValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DSAKeyValue");
+    private final static QName _DigestValue_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "DigestValue");
+    private final static QName _CreateXMLSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CreateXMLSignatureResponse");
+    private final static QName _CanonicalizationMethod_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "CanonicalizationMethod");
+    private final static QName _CreatePDFSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CreatePDFSignatureResponse");
+    private final static QName _SignedInfo_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SignedInfo");
+    private final static QName _VerifyASICSignatureResponse_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyASICSignatureResponse");
+    private final static QName _SupplementProfile_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SupplementProfile");
+    private final static QName _Manifest_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "Manifest");
+    private final static QName _TransformTypeXPath_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "XPath");
     private final static QName _SPKIDataTypeSPKISexp_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "SPKISexp");
     private final static QName _X509DataTypeX509IssuerSerial_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509IssuerSerial");
-    private final static QName _X509DataTypeX509Certificate_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Certificate");
-    private final static QName _X509DataTypeX509SKI_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SKI");
-    private final static QName _X509DataTypeX509SubjectName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SubjectName");
     private final static QName _X509DataTypeX509CRL_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509CRL");
+    private final static QName _X509DataTypeX509SubjectName_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SubjectName");
+    private final static QName _X509DataTypeX509SKI_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509SKI");
+    private final static QName _X509DataTypeX509Certificate_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "X509Certificate");
     private final static QName _PGPDataTypePGPKeyID_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyID");
     private final static QName _PGPDataTypePGPKeyPacket_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "PGPKeyPacket");
-    private final static QName _TransformTypeXPath_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "XPath");
     private final static QName _SignatureMethodTypeHMACOutputLength_QNAME = new QName("http://www.w3.org/2000/09/xmldsig#", "HMACOutputLength");
-    private final static QName _MoaTransformTypeTransformData_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "transformData");
-    private final static QName _MoaTransformTypeXPath_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "XPath");
-    private final static QName _VerifyCMSSignatureResponseTypeSignatureCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "SignatureCheck");
-    private final static QName _VerifyCMSSignatureResponseTypeCertificateCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "CertificateCheck");
-    private final static QName _VerifyCMSSignatureResponseTypeSignerInfo_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "SignerInfo");
-    private final static QName _VerifyCMSSignatureResponseTypeExtendedCertificateCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "ExtendedCertificateCheck");
-    private final static QName _VerifyCMSSignatureResponseTypeFormCheckResult_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20151109#", "FormCheckResult");
+    private final static QName _VerifyCMSSignatureResponseTypeExtendedCertificateCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ExtendedCertificateCheck");
+    private final static QName _VerifyCMSSignatureResponseTypeFormCheckResult_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "FormCheckResult");
+    private final static QName _VerifyCMSSignatureResponseTypeSignatureCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignatureCheck");
+    private final static QName _VerifyCMSSignatureResponseTypeCertificateCheck_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CertificateCheck");
+    private final static QName _VerifyCMSSignatureResponseTypeSignerInfo_QNAME = new QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignerInfo");
 
     /**
      * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.gv.egiz.moasig
@@ -106,19 +103,19 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link CreateCMSSignatureRequestType }
+     * Create an instance of {@link CreatePDFSignatureRequestType }
      * 
      */
-    public CreateCMSSignatureRequestType createCreateCMSSignatureRequestType() {
-        return new CreateCMSSignatureRequestType();
+    public CreatePDFSignatureRequestType createCreatePDFSignatureRequestType() {
+        return new CreatePDFSignatureRequestType();
     }
 
     /**
-     * Create an instance of {@link VerifyXMLSignatureRequestType }
+     * Create an instance of {@link CreateCMSSignatureRequestType }
      * 
      */
-    public VerifyXMLSignatureRequestType createVerifyXMLSignatureRequestType() {
-        return new VerifyXMLSignatureRequestType();
+    public CreateCMSSignatureRequestType createCreateCMSSignatureRequestType() {
+        return new CreateCMSSignatureRequestType();
     }
 
     /**
@@ -130,91 +127,75 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link CreateCMSSignatureRequestType.SingleSignatureInfo }
-     * 
-     */
-    public CreateCMSSignatureRequestType.SingleSignatureInfo createCreateCMSSignatureRequestTypeSingleSignatureInfo() {
-        return new CreateCMSSignatureRequestType.SingleSignatureInfo();
-    }
-
-    /**
-     * Create an instance of {@link TransformParameterType }
-     * 
-     */
-    public TransformParameterType createTransformParameterType() {
-        return new TransformParameterType();
-    }
-
-    /**
-     * Create an instance of {@link CreateXMLSignatureRequestType.SingleSignatureInfo }
+     * Create an instance of {@link CMSDataObjectInfoType }
      * 
      */
-    public CreateXMLSignatureRequestType.SingleSignatureInfo createCreateXMLSignatureRequestTypeSingleSignatureInfo() {
-        return new CreateXMLSignatureRequestType.SingleSignatureInfo();
+    public CMSDataObjectInfoType createCMSDataObjectInfoType() {
+        return new CMSDataObjectInfoType();
     }
 
     /**
-     * Create an instance of {@link VerifyXMLSignatureResponseType }
+     * Create an instance of {@link VerifyXMLSignatureRequestType }
      * 
      */
-    public VerifyXMLSignatureResponseType createVerifyXMLSignatureResponseType() {
-        return new VerifyXMLSignatureResponseType();
+    public VerifyXMLSignatureRequestType createVerifyXMLSignatureRequestType() {
+        return new VerifyXMLSignatureRequestType();
     }
 
     /**
-     * Create an instance of {@link VerifyPDFSignatureResponseType }
+     * Create an instance of {@link CreateCMSSignatureRequestType.SingleSignatureInfo }
      * 
      */
-    public VerifyPDFSignatureResponseType createVerifyPDFSignatureResponseType() {
-        return new VerifyPDFSignatureResponseType();
+    public CreateCMSSignatureRequestType.SingleSignatureInfo createCreateCMSSignatureRequestTypeSingleSignatureInfo() {
+        return new CreateCMSSignatureRequestType.SingleSignatureInfo();
     }
 
     /**
-     * Create an instance of {@link PublicAuthorityType }
+     * Create an instance of {@link CreateXMLSignatureRequestType.SingleSignatureInfo }
      * 
      */
-    public PublicAuthorityType createPublicAuthorityType() {
-        return new PublicAuthorityType();
+    public CreateXMLSignatureRequestType.SingleSignatureInfo createCreateXMLSignatureRequestTypeSingleSignatureInfo() {
+        return new CreateXMLSignatureRequestType.SingleSignatureInfo();
     }
 
     /**
-     * Create an instance of {@link VerifyCMSSignatureRequest }
+     * Create an instance of {@link TransformParameterType }
      * 
      */
-    public VerifyCMSSignatureRequest createVerifyCMSSignatureRequest() {
-        return new VerifyCMSSignatureRequest();
+    public TransformParameterType createTransformParameterType() {
+        return new TransformParameterType();
     }
 
     /**
-     * Create an instance of {@link VerifyCMSSignatureRequestType }
+     * Create an instance of {@link CreateXMLSignatureResponseType }
      * 
      */
-    public VerifyCMSSignatureRequestType createVerifyCMSSignatureRequestType() {
-        return new VerifyCMSSignatureRequestType();
+    public CreateXMLSignatureResponseType createCreateXMLSignatureResponseType() {
+        return new CreateXMLSignatureResponseType();
     }
 
     /**
-     * Create an instance of {@link CMSDataObjectOptionalMetaType }
+     * Create an instance of {@link VerifyASICSignatureRequest }
      * 
      */
-    public CMSDataObjectOptionalMetaType createCMSDataObjectOptionalMetaType() {
-        return new CMSDataObjectOptionalMetaType();
+    public VerifyASICSignatureRequest createVerifyASICSignatureRequest() {
+        return new VerifyASICSignatureRequest();
     }
 
     /**
-     * Create an instance of {@link XMLDataObjectAssociationType }
+     * Create an instance of {@link VerifyASICSignatureRequestType }
      * 
      */
-    public XMLDataObjectAssociationType createXMLDataObjectAssociationType() {
-        return new XMLDataObjectAssociationType();
+    public VerifyASICSignatureRequestType createVerifyASICSignatureRequestType() {
+        return new VerifyASICSignatureRequestType();
     }
 
     /**
-     * Create an instance of {@link MoaTransformType }
+     * Create an instance of {@link VerifyASICSignatureResponseType }
      * 
      */
-    public MoaTransformType createMoaTransformType() {
-        return new MoaTransformType();
+    public VerifyASICSignatureResponseType createVerifyASICSignatureResponseType() {
+        return new VerifyASICSignatureResponseType();
     }
 
     /**
@@ -226,27 +207,27 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link MoaTransformsType }
+     * Create an instance of {@link XMLDataObjectAssociationType }
      * 
      */
-    public MoaTransformsType createMoaTransformsType() {
-        return new MoaTransformsType();
+    public XMLDataObjectAssociationType createXMLDataObjectAssociationType() {
+        return new XMLDataObjectAssociationType();
     }
 
     /**
-     * Create an instance of {@link CreateXMLSignatureRequest }
+     * Create an instance of {@link CreateCMSSignatureResponseType }
      * 
      */
-    public CreateXMLSignatureRequest createCreateXMLSignatureRequest() {
-        return new CreateXMLSignatureRequest();
+    public CreateCMSSignatureResponseType createCreateCMSSignatureResponseType() {
+        return new CreateCMSSignatureResponseType();
     }
 
     /**
-     * Create an instance of {@link VerifyTransformsInfoProfile }
+     * Create an instance of {@link CreatePDFSignatureResponseType }
      * 
      */
-    public VerifyTransformsInfoProfile createVerifyTransformsInfoProfile() {
-        return new VerifyTransformsInfoProfile();
+    public CreatePDFSignatureResponseType createCreatePDFSignatureResponseType() {
+        return new CreatePDFSignatureResponseType();
     }
 
     /**
@@ -266,195 +247,187 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link CreateXMLSignatureResponseType }
-     * 
-     */
-    public CreateXMLSignatureResponseType createCreateXMLSignatureResponseType() {
-        return new CreateXMLSignatureResponseType();
-    }
-
-    /**
-     * Create an instance of {@link CreateCMSSignatureRequest }
+     * Create an instance of {@link CreateTransformsInfoProfile }
      * 
      */
-    public CreateCMSSignatureRequest createCreateCMSSignatureRequest() {
-        return new CreateCMSSignatureRequest();
+    public CreateTransformsInfoProfile createCreateTransformsInfoProfile() {
+        return new CreateTransformsInfoProfile();
     }
 
     /**
-     * Create an instance of {@link ErrorResponseType }
+     * Create an instance of {@link TransformsInfoType }
      * 
      */
-    public ErrorResponseType createErrorResponseType() {
-        return new ErrorResponseType();
+    public TransformsInfoType createTransformsInfoType() {
+        return new TransformsInfoType();
     }
 
     /**
-     * Create an instance of {@link VerifyXMLSignatureRequest }
+     * Create an instance of {@link VerifyCMSSignatureRequest }
      * 
      */
-    public VerifyXMLSignatureRequest createVerifyXMLSignatureRequest() {
-        return new VerifyXMLSignatureRequest();
+    public VerifyCMSSignatureRequest createVerifyCMSSignatureRequest() {
+        return new VerifyCMSSignatureRequest();
     }
 
     /**
-     * Create an instance of {@link VerifyXMLSignatureRequestType.VerifySignatureInfo }
+     * Create an instance of {@link VerifyCMSSignatureRequestType }
      * 
      */
-    public VerifyXMLSignatureRequestType.VerifySignatureInfo createVerifyXMLSignatureRequestTypeVerifySignatureInfo() {
-        return new VerifyXMLSignatureRequestType.VerifySignatureInfo();
+    public VerifyCMSSignatureRequestType createVerifyCMSSignatureRequestType() {
+        return new VerifyCMSSignatureRequestType();
     }
 
     /**
-     * Create an instance of {@link VerifyXMLSignatureRequestType.SignatureManifestCheckParams }
+     * Create an instance of {@link CMSDataObjectOptionalMetaType }
      * 
      */
-    public VerifyXMLSignatureRequestType.SignatureManifestCheckParams createVerifyXMLSignatureRequestTypeSignatureManifestCheckParams() {
-        return new VerifyXMLSignatureRequestType.SignatureManifestCheckParams();
+    public CMSDataObjectOptionalMetaType createCMSDataObjectOptionalMetaType() {
+        return new CMSDataObjectOptionalMetaType();
     }
 
     /**
-     * Create an instance of {@link CreateSignatureEnvironmentProfile }
+     * Create an instance of {@link VerifyCMSSignatureResponseType }
      * 
      */
-    public CreateSignatureEnvironmentProfile createCreateSignatureEnvironmentProfile() {
-        return new CreateSignatureEnvironmentProfile();
+    public VerifyCMSSignatureResponseType createVerifyCMSSignatureResponseType() {
+        return new VerifyCMSSignatureResponseType();
     }
 
     /**
-     * Create an instance of {@link CreateSignatureLocationType }
+     * Create an instance of {@link SecureSignatureCreationDevice }
      * 
      */
-    public CreateSignatureLocationType createCreateSignatureLocationType() {
-        return new CreateSignatureLocationType();
+    public SecureSignatureCreationDevice createSecureSignatureCreationDevice() {
+        return new SecureSignatureCreationDevice();
     }
 
     /**
-     * Create an instance of {@link SecureSignatureCreationDevice }
+     * Create an instance of {@link VerifyTransformsInfoProfile }
      * 
      */
-    public SecureSignatureCreationDevice createSecureSignatureCreationDevice() {
-        return new SecureSignatureCreationDevice();
+    public VerifyTransformsInfoProfile createVerifyTransformsInfoProfile() {
+        return new VerifyTransformsInfoProfile();
     }
 
     /**
-     * Create an instance of {@link CreateCMSSignatureResponseType }
+     * Create an instance of {@link TransformsType }
      * 
      */
-    public CreateCMSSignatureResponseType createCreateCMSSignatureResponseType() {
-        return new CreateCMSSignatureResponseType();
+    public TransformsType createTransformsType() {
+        return new TransformsType();
     }
 
     /**
-     * Create an instance of {@link VerifyCMSSignatureResponseType }
+     * Create an instance of {@link ErrorResponseType }
      * 
      */
-    public VerifyCMSSignatureResponseType createVerifyCMSSignatureResponseType() {
-        return new VerifyCMSSignatureResponseType();
+    public ErrorResponseType createErrorResponseType() {
+        return new ErrorResponseType();
     }
 
     /**
-     * Create an instance of {@link CreateTransformsInfoProfile }
+     * Create an instance of {@link VerifyPDFSignatureResponseType }
      * 
      */
-    public CreateTransformsInfoProfile createCreateTransformsInfoProfile() {
-        return new CreateTransformsInfoProfile();
+    public VerifyPDFSignatureResponseType createVerifyPDFSignatureResponseType() {
+        return new VerifyPDFSignatureResponseType();
     }
 
     /**
-     * Create an instance of {@link TransformsInfoType }
+     * Create an instance of {@link VerifyXMLSignatureResponseType }
      * 
      */
-    public TransformsInfoType createTransformsInfoType() {
-        return new TransformsInfoType();
+    public VerifyXMLSignatureResponseType createVerifyXMLSignatureResponseType() {
+        return new VerifyXMLSignatureResponseType();
     }
 
     /**
-     * Create an instance of {@link ManifestRefsCheckResultType }
+     * Create an instance of {@link CreateSignatureEnvironmentProfile }
      * 
      */
-    public ManifestRefsCheckResultType createManifestRefsCheckResultType() {
-        return new ManifestRefsCheckResultType();
+    public CreateSignatureEnvironmentProfile createCreateSignatureEnvironmentProfile() {
+        return new CreateSignatureEnvironmentProfile();
     }
 
     /**
-     * Create an instance of {@link CheckResultType }
+     * Create an instance of {@link CreateSignatureLocationType }
      * 
      */
-    public CheckResultType createCheckResultType() {
-        return new CheckResultType();
+    public CreateSignatureLocationType createCreateSignatureLocationType() {
+        return new CreateSignatureLocationType();
     }
 
     /**
-     * Create an instance of {@link IndicationResultType }
+     * Create an instance of {@link CreateXMLSignatureRequest }
      * 
      */
-    public IndicationResultType createIndicationResultType() {
-        return new IndicationResultType();
+    public CreateXMLSignatureRequest createCreateXMLSignatureRequest() {
+        return new CreateXMLSignatureRequest();
     }
 
     /**
-     * Create an instance of {@link ExtendedCertificateCheckResultType }
+     * Create an instance of {@link CreatePDFSignatureRequest }
      * 
      */
-    public ExtendedCertificateCheckResultType createExtendedCertificateCheckResultType() {
-        return new ExtendedCertificateCheckResultType();
+    public CreatePDFSignatureRequest createCreatePDFSignatureRequest() {
+        return new CreatePDFSignatureRequest();
     }
 
     /**
-     * Create an instance of {@link ContentExLocRefBaseType }
+     * Create an instance of {@link CreatePDFSignatureRequestType.SingleSignatureInfo }
      * 
      */
-    public ContentExLocRefBaseType createContentExLocRefBaseType() {
-        return new ContentExLocRefBaseType();
+    public CreatePDFSignatureRequestType.SingleSignatureInfo createCreatePDFSignatureRequestTypeSingleSignatureInfo() {
+        return new CreatePDFSignatureRequestType.SingleSignatureInfo();
     }
 
     /**
-     * Create an instance of {@link VerifyTransformsDataType }
+     * Create an instance of {@link CreateCMSSignatureRequest }
      * 
      */
-    public VerifyTransformsDataType createVerifyTransformsDataType() {
-        return new VerifyTransformsDataType();
+    public CreateCMSSignatureRequest createCreateCMSSignatureRequest() {
+        return new CreateCMSSignatureRequest();
     }
 
     /**
-     * Create an instance of {@link ContentRequiredRefType }
+     * Create an instance of {@link PublicAuthorityType }
      * 
      */
-    public ContentRequiredRefType createContentRequiredRefType() {
-        return new ContentRequiredRefType();
+    public PublicAuthorityType createPublicAuthorityType() {
+        return new PublicAuthorityType();
     }
 
     /**
-     * Create an instance of {@link NamespaceDeclarationType }
+     * Create an instance of {@link ManifestRefsCheckResultInfoType }
      * 
      */
-    public NamespaceDeclarationType createNamespaceDeclarationType() {
-        return new NamespaceDeclarationType();
+    public ManifestRefsCheckResultInfoType createManifestRefsCheckResultInfoType() {
+        return new ManifestRefsCheckResultInfoType();
     }
 
     /**
-     * Create an instance of {@link CMSContentBaseType }
+     * Create an instance of {@link VerifyTransformsDataType }
      * 
      */
-    public CMSContentBaseType createCMSContentBaseType() {
-        return new CMSContentBaseType();
+    public VerifyTransformsDataType createVerifyTransformsDataType() {
+        return new VerifyTransformsDataType();
     }
 
     /**
-     * Create an instance of {@link FormResultType }
+     * Create an instance of {@link MetaInfoType }
      * 
      */
-    public FormResultType createFormResultType() {
-        return new FormResultType();
+    public MetaInfoType createMetaInfoType() {
+        return new MetaInfoType();
     }
 
     /**
-     * Create an instance of {@link XMLSignatureLocationType }
+     * Create an instance of {@link PDFSignedRepsonse }
      * 
      */
-    public XMLSignatureLocationType createXMLSignatureLocationType() {
-        return new XMLSignatureLocationType();
+    public PDFSignedRepsonse createPDFSignedRepsonse() {
+        return new PDFSignedRepsonse();
     }
 
     /**
@@ -466,179 +439,195 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link ContentBaseType }
+     * Create an instance of {@link ContentExLocRefBaseType }
      * 
      */
-    public ContentBaseType createContentBaseType() {
-        return new ContentBaseType();
+    public ContentExLocRefBaseType createContentExLocRefBaseType() {
+        return new ContentExLocRefBaseType();
     }
 
     /**
-     * Create an instance of {@link FinalDataMetaInfoType }
+     * Create an instance of {@link AnyChildrenType }
      * 
      */
-    public FinalDataMetaInfoType createFinalDataMetaInfoType() {
-        return new FinalDataMetaInfoType();
+    public AnyChildrenType createAnyChildrenType() {
+        return new AnyChildrenType();
     }
 
     /**
-     * Create an instance of {@link PDFSignatureResultType }
+     * Create an instance of {@link CMSContentBaseType }
      * 
      */
-    public PDFSignatureResultType createPDFSignatureResultType() {
-        return new PDFSignatureResultType();
+    public CMSContentBaseType createCMSContentBaseType() {
+        return new CMSContentBaseType();
     }
 
     /**
-     * Create an instance of {@link PDFSignedRepsonse }
+     * Create an instance of {@link ReferencesCheckResultType }
      * 
      */
-    public PDFSignedRepsonse createPDFSignedRepsonse() {
-        return new PDFSignedRepsonse();
+    public ReferencesCheckResultType createReferencesCheckResultType() {
+        return new ReferencesCheckResultType();
     }
 
     /**
-     * Create an instance of {@link ReferencesCheckResultInfoType }
+     * Create an instance of {@link ManifestRefsCheckResultType }
      * 
      */
-    public ReferencesCheckResultInfoType createReferencesCheckResultInfoType() {
-        return new ReferencesCheckResultInfoType();
+    public ManifestRefsCheckResultType createManifestRefsCheckResultType() {
+        return new ManifestRefsCheckResultType();
     }
 
     /**
-     * Create an instance of {@link CMSDataObjectRequiredMetaType }
+     * Create an instance of {@link PDFSignatureResultType }
      * 
      */
-    public CMSDataObjectRequiredMetaType createCMSDataObjectRequiredMetaType() {
-        return new CMSDataObjectRequiredMetaType();
+    public PDFSignatureResultType createPDFSignatureResultType() {
+        return new PDFSignatureResultType();
     }
 
     /**
-     * Create an instance of {@link MetaInfoType }
+     * Create an instance of {@link CheckResultType }
      * 
      */
-    public MetaInfoType createMetaInfoType() {
-        return new MetaInfoType();
+    public CheckResultType createCheckResultType() {
+        return new CheckResultType();
     }
 
     /**
-     * Create an instance of {@link ReferencesCheckResultType }
+     * Create an instance of {@link IndicationResultType }
      * 
      */
-    public ReferencesCheckResultType createReferencesCheckResultType() {
-        return new ReferencesCheckResultType();
+    public IndicationResultType createIndicationResultType() {
+        return new IndicationResultType();
     }
 
     /**
-     * Create an instance of {@link ManifestRefsCheckResultInfoType }
+     * Create an instance of {@link XMLContentType }
      * 
      */
-    public ManifestRefsCheckResultInfoType createManifestRefsCheckResultInfoType() {
-        return new ManifestRefsCheckResultInfoType();
+    public XMLContentType createXMLContentType() {
+        return new XMLContentType();
     }
 
     /**
-     * Create an instance of {@link AnyChildrenType }
+     * Create an instance of {@link ContentBaseType }
      * 
      */
-    public AnyChildrenType createAnyChildrenType() {
-        return new AnyChildrenType();
+    public ContentBaseType createContentBaseType() {
+        return new ContentBaseType();
     }
 
     /**
-     * Create an instance of {@link ContentOptionalRefType }
+     * Create an instance of {@link CMSDataObjectRequiredMetaType }
      * 
      */
-    public ContentOptionalRefType createContentOptionalRefType() {
-        return new ContentOptionalRefType();
+    public CMSDataObjectRequiredMetaType createCMSDataObjectRequiredMetaType() {
+        return new CMSDataObjectRequiredMetaType();
     }
 
     /**
-     * Create an instance of {@link CMSDataObjectInfoType }
+     * Create an instance of {@link FormResultType }
      * 
      */
-    public CMSDataObjectInfoType createCMSDataObjectInfoType() {
-        return new CMSDataObjectInfoType();
+    public FormResultType createFormResultType() {
+        return new FormResultType();
     }
 
     /**
-     * Create an instance of {@link KeyInfoType }
+     * Create an instance of {@link FinalDataMetaInfoType }
      * 
      */
-    public KeyInfoType createKeyInfoType() {
-        return new KeyInfoType();
+    public FinalDataMetaInfoType createFinalDataMetaInfoType() {
+        return new FinalDataMetaInfoType();
     }
 
     /**
-     * Create an instance of {@link SignedInfoType }
+     * Create an instance of {@link ExtendedCertificateCheckResultType }
      * 
      */
-    public SignedInfoType createSignedInfoType() {
-        return new SignedInfoType();
+    public ExtendedCertificateCheckResultType createExtendedCertificateCheckResultType() {
+        return new ExtendedCertificateCheckResultType();
     }
 
     /**
-     * Create an instance of {@link RetrievalMethodType }
+     * Create an instance of {@link ContentOptionalRefType }
      * 
      */
-    public RetrievalMethodType createRetrievalMethodType() {
-        return new RetrievalMethodType();
+    public ContentOptionalRefType createContentOptionalRefType() {
+        return new ContentOptionalRefType();
     }
 
     /**
-     * Create an instance of {@link DigestMethodType }
+     * Create an instance of {@link ReferencesCheckResultInfoType }
      * 
      */
-    public DigestMethodType createDigestMethodType() {
-        return new DigestMethodType();
+    public ReferencesCheckResultInfoType createReferencesCheckResultInfoType() {
+        return new ReferencesCheckResultInfoType();
     }
 
     /**
-     * Create an instance of {@link SignatureMethodType }
+     * Create an instance of {@link ContentRequiredRefType }
      * 
      */
-    public SignatureMethodType createSignatureMethodType() {
-        return new SignatureMethodType();
+    public ContentRequiredRefType createContentRequiredRefType() {
+        return new ContentRequiredRefType();
     }
 
     /**
-     * Create an instance of {@link SPKIDataType }
+     * Create an instance of {@link PGPDataType }
      * 
      */
-    public SPKIDataType createSPKIDataType() {
-        return new SPKIDataType();
+    public PGPDataType createPGPDataType() {
+        return new PGPDataType();
     }
 
     /**
-     * Create an instance of {@link X509DataType }
+     * Create an instance of {@link KeyValueType }
      * 
      */
-    public X509DataType createX509DataType() {
-        return new X509DataType();
+    public KeyValueType createKeyValueType() {
+        return new KeyValueType();
     }
 
     /**
-     * Create an instance of {@link PGPDataType }
+     * Create an instance of {@link DSAKeyValueType }
      * 
      */
-    public PGPDataType createPGPDataType() {
-        return new PGPDataType();
+    public DSAKeyValueType createDSAKeyValueType() {
+        return new DSAKeyValueType();
     }
 
     /**
-     * Create an instance of {@link SignatureType }
+     * Create an instance of {@link ReferenceType }
      * 
      */
-    public SignatureType createSignatureType() {
-        return new SignatureType();
+    public ReferenceType createReferenceType() {
+        return new ReferenceType();
     }
 
     /**
-     * Create an instance of {@link DSAKeyValueType }
+     * Create an instance of {@link RetrievalMethodType }
      * 
      */
-    public DSAKeyValueType createDSAKeyValueType() {
-        return new DSAKeyValueType();
+    public RetrievalMethodType createRetrievalMethodType() {
+        return new RetrievalMethodType();
+    }
+
+    /**
+     * Create an instance of {@link CanonicalizationMethodType }
+     * 
+     */
+    public CanonicalizationMethodType createCanonicalizationMethodType() {
+        return new CanonicalizationMethodType();
+    }
+
+    /**
+     * Create an instance of {@link DigestMethodType }
+     * 
+     */
+    public DigestMethodType createDigestMethodType() {
+        return new DigestMethodType();
     }
 
     /**
@@ -650,67 +639,67 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link SignatureValueType }
+     * Create an instance of {@link SignaturePropertyType }
      * 
      */
-    public SignatureValueType createSignatureValueType() {
-        return new SignatureValueType();
+    public SignaturePropertyType createSignaturePropertyType() {
+        return new SignaturePropertyType();
     }
 
     /**
-     * Create an instance of {@link TransformsType }
+     * Create an instance of {@link X509DataType }
      * 
      */
-    public TransformsType createTransformsType() {
-        return new TransformsType();
+    public X509DataType createX509DataType() {
+        return new X509DataType();
     }
 
     /**
-     * Create an instance of {@link RSAKeyValueType }
+     * Create an instance of {@link SignedInfoType }
      * 
      */
-    public RSAKeyValueType createRSAKeyValueType() {
-        return new RSAKeyValueType();
+    public SignedInfoType createSignedInfoType() {
+        return new SignedInfoType();
     }
 
     /**
-     * Create an instance of {@link TransformType }
+     * Create an instance of {@link RSAKeyValueType }
      * 
      */
-    public TransformType createTransformType() {
-        return new TransformType();
+    public RSAKeyValueType createRSAKeyValueType() {
+        return new RSAKeyValueType();
     }
 
     /**
-     * Create an instance of {@link SignaturePropertyType }
+     * Create an instance of {@link SPKIDataType }
      * 
      */
-    public SignaturePropertyType createSignaturePropertyType() {
-        return new SignaturePropertyType();
+    public SPKIDataType createSPKIDataType() {
+        return new SPKIDataType();
     }
 
     /**
-     * Create an instance of {@link KeyValueType }
+     * Create an instance of {@link SignatureValueType }
      * 
      */
-    public KeyValueType createKeyValueType() {
-        return new KeyValueType();
+    public SignatureValueType createSignatureValueType() {
+        return new SignatureValueType();
     }
 
     /**
-     * Create an instance of {@link ReferenceType }
+     * Create an instance of {@link KeyInfoType }
      * 
      */
-    public ReferenceType createReferenceType() {
-        return new ReferenceType();
+    public KeyInfoType createKeyInfoType() {
+        return new KeyInfoType();
     }
 
     /**
-     * Create an instance of {@link CanonicalizationMethodType }
+     * Create an instance of {@link SignatureType }
      * 
      */
-    public CanonicalizationMethodType createCanonicalizationMethodType() {
-        return new CanonicalizationMethodType();
+    public SignatureType createSignatureType() {
+        return new SignatureType();
     }
 
     /**
@@ -721,6 +710,14 @@ public class ObjectFactory {
         return new SignaturePropertiesType();
     }
 
+    /**
+     * Create an instance of {@link SignatureMethodType }
+     * 
+     */
+    public SignatureMethodType createSignatureMethodType() {
+        return new SignatureMethodType();
+    }
+
     /**
      * Create an instance of {@link ObjectType }
      * 
@@ -729,6 +726,14 @@ public class ObjectFactory {
         return new ObjectType();
     }
 
+    /**
+     * Create an instance of {@link TransformType }
+     * 
+     */
+    public TransformType createTransformType() {
+        return new TransformType();
+    }
+
     /**
      * Create an instance of {@link X509IssuerSerialType }
      * 
@@ -746,19 +751,35 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo }
+     * Create an instance of {@link CMSDataObjectInfoType.DataObject }
      * 
      */
-    public CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo createCreateCMSSignatureRequestTypeSingleSignatureInfoDataObjectInfo() {
-        return new CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo();
+    public CMSDataObjectInfoType.DataObject createCMSDataObjectInfoTypeDataObject() {
+        return new CMSDataObjectInfoType.DataObject();
     }
 
     /**
-     * Create an instance of {@link TransformParameterType.Hash }
+     * Create an instance of {@link VerifyXMLSignatureRequestType.VerifySignatureInfo }
      * 
      */
-    public TransformParameterType.Hash createTransformParameterTypeHash() {
-        return new TransformParameterType.Hash();
+    public VerifyXMLSignatureRequestType.VerifySignatureInfo createVerifyXMLSignatureRequestTypeVerifySignatureInfo() {
+        return new VerifyXMLSignatureRequestType.VerifySignatureInfo();
+    }
+
+    /**
+     * Create an instance of {@link VerifyXMLSignatureRequestType.SignatureManifestCheckParams }
+     * 
+     */
+    public VerifyXMLSignatureRequestType.SignatureManifestCheckParams createVerifyXMLSignatureRequestTypeSignatureManifestCheckParams() {
+        return new VerifyXMLSignatureRequestType.SignatureManifestCheckParams();
+    }
+
+    /**
+     * Create an instance of {@link CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo }
+     * 
+     */
+    public CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo createCreateCMSSignatureRequestTypeSingleSignatureInfoDataObjectInfo() {
+        return new CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo();
     }
 
     /**
@@ -778,30 +799,29 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link PGPDataType }{@code >}}
+     * Create an instance of {@link TransformParameterType.Hash }
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPData")
-    public JAXBElement createPGPData(PGPDataType value) {
-        return new JAXBElement(_PGPData_QNAME, PGPDataType.class, null, value);
+    public TransformParameterType.Hash createTransformParameterTypeHash() {
+        return new TransformParameterType.Hash();
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link SignatureType }{@code >}}
+     * Create an instance of {@link CreateXMLSignatureResponseType.SignatureEnvironment }
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Signature")
-    public JAXBElement createSignature(SignatureType value) {
-        return new JAXBElement(_Signature_QNAME, SignatureType.class, null, value);
+    public CreateXMLSignatureResponseType.SignatureEnvironment createCreateXMLSignatureResponseTypeSignatureEnvironment() {
+        return new CreateXMLSignatureResponseType.SignatureEnvironment();
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DSAKeyValue")
-    public JAXBElement createDSAKeyValue(DSAKeyValueType value) {
-        return new JAXBElement(_DSAKeyValue_QNAME, DSAKeyValueType.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "IssuingCountry")
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    public JAXBElement createIssuingCountry(String value) {
+        return new JAXBElement(_IssuingCountry_QNAME, String.class, null, value);
     }
 
     /**
@@ -814,84 +834,102 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link ErrorResponseType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link KeyInfoType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "ErrorResponse")
-    public JAXBElement createErrorResponse(ErrorResponseType value) {
-        return new JAXBElement(_ErrorResponse_QNAME, ErrorResponseType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyInfo")
+    public JAXBElement createKeyInfo(KeyInfoType value) {
+        return new JAXBElement(_KeyInfo_QNAME, KeyInfoType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link SignedInfoType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link PublicAuthorityType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignedInfo")
-    public JAXBElement createSignedInfo(SignedInfoType value) {
-        return new JAXBElement(_SignedInfo_QNAME, SignedInfoType.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "PublicAuthority")
+    public JAXBElement createPublicAuthority(PublicAuthorityType value) {
+        return new JAXBElement(_PublicAuthority_QNAME, PublicAuthorityType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link SignatureValueType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RetrievalMethod")
-    public JAXBElement createRetrievalMethod(RetrievalMethodType value) {
-        return new JAXBElement(_RetrievalMethod_QNAME, RetrievalMethodType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureValue")
+    public JAXBElement createSignatureValue(SignatureValueType value) {
+        return new JAXBElement(_SignatureValue_QNAME, SignatureValueType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link VerifyXMLSignatureResponseType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link VerifyXMLSignatureRequestType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "VerifyXMLSignatureResponse")
-    public JAXBElement createVerifyXMLSignatureResponse(VerifyXMLSignatureResponseType value) {
-        return new JAXBElement(_VerifyXMLSignatureResponse_QNAME, VerifyXMLSignatureResponseType.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "VerifyXMLSignatureRequest")
+    public JAXBElement createVerifyXMLSignatureRequest(VerifyXMLSignatureRequestType value) {
+        return new JAXBElement(_VerifyXMLSignatureRequest_QNAME, VerifyXMLSignatureRequestType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalizationMethodType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link VerifyPDFSignatureResponseType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "VerifyPDFSignatureResponse")
+    public JAXBElement createVerifyPDFSignatureResponse(VerifyPDFSignatureResponseType value) {
+        return new JAXBElement(_VerifyPDFSignatureResponse_QNAME, VerifyPDFSignatureResponseType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link KeyValueType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyValue")
+    public JAXBElement createKeyValue(KeyValueType value) {
+        return new JAXBElement(_KeyValue_QNAME, KeyValueType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link TransformsType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "CanonicalizationMethod")
-    public JAXBElement createCanonicalizationMethod(CanonicalizationMethodType value) {
-        return new JAXBElement(_CanonicalizationMethod_QNAME, CanonicalizationMethodType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transforms")
+    public JAXBElement createTransforms(TransformsType value) {
+        return new JAXBElement(_Transforms_QNAME, TransformsType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link ObjectType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link VerifyCMSSignatureResponseType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Object")
-    public JAXBElement createObject(ObjectType value) {
-        return new JAXBElement(_Object_QNAME, ObjectType.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "VerifyCMSSignatureResponse")
+    public JAXBElement createVerifyCMSSignatureResponse(VerifyCMSSignatureResponseType value) {
+        return new JAXBElement(_VerifyCMSSignatureResponse_QNAME, VerifyCMSSignatureResponseType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link VerifyPDFSignatureResponseType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link DigestMethodType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "VerifyPDFSignatureResponse")
-    public JAXBElement createVerifyPDFSignatureResponse(VerifyPDFSignatureResponseType value) {
-        return new JAXBElement(_VerifyPDFSignatureResponse_QNAME, VerifyPDFSignatureResponseType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestMethod")
+    public JAXBElement createDigestMethod(DigestMethodType value) {
+        return new JAXBElement(_DigestMethod_QNAME, DigestMethodType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link CreateCMSSignatureResponseType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "FailedReference")
-    public JAXBElement createFailedReference(BigInteger value) {
-        return new JAXBElement(_FailedReference_QNAME, BigInteger.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "CreateCMSSignatureResponse")
+    public JAXBElement createCreateCMSSignatureResponse(CreateCMSSignatureResponseType value) {
+        return new JAXBElement(_CreateCMSSignatureResponse_QNAME, CreateCMSSignatureResponseType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link XMLDataObjectAssociationType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link X509DataType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "Supplement")
-    public JAXBElement createSupplement(XMLDataObjectAssociationType value) {
-        return new JAXBElement(_Supplement_QNAME, XMLDataObjectAssociationType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Data")
+    public JAXBElement createX509Data(X509DataType value) {
+        return new JAXBElement(_X509Data_QNAME, X509DataType.class, null, value);
     }
 
     /**
@@ -904,220 +942,219 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link TransformsType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transforms")
-    public JAXBElement createTransforms(TransformsType value) {
-        return new JAXBElement(_Transforms_QNAME, TransformsType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyName")
+    public JAXBElement createKeyName(String value) {
+        return new JAXBElement(_KeyName_QNAME, String.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link SignatureValueType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureValue")
-    public JAXBElement createSignatureValue(SignatureValueType value) {
-        return new JAXBElement(_SignatureValue_QNAME, SignatureValueType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RSAKeyValue")
+    public JAXBElement createRSAKeyValue(RSAKeyValueType value) {
+        return new JAXBElement(_RSAKeyValue_QNAME, RSAKeyValueType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link ManifestType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link SignatureType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Manifest")
-    public JAXBElement createManifest(ManifestType value) {
-        return new JAXBElement(_Manifest_QNAME, ManifestType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Signature")
+    public JAXBElement createSignature(SignatureType value) {
+        return new JAXBElement(_Signature_QNAME, SignatureType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link TransformType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link XMLDataObjectAssociationType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transform")
-    public JAXBElement createTransform(TransformType value) {
-        return new JAXBElement(_Transform_QNAME, TransformType.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "Supplement")
+    public JAXBElement createSupplement(XMLDataObjectAssociationType value) {
+        return new JAXBElement(_Supplement_QNAME, XMLDataObjectAssociationType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link X509DataType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Data")
-    public JAXBElement createX509Data(X509DataType value) {
-        return new JAXBElement(_X509Data_QNAME, X509DataType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "MgmtData")
+    public JAXBElement createMgmtData(String value) {
+        return new JAXBElement(_MgmtData_QNAME, String.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link SignatureMethodType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "IssuingCountry")
-    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-    public JAXBElement createIssuingCountry(String value) {
-        return new JAXBElement(_IssuingCountry_QNAME, String.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureMethod")
+    public JAXBElement createSignatureMethod(SignatureMethodType value) {
+        return new JAXBElement(_SignatureMethod_QNAME, SignatureMethodType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link CreateXMLSignatureResponseType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link ObjectType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "CreateXMLSignatureResponse")
-    public JAXBElement createCreateXMLSignatureResponse(CreateXMLSignatureResponseType value) {
-        return new JAXBElement(_CreateXMLSignatureResponse_QNAME, CreateXMLSignatureResponseType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Object")
+    public JAXBElement createObject(ObjectType value) {
+        return new JAXBElement(_Object_QNAME, ObjectType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link SignatureMethodType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link SignaturePropertiesType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureMethod")
-    public JAXBElement createSignatureMethod(SignatureMethodType value) {
-        return new JAXBElement(_SignatureMethod_QNAME, SignatureMethodType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperties")
+    public JAXBElement createSignatureProperties(SignaturePropertiesType value) {
+        return new JAXBElement(_SignatureProperties_QNAME, SignaturePropertiesType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link KeyInfoType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link VerifyXMLSignatureResponseType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyInfo")
-    public JAXBElement createKeyInfo(KeyInfoType value) {
-        return new JAXBElement(_KeyInfo_QNAME, KeyInfoType.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "VerifyXMLSignatureResponse")
+    public JAXBElement createVerifyXMLSignatureResponse(VerifyXMLSignatureResponseType value) {
+        return new JAXBElement(_VerifyXMLSignatureResponse_QNAME, VerifyXMLSignatureResponseType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link XMLDataObjectAssociationType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link TransformType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "SupplementProfile")
-    public JAXBElement createSupplementProfile(XMLDataObjectAssociationType value) {
-        return new JAXBElement(_SupplementProfile_QNAME, XMLDataObjectAssociationType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transform")
+    public JAXBElement createTransform(TransformType value) {
+        return new JAXBElement(_Transform_QNAME, TransformType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link CreateCMSSignatureResponseType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link ErrorResponseType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "CreateCMSSignatureResponse")
-    public JAXBElement createCreateCMSSignatureResponse(CreateCMSSignatureResponseType value) {
-        return new JAXBElement(_CreateCMSSignatureResponse_QNAME, CreateCMSSignatureResponseType.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "ErrorResponse")
+    public JAXBElement createErrorResponse(ErrorResponseType value) {
+        return new JAXBElement(_ErrorResponse_QNAME, ErrorResponseType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link VerifyCMSSignatureResponseType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link PGPDataType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "VerifyCMSSignatureResponse")
-    public JAXBElement createVerifyCMSSignatureResponse(VerifyCMSSignatureResponseType value) {
-        return new JAXBElement(_VerifyCMSSignatureResponse_QNAME, VerifyCMSSignatureResponseType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPData")
+    public JAXBElement createPGPData(PGPDataType value) {
+        return new JAXBElement(_PGPData_QNAME, PGPDataType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link DigestMethodType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestMethod")
-    public JAXBElement createDigestMethod(DigestMethodType value) {
-        return new JAXBElement(_DigestMethod_QNAME, DigestMethodType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Reference")
+    public JAXBElement createReference(ReferenceType value) {
+        return new JAXBElement(_Reference_QNAME, ReferenceType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestValue")
-    public JAXBElement createDigestValue(byte[] value) {
-        return new JAXBElement(_DigestValue_QNAME, byte[].class, null, ((byte[]) value));
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RetrievalMethod")
+    public JAXBElement createRetrievalMethod(RetrievalMethodType value) {
+        return new JAXBElement(_RetrievalMethod_QNAME, RetrievalMethodType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "MgmtData")
-    public JAXBElement createMgmtData(String value) {
-        return new JAXBElement(_MgmtData_QNAME, String.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DSAKeyValue")
+    public JAXBElement createDSAKeyValue(DSAKeyValueType value) {
+        return new JAXBElement(_DSAKeyValue_QNAME, DSAKeyValueType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link SignaturePropertiesType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperties")
-    public JAXBElement createSignatureProperties(SignaturePropertiesType value) {
-        return new JAXBElement(_SignatureProperties_QNAME, SignaturePropertiesType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestValue")
+    public JAXBElement createDigestValue(byte[] value) {
+        return new JAXBElement(_DigestValue_QNAME, byte[].class, null, ((byte[]) value));
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link CreateXMLSignatureResponseType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyName")
-    public JAXBElement createKeyName(String value) {
-        return new JAXBElement(_KeyName_QNAME, String.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "CreateXMLSignatureResponse")
+    public JAXBElement createCreateXMLSignatureResponse(CreateXMLSignatureResponseType value) {
+        return new JAXBElement(_CreateXMLSignatureResponse_QNAME, CreateXMLSignatureResponseType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link KeyValueType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link CanonicalizationMethodType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyValue")
-    public JAXBElement createKeyValue(KeyValueType value) {
-        return new JAXBElement(_KeyValue_QNAME, KeyValueType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "CanonicalizationMethod")
+    public JAXBElement createCanonicalizationMethod(CanonicalizationMethodType value) {
+        return new JAXBElement(_CanonicalizationMethod_QNAME, CanonicalizationMethodType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link ReferenceType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link CreatePDFSignatureResponseType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Reference")
-    public JAXBElement createReference(ReferenceType value) {
-        return new JAXBElement(_Reference_QNAME, ReferenceType.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "CreatePDFSignatureResponse")
+    public JAXBElement createCreatePDFSignatureResponse(CreatePDFSignatureResponseType value) {
+        return new JAXBElement(_CreatePDFSignatureResponse_QNAME, CreatePDFSignatureResponseType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link PublicAuthorityType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link SignedInfoType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "PublicAuthority")
-    public JAXBElement createPublicAuthority(PublicAuthorityType value) {
-        return new JAXBElement(_PublicAuthority_QNAME, PublicAuthorityType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignedInfo")
+    public JAXBElement createSignedInfo(SignedInfoType value) {
+        return new JAXBElement(_SignedInfo_QNAME, SignedInfoType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link MoaTransformType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link VerifyASICSignatureResponseType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "MoaTransform")
-    public JAXBElement createMoaTransform(MoaTransformType value) {
-        return new JAXBElement(_MoaTransform_QNAME, MoaTransformType.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "VerifyASICSignatureResponse")
+    public JAXBElement createVerifyASICSignatureResponse(VerifyASICSignatureResponseType value) {
+        return new JAXBElement(_VerifyASICSignatureResponse_QNAME, VerifyASICSignatureResponseType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link XMLDataObjectAssociationType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "ReferringSigReference")
-    public JAXBElement createReferringSigReference(BigInteger value) {
-        return new JAXBElement(_ReferringSigReference_QNAME, BigInteger.class, null, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SupplementProfile")
+    public JAXBElement createSupplementProfile(XMLDataObjectAssociationType value) {
+        return new JAXBElement(_SupplementProfile_QNAME, XMLDataObjectAssociationType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link ManifestType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RSAKeyValue")
-    public JAXBElement createRSAKeyValue(RSAKeyValueType value) {
-        return new JAXBElement(_RSAKeyValue_QNAME, RSAKeyValueType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Manifest")
+    public JAXBElement createManifest(ManifestType value) {
+        return new JAXBElement(_Manifest_QNAME, ManifestType.class, null, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link MoaTransformsType }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "MoaTransforms")
-    public JAXBElement createMoaTransforms(MoaTransformsType value) {
-        return new JAXBElement(_MoaTransforms_QNAME, MoaTransformsType.class, null, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "XPath", scope = TransformType.class)
+    public JAXBElement createTransformTypeXPath(String value) {
+        return new JAXBElement(_TransformTypeXPath_QNAME, String.class, TransformType.class, value);
     }
 
     /**
@@ -1142,36 +1179,36 @@ public class ObjectFactory {
      * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Certificate", scope = X509DataType.class)
-    public JAXBElement createX509DataTypeX509Certificate(byte[] value) {
-        return new JAXBElement(_X509DataTypeX509Certificate_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509CRL", scope = X509DataType.class)
+    public JAXBElement createX509DataTypeX509CRL(byte[] value) {
+        return new JAXBElement(_X509DataTypeX509CRL_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SKI", scope = X509DataType.class)
-    public JAXBElement createX509DataTypeX509SKI(byte[] value) {
-        return new JAXBElement(_X509DataTypeX509SKI_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SubjectName", scope = X509DataType.class)
+    public JAXBElement createX509DataTypeX509SubjectName(String value) {
+        return new JAXBElement(_X509DataTypeX509SubjectName_QNAME, String.class, X509DataType.class, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SubjectName", scope = X509DataType.class)
-    public JAXBElement createX509DataTypeX509SubjectName(String value) {
-        return new JAXBElement(_X509DataTypeX509SubjectName_QNAME, String.class, X509DataType.class, value);
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SKI", scope = X509DataType.class)
+    public JAXBElement createX509DataTypeX509SKI(byte[] value) {
+        return new JAXBElement(_X509DataTypeX509SKI_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
     }
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509CRL", scope = X509DataType.class)
-    public JAXBElement createX509DataTypeX509CRL(byte[] value) {
-        return new JAXBElement(_X509DataTypeX509CRL_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
+    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Certificate", scope = X509DataType.class)
+    public JAXBElement createX509DataTypeX509Certificate(byte[] value) {
+        return new JAXBElement(_X509DataTypeX509Certificate_QNAME, byte[].class, X509DataType.class, ((byte[]) value));
     }
 
     /**
@@ -1192,15 +1229,6 @@ public class ObjectFactory {
         return new JAXBElement(_PGPDataTypePGPKeyPacket_QNAME, byte[].class, PGPDataType.class, ((byte[]) value));
     }
 
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "XPath", scope = TransformType.class)
-    public JAXBElement createTransformTypeXPath(String value) {
-        return new JAXBElement(_TransformTypeXPath_QNAME, String.class, TransformType.class, value);
-    }
-
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}}
      * 
@@ -1211,28 +1239,28 @@ public class ObjectFactory {
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link ExtendedCertificateCheckResultType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "transformData", scope = MoaTransformType.class)
-    public JAXBElement createMoaTransformTypeTransformData(byte[] value) {
-        return new JAXBElement(_MoaTransformTypeTransformData_QNAME, byte[].class, MoaTransformType.class, ((byte[]) value));
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "ExtendedCertificateCheck", scope = VerifyCMSSignatureResponseType.class)
+    public JAXBElement createVerifyCMSSignatureResponseTypeExtendedCertificateCheck(ExtendedCertificateCheckResultType value) {
+        return new JAXBElement(_VerifyCMSSignatureResponseTypeExtendedCertificateCheck_QNAME, ExtendedCertificateCheckResultType.class, VerifyCMSSignatureResponseType.class, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link FormResultType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "XPath", scope = MoaTransformType.class)
-    public JAXBElement createMoaTransformTypeXPath(String value) {
-        return new JAXBElement(_MoaTransformTypeXPath_QNAME, String.class, MoaTransformType.class, value);
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "FormCheckResult", scope = VerifyCMSSignatureResponseType.class)
+    public JAXBElement createVerifyCMSSignatureResponseTypeFormCheckResult(FormResultType value) {
+        return new JAXBElement(_VerifyCMSSignatureResponseTypeFormCheckResult_QNAME, FormResultType.class, VerifyCMSSignatureResponseType.class, value);
     }
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link CheckResultType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "SignatureCheck", scope = VerifyCMSSignatureResponseType.class)
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SignatureCheck", scope = VerifyCMSSignatureResponseType.class)
     public JAXBElement createVerifyCMSSignatureResponseTypeSignatureCheck(CheckResultType value) {
         return new JAXBElement(_VerifyCMSSignatureResponseTypeSignatureCheck_QNAME, CheckResultType.class, VerifyCMSSignatureResponseType.class, value);
     }
@@ -1241,7 +1269,7 @@ public class ObjectFactory {
      * Create an instance of {@link JAXBElement }{@code <}{@link CheckResultType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "CertificateCheck", scope = VerifyCMSSignatureResponseType.class)
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "CertificateCheck", scope = VerifyCMSSignatureResponseType.class)
     public JAXBElement createVerifyCMSSignatureResponseTypeCertificateCheck(CheckResultType value) {
         return new JAXBElement(_VerifyCMSSignatureResponseTypeCertificateCheck_QNAME, CheckResultType.class, VerifyCMSSignatureResponseType.class, value);
     }
@@ -1250,27 +1278,9 @@ public class ObjectFactory {
      * Create an instance of {@link JAXBElement }{@code <}{@link KeyInfoType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "SignerInfo", scope = VerifyCMSSignatureResponseType.class)
+    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", name = "SignerInfo", scope = VerifyCMSSignatureResponseType.class)
     public JAXBElement createVerifyCMSSignatureResponseTypeSignerInfo(KeyInfoType value) {
         return new JAXBElement(_VerifyCMSSignatureResponseTypeSignerInfo_QNAME, KeyInfoType.class, VerifyCMSSignatureResponseType.class, value);
     }
 
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link ExtendedCertificateCheckResultType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "ExtendedCertificateCheck", scope = VerifyCMSSignatureResponseType.class)
-    public JAXBElement createVerifyCMSSignatureResponseTypeExtendedCertificateCheck(ExtendedCertificateCheckResultType value) {
-        return new JAXBElement(_VerifyCMSSignatureResponseTypeExtendedCertificateCheck_QNAME, ExtendedCertificateCheckResultType.class, VerifyCMSSignatureResponseType.class, value);
-    }
-
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link FormResultType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", name = "FormCheckResult", scope = VerifyCMSSignatureResponseType.class)
-    public JAXBElement createVerifyCMSSignatureResponseTypeFormCheckResult(FormResultType value) {
-        return new JAXBElement(_VerifyCMSSignatureResponseTypeFormCheckResult_QNAME, FormResultType.class, VerifyCMSSignatureResponseType.class, value);
-    }
-
 }
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ObjectType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ObjectType.java
index d9d6f39..10db581 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ObjectType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ObjectType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -83,9 +83,9 @@ public class ObjectType {
      * 
      * 

* Objects of the following type(s) are allowed in the list - * {@link Element } - * {@link Object } * {@link String } + * {@link Object } + * {@link Element } * * */ diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PDFSignatureResultType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PDFSignatureResultType.java index 8fadbe0..79e888e 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PDFSignatureResultType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PDFSignatureResultType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -27,10 +27,10 @@ import javax.xml.bind.annotation.XmlType; * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/> - * <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}CheckResultType"/> - * <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}CheckResultType"/> - * <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}FormResultType" maxOccurs="unbounded" minOccurs="0"/> - * <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ExtendedCertificateCheckResultType" minOccurs="0"/> + * <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/> + * <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/> + * <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/> + * <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PDFSignedRepsonse.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PDFSignedRepsonse.java index c3f27e3..1c512b9 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PDFSignedRepsonse.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PDFSignedRepsonse.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -27,7 +27,7 @@ import javax.xml.bind.annotation.XmlType; * <element name="SignatureID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <choice> * <element name="PDFSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/> - * <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}ErrorResponse"/> + * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}ErrorResponse"/> * </choice> * </sequence> * </restriction> diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PGPDataType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PGPDataType.java index 826fc28..732b1c4 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PGPDataType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PGPDataType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -54,8 +54,8 @@ import org.w3c.dom.Element; public class PGPDataType { @XmlElementRefs({ - @XmlElementRef(name = "PGPKeyID", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), - @XmlElementRef(name = "PGPKeyPacket", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) + @XmlElementRef(name = "PGPKeyPacket", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "PGPKeyID", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) }) @XmlAnyElement(lax = true) protected List content; @@ -88,8 +88,8 @@ public class PGPDataType { * *

* Objects of the following type(s) are allowed in the list - * {@link Object } * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * {@link Object } * {@link Element } * {@link JAXBElement }{@code <}{@link byte[]}{@code >} * diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PublicAuthorityType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PublicAuthorityType.java index c1cc02e..84df672 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PublicAuthorityType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/PublicAuthorityType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/QualifiedCertificate.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/QualifiedCertificate.java index efb4eea..b17bb9e 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/QualifiedCertificate.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/QualifiedCertificate.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/RSAKeyValueType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/RSAKeyValueType.java index 338de95..1593475 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/RSAKeyValueType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/RSAKeyValueType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferenceType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferenceType.java index cd501c3..f6da73f 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferenceType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferenceType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferencesCheckResultInfoType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferencesCheckResultInfoType.java index 11cef97..8664c1a 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferencesCheckResultInfoType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferencesCheckResultInfoType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -21,10 +21,10 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="ReferencesCheckResultInfoType">
  *   <complexContent>
- *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20151109#}AnyChildrenType">
+ *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType">
  *       <sequence>
  *         <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
- *         <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}FailedReference" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="FailedReference" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </restriction>
  *   </complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferencesCheckResultType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferencesCheckResultType.java
index bf50314..c6c355a 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferencesCheckResultType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/ReferencesCheckResultType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -21,10 +21,10 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="ReferencesCheckResultType">
  *   <complexContent>
- *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20151109#}CheckResultType">
+ *     <restriction base="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType">
  *       <sequence>
  *         <element name="Code" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
- *         <element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ReferencesCheckResultInfoType" minOccurs="0"/>
+ *         <element name="Info" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultInfoType" minOccurs="0"/>
  *       </sequence>
  *     </restriction>
  *   </complexContent>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/RetrievalMethodType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/RetrievalMethodType.java
index 837c2e7..2592dba 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/RetrievalMethodType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/RetrievalMethodType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SPKIDataType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SPKIDataType.java
index 472b9ee..700485a 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SPKIDataType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SPKIDataType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SecureSignatureCreationDevice.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SecureSignatureCreationDevice.java
index 3577910..cdb5f2d 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SecureSignatureCreationDevice.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SecureSignatureCreationDevice.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureMethodType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureMethodType.java
index 3645163..23cc92d 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureMethodType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureMethodType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -75,8 +75,8 @@ public class SignatureMethodType {
      * 
      * 

* Objects of the following type(s) are allowed in the list - * {@link Object } * {@link String } + * {@link Object } * {@link JAXBElement }{@code <}{@link BigInteger }{@code >} * * diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignaturePropertiesType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignaturePropertiesType.java index 666ea81..e4cf48c 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignaturePropertiesType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignaturePropertiesType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignaturePropertyType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignaturePropertyType.java index b252649..cd37b0f 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignaturePropertyType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignaturePropertyType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -80,9 +80,9 @@ public class SignaturePropertyType { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } - * {@link Object } * {@link String } + * {@link Object } + * {@link Element } * * */ diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureType.java index 804a1d5..b3763d9 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureValueType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureValueType.java index 5201ee6..7525c25 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureValueType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignatureValueType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignedInfoType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignedInfoType.java index af29580..d37c054 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignedInfoType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/SignedInfoType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformParameterType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformParameterType.java index 3b94f4b..5188e9e 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformParameterType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformParameterType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformType.java index d270580..ec607a0 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -75,10 +75,10 @@ public class TransformType { * *

* Objects of the following type(s) are allowed in the list - * {@link JAXBElement }{@code <}{@link String }{@code >} * {@link Object } * {@link Element } * {@link String } + * {@link JAXBElement }{@code <}{@link String }{@code >} * * */ diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformsInfoType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformsInfoType.java index 583858d..f06754f 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformsInfoType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformsInfoType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -24,8 +24,8 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}MoaTransforms" minOccurs="0"/> - * <element name="FinalDataMetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}FinalDataMetaInfoType"/> + * <element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/> + * <element name="FinalDataMetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FinalDataMetaInfoType"/> * </sequence> * </restriction> * </complexContent> @@ -36,38 +36,38 @@ import javax.xml.bind.annotation.XmlType; */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "TransformsInfoType", propOrder = { - "moaTransforms", + "transforms", "finalDataMetaInfo" }) public class TransformsInfoType { - @XmlElement(name = "MoaTransforms") - protected MoaTransformsType moaTransforms; + @XmlElement(name = "Transforms", namespace = "http://www.w3.org/2000/09/xmldsig#") + protected TransformsType transforms; @XmlElement(name = "FinalDataMetaInfo", required = true) protected FinalDataMetaInfoType finalDataMetaInfo; /** - * Gets the value of the moaTransforms property. + * Gets the value of the transforms property. * * @return * possible object is - * {@link MoaTransformsType } + * {@link TransformsType } * */ - public MoaTransformsType getMoaTransforms() { - return moaTransforms; + public TransformsType getTransforms() { + return transforms; } /** - * Sets the value of the moaTransforms property. + * Sets the value of the transforms property. * * @param value * allowed object is - * {@link MoaTransformsType } + * {@link TransformsType } * */ - public void setMoaTransforms(MoaTransformsType value) { - this.moaTransforms = value; + public void setTransforms(TransformsType value) { + this.transforms = value; } /** diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformsType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformsType.java index 8c035a4..2a43891 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformsType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/TransformsType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureRequest.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureRequest.java new file mode 100644 index 0000000..3640444 --- /dev/null +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureRequest.java @@ -0,0 +1,41 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.15 at 04:11:53 PM CEST +// + + +package at.gv.egiz.moasig; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType>
+ *   <complexContent>
+ *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyASICSignatureRequestType">
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "") +@XmlRootElement(name = "VerifyASICSignatureRequest") +public class VerifyASICSignatureRequest + extends VerifyASICSignatureRequestType +{ + + +} diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureRequestType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureRequestType.java new file mode 100644 index 0000000..fc35a9a --- /dev/null +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureRequestType.java @@ -0,0 +1,190 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.15 at 04:11:53 PM CEST +// + + +package at.gv.egiz.moasig; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import javax.xml.datatype.XMLGregorianCalendar; + + +/** + *

Java class for VerifyASICSignatureRequestType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="VerifyASICSignatureRequestType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="ExtendedValidation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="ASICSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ *         <element name="ASICExtension" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="TrustProfileID" type="{http://www.w3.org/2001/XMLSchema}token"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "VerifyASICSignatureRequestType", propOrder = { + "dateTime", + "extendedValidation", + "asicSignature", + "asicExtension", + "trustProfileID" +}) +@XmlSeeAlso({ + VerifyASICSignatureRequest.class +}) +public class VerifyASICSignatureRequestType { + + @XmlElement(name = "DateTime") + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar dateTime; + @XmlElement(name = "ExtendedValidation", defaultValue = "false") + protected Boolean extendedValidation; + @XmlElement(name = "ASICSignature", required = true) + protected byte[] asicSignature; + @XmlElement(name = "ASICExtension", required = true) + protected String asicExtension; + @XmlElement(name = "TrustProfileID", required = true) + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String trustProfileID; + + /** + * Gets the value of the dateTime property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getDateTime() { + return dateTime; + } + + /** + * Sets the value of the dateTime property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setDateTime(XMLGregorianCalendar value) { + this.dateTime = value; + } + + /** + * Gets the value of the extendedValidation property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isExtendedValidation() { + return extendedValidation; + } + + /** + * Sets the value of the extendedValidation property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setExtendedValidation(Boolean value) { + this.extendedValidation = value; + } + + /** + * Gets the value of the asicSignature property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getASICSignature() { + return asicSignature; + } + + /** + * Sets the value of the asicSignature property. + * + * @param value + * allowed object is + * byte[] + */ + public void setASICSignature(byte[] value) { + this.asicSignature = value; + } + + /** + * Gets the value of the asicExtension property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getASICExtension() { + return asicExtension; + } + + /** + * Sets the value of the asicExtension property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setASICExtension(String value) { + this.asicExtension = value; + } + + /** + * Gets the value of the trustProfileID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getTrustProfileID() { + return trustProfileID; + } + + /** + * Sets the value of the trustProfileID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setTrustProfileID(String value) { + this.trustProfileID = value; + } + +} diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureResponseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureResponseType.java new file mode 100644 index 0000000..c58900b --- /dev/null +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyASICSignatureResponseType.java @@ -0,0 +1,82 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.15 at 04:11:53 PM CEST +// + + +package at.gv.egiz.moasig; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElements; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for VerifyASICSignatureResponseType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="VerifyASICSignatureResponseType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence maxOccurs="unbounded">
+ *         <element name="XMLSignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyXMLSignatureResponseType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="CMSSignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyCMSSignatureResponseType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "VerifyASICSignatureResponseType", propOrder = { + "xmlSignatureResultAndCMSSignatureResult" +}) +public class VerifyASICSignatureResponseType { + + @XmlElements({ + @XmlElement(name = "XMLSignatureResult", type = VerifyXMLSignatureResponseType.class), + @XmlElement(name = "CMSSignatureResult", type = VerifyCMSSignatureResponseType.class) + }) + protected List xmlSignatureResultAndCMSSignatureResult; + + /** + * Gets the value of the xmlSignatureResultAndCMSSignatureResult property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the xmlSignatureResultAndCMSSignatureResult property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getXMLSignatureResultAndCMSSignatureResult().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link VerifyXMLSignatureResponseType } + * {@link VerifyCMSSignatureResponseType } + * + * + */ + public List getXMLSignatureResultAndCMSSignatureResult() { + if (xmlSignatureResultAndCMSSignatureResult == null) { + xmlSignatureResultAndCMSSignatureResult = new ArrayList(); + } + return this.xmlSignatureResultAndCMSSignatureResult; + } + +} diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureRequest.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureRequest.java index 4294b6f..32a378e 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureRequest.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureRequest.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -25,8 +25,8 @@ import javax.xml.bind.annotation.XmlType; *
  * <complexType>
  *   <complexContent>
- *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}VerifyCMSSignatureRequestType">
- *       <attribute name="Signatories" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}SignatoriesType" default="1" />
+ *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyCMSSignatureRequestType">
+ *       <attribute name="Signatories" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}SignatoriesType" default="1" />
  *     </extension>
  *   </complexContent>
  * </complexType>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureRequestType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureRequestType.java
index a8f1eda..bb23fad 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureRequestType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureRequestType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -32,7 +32,7 @@ import javax.xml.datatype.XMLGregorianCalendar;
  *         <element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
  *         <element name="ExtendedValidation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
  *         <element name="CMSSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
- *         <element name="DataObject" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}CMSDataObjectOptionalMetaType" minOccurs="0"/>
+ *         <element name="DataObject" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CMSDataObjectOptionalMetaType" minOccurs="0"/>
  *         <element name="TrustProfileID" type="{http://www.w3.org/2001/XMLSchema}token"/>
  *       </sequence>
  *     </restriction>
diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureResponseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureResponseType.java
index 9068808..8911c42 100644
--- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureResponseType.java
+++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyCMSSignatureResponseType.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
 // See http://java.sun.com/xml/jaxb 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2016.06.09 at 06:28:21 AM CEST 
+// Generated on: 2016.06.15 at 04:11:53 PM CEST 
 //
 
 
@@ -29,10 +29,10 @@ import javax.xml.bind.annotation.XmlType;
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <sequence maxOccurs="unbounded">
  *         <element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/>
- *         <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}CheckResultType"/>
- *         <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}CheckResultType"/>
- *         <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}FormResultType" maxOccurs="unbounded" minOccurs="0"/>
- *         <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ExtendedCertificateCheckResultType" minOccurs="0"/>
+ *         <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/>
+ *         <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/>
+ *         <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/>
  *       </sequence>
  *     </restriction>
  *   </complexContent>
@@ -48,11 +48,11 @@ import javax.xml.bind.annotation.XmlType;
 public class VerifyCMSSignatureResponseType {
 
     @XmlElementRefs({
-        @XmlElementRef(name = "SignerInfo", namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", type = JAXBElement.class),
-        @XmlElementRef(name = "SignatureCheck", namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", type = JAXBElement.class),
-        @XmlElementRef(name = "ExtendedCertificateCheck", namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", type = JAXBElement.class),
-        @XmlElementRef(name = "FormCheckResult", namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", type = JAXBElement.class),
-        @XmlElementRef(name = "CertificateCheck", namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", type = JAXBElement.class)
+        @XmlElementRef(name = "SignatureCheck", namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", type = JAXBElement.class),
+        @XmlElementRef(name = "CertificateCheck", namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", type = JAXBElement.class),
+        @XmlElementRef(name = "SignerInfo", namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", type = JAXBElement.class),
+        @XmlElementRef(name = "FormCheckResult", namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", type = JAXBElement.class),
+        @XmlElementRef(name = "ExtendedCertificateCheck", namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", type = JAXBElement.class)
     })
     protected List> signerInfoAndSignatureCheckAndCertificateCheck;
 
@@ -74,11 +74,11 @@ public class VerifyCMSSignatureResponseType {
      * 
      * 

* Objects of the following type(s) are allowed in the list - * {@link JAXBElement }{@code <}{@link ExtendedCertificateCheckResultType }{@code >} - * {@link JAXBElement }{@code <}{@link FormResultType }{@code >} * {@link JAXBElement }{@code <}{@link KeyInfoType }{@code >} * {@link JAXBElement }{@code <}{@link CheckResultType }{@code >} * {@link JAXBElement }{@code <}{@link CheckResultType }{@code >} + * {@link JAXBElement }{@code <}{@link FormResultType }{@code >} + * {@link JAXBElement }{@code <}{@link ExtendedCertificateCheckResultType }{@code >} * * */ diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureRequest.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureRequest.java index bb06824..2dd2130 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureRequest.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureRequest.java @@ -2,14 +2,17 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // package at.gv.egiz.moasig; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -22,7 +25,8 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType>
  *   <complexContent>
- *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20151109#}VerifyPDFSignatureRequestType">
+ *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyPDFSignatureRequestType">
+ *       <attribute name="Signatories" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}SignatoriesType" default="1" />
  *     </extension>
  *   </complexContent>
  * </complexType>
@@ -37,5 +41,36 @@ public class VerifyPDFSignatureRequest
     extends VerifyPDFSignatureRequestType
 {
 
+    @XmlAttribute(name = "Signatories")
+    protected List signatories;
+
+    /**
+     * Gets the value of the signatories property.
+     * 
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the signatories property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSignatories().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * + * + */ + public List getSignatories() { + if (signatories == null) { + signatories = new ArrayList(); + } + return this.signatories; + } } diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureRequestType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureRequestType.java index 6cb4858..53caa2e 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureRequestType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureRequestType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureResponseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureResponseType.java index 1ab3ef2..34582b4 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureResponseType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyPDFSignatureResponseType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -26,7 +26,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence maxOccurs="unbounded"> - * <element name="SignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}PDFSignatureResultType"/> + * <element name="SignatureResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}PDFSignatureResultType"/> * </sequence> * </restriction> * </complexContent> diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyTransformsDataType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyTransformsDataType.java index 0c10bef..33f0307 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyTransformsDataType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyTransformsDataType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -27,7 +27,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <choice maxOccurs="unbounded"> - * <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}VerifyTransformsInfoProfile"/> + * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyTransformsInfoProfile"/> * <element name="VerifyTransformsInfoProfileID" type="{http://www.w3.org/2001/XMLSchema}string"/> * </choice> * </restriction> diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyTransformsInfoProfile.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyTransformsInfoProfile.java index 43c29bb..4b02e16 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyTransformsInfoProfile.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyTransformsInfoProfile.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -27,8 +27,8 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}MoaTransforms" minOccurs="0"/> - * <element name="TransformParameter" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}TransformParameterType" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/> + * <element name="TransformParameter" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}TransformParameterType" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -39,39 +39,39 @@ import javax.xml.bind.annotation.XmlType; */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { - "moaTransforms", + "transforms", "transformParameter" }) @XmlRootElement(name = "VerifyTransformsInfoProfile") public class VerifyTransformsInfoProfile { - @XmlElement(name = "MoaTransforms") - protected MoaTransformsType moaTransforms; + @XmlElement(name = "Transforms", namespace = "http://www.w3.org/2000/09/xmldsig#") + protected TransformsType transforms; @XmlElement(name = "TransformParameter") protected List transformParameter; /** - * Gets the value of the moaTransforms property. + * Gets the value of the transforms property. * * @return * possible object is - * {@link MoaTransformsType } + * {@link TransformsType } * */ - public MoaTransformsType getMoaTransforms() { - return moaTransforms; + public TransformsType getTransforms() { + return transforms; } /** - * Sets the value of the moaTransforms property. + * Sets the value of the transforms property. * * @param value * allowed object is - * {@link MoaTransformsType } + * {@link TransformsType } * */ - public void setMoaTransforms(MoaTransformsType value) { - this.moaTransforms = value; + public void setTransforms(TransformsType value) { + this.transforms = value; } /** diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyXMLSignatureRequestType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyXMLSignatureRequestType.java index 9a1427c..96e5a64 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyXMLSignatureRequestType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyXMLSignatureRequestType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -16,7 +16,6 @@ import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElements; import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; @@ -40,15 +39,15 @@ import javax.xml.datatype.XMLGregorianCalendar; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="VerifySignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentOptionalRefType"/> - * <element name="VerifySignatureLocation" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}XMLSignatureLocationType"/> + * <element name="VerifySignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/> + * <element name="VerifySignatureLocation" type="{http://www.w3.org/2001/XMLSchema}token"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </element> * <choice maxOccurs="unbounded" minOccurs="0"> - * <element ref="{http://reference.e-government.gv.at/namespace/moa/20151109#}SupplementProfile"/> + * <element ref="{http://reference.e-government.gv.at/namespace/moa/20020822#}SupplementProfile"/> * <element name="SupplementProfileID" type="{http://www.w3.org/2001/XMLSchema}string"/> * </choice> * <element name="SignatureManifestCheckParams" minOccurs="0"> @@ -56,7 +55,7 @@ import javax.xml.datatype.XMLGregorianCalendar; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="ReferenceInfo" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}VerifyTransformsDataType" maxOccurs="unbounded"/> + * <element name="ReferenceInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyTransformsDataType" maxOccurs="unbounded"/> * </sequence> * <attribute name="ReturnReferenceInputData" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /> * </restriction> @@ -83,9 +82,6 @@ import javax.xml.datatype.XMLGregorianCalendar; "returnHashInputData", "trustProfileID" }) -@XmlSeeAlso({ - VerifyXMLSignatureRequest.class -}) public class VerifyXMLSignatureRequestType { @XmlElement(name = "DateTime") @@ -294,7 +290,7 @@ public class VerifyXMLSignatureRequestType { * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="ReferenceInfo" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}VerifyTransformsDataType" maxOccurs="unbounded"/> + * <element name="ReferenceInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}VerifyTransformsDataType" maxOccurs="unbounded"/> * </sequence> * <attribute name="ReturnReferenceInputData" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" /> * </restriction> @@ -385,8 +381,8 @@ public class VerifyXMLSignatureRequestType { * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="VerifySignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentOptionalRefType"/> - * <element name="VerifySignatureLocation" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}XMLSignatureLocationType"/> + * <element name="VerifySignatureEnvironment" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentOptionalRefType"/> + * <element name="VerifySignatureLocation" type="{http://www.w3.org/2001/XMLSchema}token"/> * </sequence> * </restriction> * </complexContent> @@ -405,7 +401,9 @@ public class VerifyXMLSignatureRequestType { @XmlElement(name = "VerifySignatureEnvironment", required = true) protected ContentOptionalRefType verifySignatureEnvironment; @XmlElement(name = "VerifySignatureLocation", required = true) - protected XMLSignatureLocationType verifySignatureLocation; + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String verifySignatureLocation; /** * Gets the value of the verifySignatureEnvironment property. @@ -436,10 +434,10 @@ public class VerifyXMLSignatureRequestType { * * @return * possible object is - * {@link XMLSignatureLocationType } + * {@link String } * */ - public XMLSignatureLocationType getVerifySignatureLocation() { + public String getVerifySignatureLocation() { return verifySignatureLocation; } @@ -448,10 +446,10 @@ public class VerifyXMLSignatureRequestType { * * @param value * allowed object is - * {@link XMLSignatureLocationType } + * {@link String } * */ - public void setVerifySignatureLocation(XMLSignatureLocationType value) { + public void setVerifySignatureLocation(String value) { this.verifySignatureLocation = value; } diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyXMLSignatureResponseType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyXMLSignatureResponseType.java index 622b90f..38842ae 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyXMLSignatureResponseType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/VerifyXMLSignatureResponseType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -27,14 +27,14 @@ import javax.xml.bind.annotation.XmlType; * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="SignerInfo" type="{http://www.w3.org/2000/09/xmldsig#}KeyInfoType"/> - * <element name="HashInputData" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}InputDataType" maxOccurs="unbounded" minOccurs="0"/> - * <element name="ReferenceInputData" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}InputDataType" maxOccurs="unbounded" minOccurs="0"/> - * <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ReferencesCheckResultType"/> - * <element name="SignatureManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ReferencesCheckResultType" minOccurs="0"/> - * <element name="XMLDSIGManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ManifestRefsCheckResultType" maxOccurs="unbounded" minOccurs="0"/> - * <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}CheckResultType"/> - * <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}FormResultType" maxOccurs="unbounded" minOccurs="0"/> - * <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ExtendedCertificateCheckResultType" minOccurs="0"/> + * <element name="HashInputData" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}InputDataType" maxOccurs="unbounded" minOccurs="0"/> + * <element name="ReferenceInputData" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}InputDataType" maxOccurs="unbounded" minOccurs="0"/> + * <element name="SignatureCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultType"/> + * <element name="SignatureManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ReferencesCheckResultType" minOccurs="0"/> + * <element name="XMLDSIGManifestCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ManifestRefsCheckResultType" maxOccurs="unbounded" minOccurs="0"/> + * <element name="CertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}CheckResultType"/> + * <element name="FormCheckResult" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}FormResultType" maxOccurs="unbounded" minOccurs="0"/> + * <element name="ExtendedCertificateCheck" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ExtendedCertificateCheckResultType" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/X509DataType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/X509DataType.java index 76ad845..e653d0c 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/X509DataType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/X509DataType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -53,11 +53,11 @@ import org.w3c.dom.Element; public class X509DataType { @XmlElementRefs({ - @XmlElementRef(name = "X509CRL", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), - @XmlElementRef(name = "X509SubjectName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), - @XmlElementRef(name = "X509IssuerSerial", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), @XmlElementRef(name = "X509Certificate", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), - @XmlElementRef(name = "X509SKI", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) + @XmlElementRef(name = "X509SKI", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "X509IssuerSerial", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "X509SubjectName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false), + @XmlElementRef(name = "X509CRL", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) }) @XmlAnyElement(lax = true) protected List x509IssuerSerialOrX509SKIOrX509SubjectName; @@ -82,9 +82,9 @@ public class X509DataType { * Objects of the following type(s) are allowed in the list * {@link Object } * {@link JAXBElement }{@code <}{@link byte[]}{@code >} - * {@link JAXBElement }{@code <}{@link String }{@code >} - * {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >} * {@link JAXBElement }{@code <}{@link byte[]}{@code >} + * {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >} + * {@link JAXBElement }{@code <}{@link String }{@code >} * {@link Element } * {@link JAXBElement }{@code <}{@link byte[]}{@code >} * diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/X509IssuerSerialType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/X509IssuerSerialType.java index 684ade3..18507b9 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/X509IssuerSerialType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/X509IssuerSerialType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/XMLContentType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/XMLContentType.java new file mode 100644 index 0000000..b486c4b --- /dev/null +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/XMLContentType.java @@ -0,0 +1,70 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2016.06.15 at 04:11:53 PM CEST +// + + +package at.gv.egiz.moasig; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java class for XMLContentType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="XMLContentType">
+ *   <complexContent>
+ *     <extension base="{http://reference.e-government.gv.at/namespace/moa/20020822#}AnyChildrenType">
+ *       <attribute ref="{http://www.w3.org/XML/1998/namespace}space"/>
+ *     </extension>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "XMLContentType") +public class XMLContentType + extends AnyChildrenType +{ + + @XmlAttribute(name = "space", namespace = "http://www.w3.org/XML/1998/namespace") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String space; + + /** + * Gets the value of the space property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSpace() { + return space; + } + + /** + * Sets the value of the space property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSpace(String value) { + this.space = value; + } + +} diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/XMLDataObjectAssociationType.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/XMLDataObjectAssociationType.java index f0c8a59..a15226a 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/XMLDataObjectAssociationType.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/XMLDataObjectAssociationType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // @@ -24,8 +24,8 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}MetaInfoType" minOccurs="0"/> - * <element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20151109#}ContentRequiredRefType"/> + * <element name="MetaInfo" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}MetaInfoType" minOccurs="0"/> + * <element name="Content" type="{http://reference.e-government.gv.at/namespace/moa/20020822#}ContentRequiredRefType"/> * </sequence> * </restriction> * </complexContent> diff --git a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/package-info.java b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/package-info.java index cb3fb6c..d01d79c 100644 --- a/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/package-info.java +++ b/moaSig/moa-sig/src/generated/java/at/gv/egiz/moasig/package-info.java @@ -2,8 +2,8 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2016.06.09 at 06:28:21 AM CEST +// Generated on: 2016.06.15 at 04:11:53 PM CEST // -@javax.xml.bind.annotation.XmlSchema(namespace = "http://reference.e-government.gv.at/namespace/moa/20151109#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@javax.xml.bind.annotation.XmlSchema(namespace = "http://reference.e-government.gv.at/namespace/moa/20020822#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) package at.gv.egiz.moasig; diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java index 8278399..e4d93a7 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java @@ -24,6 +24,15 @@ package at.gv.egovernment.moa.spss.server.service; +import at.gv.egiz.asic.api.ASiC; +import at.gv.egiz.asic.api.ASiCFactory; +import at.gv.egiz.asic.api.ASiCFormat; +import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egiz.asic.impl.ASiCMOAVerifier; +import at.gv.egiz.asic.xmlbind.VerifyASICSignatureRequestParser; +import at.gv.egiz.asic.xmlbind.VerifyASICSignatureResponseBuilder; +import at.gv.egiz.asic.xmlbind.VerifyASiCRequest; +import at.gv.egovernment.moa.spss.MOAApplicationException; import org.apache.axis.AxisFault; import org.w3c.dom.Element; @@ -45,6 +54,9 @@ import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; import at.gv.egovernment.moaspss.logging.Logger; import at.gv.egovernment.moaspss.util.StreamUtils; +import java.io.FileInputStream; +import java.util.List; + /** * The service endpoint for the SignatureVerification web service. * @@ -122,6 +134,80 @@ public class SignatureVerificationService { return response; } + + + /** + * Handle a VerifyPDFSignatureRequest. + * + * @param request The VerifyPDFSignatureRequest to work on + * (contained in the 0th element of the array). + * @return A VerifyPDFSignatureResponse as the only element of + * the Element array. + * @throws AxisFault An error occurred during handling of the message. + */ + public Element[] VerifyASICSignatureRequest(Element[] request) + throws AxisFault { + CMSSignatureVerificationInvoker invoker = + CMSSignatureVerificationInvoker.getInstance(); + Element[] response = new Element[1]; + + try { + + // create a parser and builder for binding API objects to/from XML + VerifyASICSignatureRequestParser requestParser = + new VerifyASICSignatureRequestParser(); + VerifyASICSignatureResponseBuilder responseBuilder = + new VerifyASICSignatureResponseBuilder(); + Element reparsedReq; + VerifyASiCRequest requestObj; + VerifyCMSSignatureResponse responseObj; + // create a parser and builder for binding API objects to/from XML + + //since Axis (1.1 ff) has problem with namespaces we take the raw request stored by the Axishandler. + TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); + // validate the request + reparsedReq = ServiceUtils.reparseRequest(request[0]);//context.getRequest()); + + // convert to API objects + requestObj = requestParser.parseASIC(reparsedReq); + + if(requestObj.getFormat() == null) { + throw new MOAApplicationException("asic.0006", null); + } + + ASiC aSiC = ASiCFactory.parseASiC(requestObj.getAsicInput(), + requestObj.getFormat()); + + Logger.debug("Got ASiC " + aSiC); + + // invoke the core logic + ASiCMOAVerifier v = new ASiCMOAVerifier(); + List results = v.verify(aSiC, + requestObj.getTrustProfile(), requestObj.getDate()); + + // map back to XML + response[0] = responseBuilder.build(results).getDocumentElement(); + + // save response in transaction + context.setResponse(response[0]); + + } catch (MOAException e) { + AxisFault fault = AxisFault.makeFault(e); + fault.setFaultDetail(new Element[] { e.toErrorResponse()}); + Logger.debug("Anfrage zur Signaturpruefung wurde nicht erfolgreich beendet:" + + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); + throw fault; + } catch (Throwable t) { + MOASystemException e = new MOASystemException("2900", null, t); + AxisFault fault = AxisFault.makeFault(e); + fault.setFaultDetail(new Element[] { e.toErrorResponse()}); + Logger.debug("Anfrage zur Signaturpruefung wurde nicht erfolgreich beendet:" + + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); + throw fault; + } + + return response; + } /** * Handle a VerifyCMSSignatureRequest. diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSCreateSignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSCreateSignatureBindingImpl.java deleted file mode 100644 index 31302d3..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSCreateSignatureBindingImpl.java +++ /dev/null @@ -1,72 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.binding; - -import java.util.Iterator; -import java.util.List; - -import at.gv.egiz.moasig.CreateCMSSignatureResponseType; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponseElement; -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; -import at.gv.egovernment.moa.spss.server.webservice.CMSCreateSignatureBinding; - -public class CMSCreateSignatureBindingImpl implements CMSCreateSignatureBinding { - - private TransformerUtils transformerUtils = new TransformerUtils(); - - /** The factory to create API objects. */ - private SPSSFactory factory; - - private CMSParserUtils cmsParserUtils; - - public CMSCreateSignatureBindingImpl() { - this.factory = SPSSFactory.getInstance(); - this.cmsParserUtils = new CMSParserUtils(); - } - - @Override - public CreateCMSSignatureRequest buildCMSRequest( - at.gv.egiz.moasig.CreateCMSSignatureRequest createCMSSignatureRequest) throws MOAApplicationException { - - String keyIdentifier = createCMSSignatureRequest.getKeyIdentifier(); - List singleSignatureInfos = this.cmsParserUtils.parseSingleSignatureInfos( - createCMSSignatureRequest.getSingleSignatureInfo()); - - return this.factory.createCreateCMSSignatureRequest(keyIdentifier, singleSignatureInfos); - } - - @Override - public CreateCMSSignatureResponseType buildCMSResponse(CreateCMSSignatureResponse response) - throws MOAApplicationException { - - Iterator iter = response.getResponseElements().iterator(); - - CreateCMSSignatureResponseType createCMSSignatureResponseType = new CreateCMSSignatureResponseType(); - - while (iter.hasNext()) { - CreateCMSSignatureResponseElement responseElement = (CreateCMSSignatureResponseElement) iter.next(); - - switch (responseElement.getResponseType()) { - case CreateCMSSignatureResponseElement.CMS_SIGNATURE: - CMSSignatureResponse cmsSignatureResponse = (CMSSignatureResponse) responseElement; - createCMSSignatureResponseType.getCMSSignatureOrErrorResponse() - .add( - this.cmsParserUtils.addCMSSignature(cmsSignatureResponse)); - break; - - case CreateCMSSignatureResponseElement.ERROR_RESPONSE: - ErrorResponse errorResponse = (ErrorResponse) responseElement; - createCMSSignatureResponseType.getCMSSignatureOrErrorResponse().add( - this.cmsParserUtils.addErrorResponse(errorResponse)); - break; - } - } - - return createCMSSignatureResponseType; - } - - -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java deleted file mode 100644 index 3bfe2f5..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java +++ /dev/null @@ -1,141 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.binding; - -import java.io.IOException; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.cmssign.SingleSignatureInfo; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; -import at.gv.egovernment.moaspss.util.Base64Utils; - -public class CMSParserUtils { - - private TransformerUtils transformerUtils = new TransformerUtils(); - - /** The factory to create API objects. */ - private SPSSFactory factory; - - public CMSParserUtils() { - this.factory = SPSSFactory.getInstance(); - } - - /** - * Add a CMSSignature element to the response. - * - * @param cmsSignatureResponse - * The content to put under the CMSSignature - * element. - * @throws IOException - */ - public byte[] addCMSSignature(CMSSignatureResponse cmsSignatureResponse) throws MOAApplicationException { - String base64Value = cmsSignatureResponse.getCMSSignature(); - - try { - return Base64Utils.decode(base64Value, true); - } catch (IOException e) { - throw new MOAApplicationException("Base64 decoding failed", null); - } - } - - /** - * Add a ErrorResponse element to the response. - * - * @param errorResponse - * The API object containing the information to put into the - * ErrorResponse DOM element. - */ - public at.gv.egiz.moasig.ErrorResponseType addErrorResponse(ErrorResponse errorResponse) { - at.gv.egiz.moasig.ErrorResponseType errorResponseType = new at.gv.egiz.moasig.ErrorResponseType(); - - errorResponseType.setErrorCode(BigInteger.valueOf(errorResponse.getErrorCode())); - errorResponseType.setInfo(errorResponse.getInfo()); - - return errorResponseType; - } - - /** - * Parse all SingleSignatureInfo elements of the - * CreateCMSSignatureRequest. - * - * @param requestElem - * The CreateCMSSignatureRequest to parse. - * @return A List of SingleSignatureInfo API - * objects. - * @throws MOAApplicationException - * An error occurred parsing on of the - * SingleSignatureInfo elements. - */ - public List parseSingleSignatureInfos( - List singleInfos) - throws MOAApplicationException { - - List singleSignatureInfos = new ArrayList(); - - Iterator singleInfoIterator = singleInfos - .iterator(); - - while (singleInfoIterator.hasNext()) { - at.gv.egiz.moasig.CreateCMSSignatureRequestType.SingleSignatureInfo singleSignatureInfo = singleInfoIterator - .next(); - - singleSignatureInfos.add(parseSingleSignatureInfo(singleSignatureInfo)); - } - - return singleSignatureInfos; - } - - /** - * Parse a SingleSignatureInfo DOM element. - * - * @param sigInfoElem - * The SingleSignatureInfo DOM element to parse. - * @return A SingleSignatureInfo API object containing the - * information of sigInfoElem. - * @throws MOAApplicationException - * An error occurred parsing the - * SingleSignatureInfo. - */ - public SingleSignatureInfo parseSingleSignatureInfo( - at.gv.egiz.moasig.CreateCMSSignatureRequestType.SingleSignatureInfo singleSignatureInfo) - throws MOAApplicationException { - - DataObjectInfo dataObjectInfo = parseDataObjectInfo(singleSignatureInfo.getDataObjectInfo()); - boolean securityLayerConform = singleSignatureInfo.isSecurityLayerConformity(); - - return factory.createSingleSignatureInfoCMS(dataObjectInfo, securityLayerConform); - } - - /** - * Parse the DataObjectInfo DOM elements contained in the given - * SingleSignatureInfo DOM element. - * - * @param sigInfoElem - * The SingleSignatureInfo DOM element whose - * DataObjectInfos to parse. - * @return A List of DataObjectInfo API objects - * containing the data from the DataObjectInfo DOM - * elements. - * @throws MOAApplicationException - * An error occurred parsing one of the - * DataObjectInfos. - */ - public DataObjectInfo parseDataObjectInfo( - at.gv.egiz.moasig.CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo dataObjectInfo) - throws MOAApplicationException { - - String structure = dataObjectInfo.getStructure(); - - CMSDataObject dataObject = this.transformerUtils.parseDataObject(dataObjectInfo.getDataObject()); - - return factory.createDataObjectInfo(structure, dataObject); - - } - -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java deleted file mode 100644 index 1cfa806..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java +++ /dev/null @@ -1,244 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.binding; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.StringTokenizer; - -import at.gv.egiz.moasig.FormResultType; -import at.gv.egiz.moasig.ObjectFactory; -import at.gv.egiz.moasig.PDFSignatureResultType; -import at.gv.egiz.moasig.VerifyCMSSignatureResponseType; -import at.gv.egiz.moasig.VerifyPDFSignatureRequest; -import at.gv.egiz.moasig.VerifyPDFSignatureResponseType; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement; -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.AdESFormResults; -import at.gv.egovernment.moa.spss.server.webservice.CMSVerifySignatureBinding; -import at.gv.egovernment.moaspss.util.CollectionUtils; - -public class CMSVerifySignatureBindingImpl implements CMSVerifySignatureBinding { - - private TransformerUtils transformerUtils = new TransformerUtils(); - - /** The factory to create API objects. */ - private SPSSFactory factory = SPSSFactory.getInstance(); - - @Override - public VerifyCMSSignatureRequest buildCMSRequest( - at.gv.egiz.moasig.VerifyCMSSignatureRequest verifyCMSSignatureRequest) throws MOAApplicationException { - - Date dateTime = null; - if (verifyCMSSignatureRequest.getDateTime() != null) { - dateTime = verifyCMSSignatureRequest.getDateTime().toGregorianCalendar().getTime(); - } - - int[] signatories = parseSignatories(verifyCMSSignatureRequest); - - CMSDataObject dataObject = this.transformerUtils.parseDataObject(verifyCMSSignatureRequest.getDataObject()); - - String trustProfileID = null; - - if (verifyCMSSignatureRequest.getTrustProfileID() != null) { - trustProfileID = verifyCMSSignatureRequest.getTrustProfileID(); - } - - InputStream cmsSignature = new ByteArrayInputStream(verifyCMSSignatureRequest.getCMSSignature()); - - return factory.createVerifyCMSSignatureRequest(signatories, dateTime, cmsSignature, dataObject, trustProfileID, false); - } - - /** - * Parse the Signatories attribute contained in the - * VerifyCMSSignatureRequest DOM element. - * - * @param requestElem - * The VerifyCMSSignatureRequest DOM element. - * @return The signatories contained in the given - * VerifyCMSSignatureRequest DOM element. - */ - private int[] parseSignatories(at.gv.egiz.moasig.VerifyCMSSignatureRequest verifyCMSSignatureRequest) { - if(verifyCMSSignatureRequest.getSignatories().isEmpty()) { - return VerifyCMSSignatureRequest.ALL_SIGNATORIES; - } - - Iterator signatoriesIterator = verifyCMSSignatureRequest.getSignatories().iterator(); - List signatoriesList = new ArrayList(); - - int[] signatories; - while (signatoriesIterator.hasNext()) { - String signatorie = signatoriesIterator.next(); - - if ("all".equals(signatorie)) { - return VerifyCMSSignatureRequest.ALL_SIGNATORIES; - } else { - StringTokenizer tokenizer = new StringTokenizer(signatorie); - // put the signatories into a List - while (tokenizer.hasMoreTokens()) { - try { - signatoriesList.add(new Integer(tokenizer.nextToken())); - } catch (NumberFormatException e) { - // this cannot occur if the request has been validated - } - } - } - - } - - // convert the List into an int array - signatories = CollectionUtils.toIntArray(signatoriesList); - - return signatories; - } - - @Override - public VerifyCMSSignatureResponseType buildCMSResponse(VerifyCMSSignatureResponse response) - throws MOAApplicationException { - - VerifyCMSSignatureResponseType verifyCMSSignatureResponseType = new VerifyCMSSignatureResponseType(); - - Iterator iter; - - for (iter = response.getResponseElements().iterator(); iter.hasNext();) { - VerifyCMSSignatureResponseElement responseElement = (VerifyCMSSignatureResponseElement) iter.next(); - addResponseElement(verifyCMSSignatureResponseType, responseElement); - } - - return verifyCMSSignatureResponseType; - } - - /** - * Add an element to the response. - * - * @param responseElement - * The element to add to the response. - * @throws MOAApplicationException - * An error occurred adding the element. - */ - private void addResponseElement(VerifyCMSSignatureResponseType verifyCMSSignatureResponseType, - VerifyCMSSignatureResponseElement responseElement) throws MOAApplicationException { - - ObjectFactory of = new ObjectFactory(); - SignerInfo signerInfo = responseElement.getSignerInfo(); - CheckResult signatureCheck = responseElement.getSignatureCheck(); - CheckResult certCheck = responseElement.getCertificateCheck(); - - verifyCMSSignatureResponseType.getSignerInfoAndSignatureCheckAndCertificateCheck().add( - of.createVerifyCMSSignatureResponseTypeSignerInfo(this.transformerUtils.buildSignerInfo(signerInfo))); - verifyCMSSignatureResponseType.getSignerInfoAndSignatureCheckAndCertificateCheck() - .add(of.createVerifyCMSSignatureResponseTypeSignatureCheck( - this.transformerUtils.buildCheckResult(signatureCheck))); - - verifyCMSSignatureResponseType.getSignerInfoAndSignatureCheckAndCertificateCheck() - .add(of.createVerifyCMSSignatureResponseTypeCertificateCheck( - this.transformerUtils.buildCheckResult(certCheck))); - - if (responseElement.getAdESFormResults() != null) { - Iterator adesIterator = responseElement.getAdESFormResults().iterator(); - while (adesIterator.hasNext()) { - AdESFormResults adesResult = (AdESFormResults) adesIterator.next(); - FormResultType formResultType = new FormResultType(); - formResultType.setCode(BigInteger.valueOf(adesResult.getCode())); - formResultType.setName(adesResult.getName()); - - verifyCMSSignatureResponseType.getSignerInfoAndSignatureCheckAndCertificateCheck().add( - of.createVerifyCMSSignatureResponseTypeFormCheckResult(formResultType)); - } - } - } - - /** - * Add an element to the response. - * - * @param responseElement - * The element to add to the response. - * @throws MOAApplicationException - * An error occurred adding the element. - */ - private void addResponseElement(VerifyPDFSignatureResponseType verifyPDFSignatureResponseType, - VerifyCMSSignatureResponseElement responseElement) throws MOAApplicationException { - - SignerInfo signerInfo = responseElement.getSignerInfo(); - CheckResult signatureCheck = responseElement.getSignatureCheck(); - CheckResult certCheck = responseElement.getCertificateCheck(); - - PDFSignatureResultType resultType = new PDFSignatureResultType(); - - if (responseElement.getAdESFormResults() != null) { - Iterator adesIterator = responseElement.getAdESFormResults().iterator(); - while (adesIterator.hasNext()) { - AdESFormResults adesResult = (AdESFormResults) adesIterator.next(); - FormResultType formResultType = new FormResultType(); - formResultType.setCode(BigInteger.valueOf(adesResult.getCode())); - formResultType.setName(adesResult.getName()); - resultType.getFormCheckResult().add(formResultType); - } - } - - resultType.setSignerInfo(this.transformerUtils.buildSignerInfo(signerInfo)); - resultType.setSignatureCheck(this.transformerUtils.buildCheckResult(signatureCheck)); - resultType.setCertificateCheck(this.transformerUtils.buildCheckResult(certCheck)); - - verifyPDFSignatureResponseType.getSignatureResult().add(resultType); - } - - /** - * Parse the Signatories attribute contained in the - * VerifyCMSSignatureRequest DOM element. - * - * @param requestElem - * The VerifyCMSSignatureRequest DOM element. - * @return The signatories contained in the given - * VerifyCMSSignatureRequest DOM element. - */ - private int[] parseSignatories(VerifyPDFSignatureRequest verifyPDFSignatureRequest) { - return VerifyCMSSignatureRequest.ALL_SIGNATORIES; - } - - @Override - public VerifyCMSSignatureRequest buildPDFRequest(VerifyPDFSignatureRequest verifyPDFSignatureRequest) - throws MOAApplicationException { - Date dateTime = null; - if (verifyPDFSignatureRequest.getDateTime() != null) { - dateTime = verifyPDFSignatureRequest.getDateTime().toGregorianCalendar().getTime(); - } - - int[] signatories = parseSignatories(verifyPDFSignatureRequest); - - String trustProfileID = null; - - if (verifyPDFSignatureRequest.getTrustProfileID() != null) { - trustProfileID = verifyPDFSignatureRequest.getTrustProfileID(); - } - - InputStream cmsSignature = new ByteArrayInputStream(verifyPDFSignatureRequest.getPDFSignature()); - - return factory.createVerifyCMSSignatureRequest(signatories, dateTime, cmsSignature, null, trustProfileID, true); - } - - @Override - public VerifyPDFSignatureResponseType buildPDFResponse(VerifyCMSSignatureResponse response) - throws MOAApplicationException { - VerifyPDFSignatureResponseType verifyPDFSignatureResponseType = new VerifyPDFSignatureResponseType(); - - Iterator iter; - - for (iter = response.getResponseElements().iterator(); iter.hasNext();) { - VerifyCMSSignatureResponseElement responseElement = (VerifyCMSSignatureResponseElement) iter.next(); - addResponseElement(verifyPDFSignatureResponseType, responseElement); - } - - return verifyPDFSignatureResponseType; - } - -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFCreateSignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFCreateSignatureBindingImpl.java deleted file mode 100644 index b16cce7..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFCreateSignatureBindingImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.binding; - -import java.math.BigInteger; -import java.util.Iterator; - -import at.gv.egiz.moasig.CreatePDFSignatureRequest; -import at.gv.egiz.moasig.CreatePDFSignatureResponseType; -import at.gv.egiz.moasig.ErrorResponseType; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.server.webservice.PDFCreateSignatureBinding; -import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFRequest; -import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFRespone; -import at.gv.egovernment.moa.spss.server.xmlbind.PDFSignatureInfo; -import at.gv.egovernment.moa.spss.server.xmlbind.SignedPDFInfo; - -public class PDFCreateSignatureBindingImpl implements PDFCreateSignatureBinding { - - public PDFCreateSignatureBindingImpl() { - } - - @Override - public CreatePDFRequest buildPDFRequest(CreatePDFSignatureRequest createCMSSignatureRequest) - throws MOAApplicationException { - String keyIdentifier = createCMSSignatureRequest.getKeyIdentifier(); - CreatePDFRequest createPDFRequest = new CreatePDFRequest(keyIdentifier); - Iterator iter = - createCMSSignatureRequest.getSingleSignatureInfo().iterator(); - - while(iter.hasNext()) { - at.gv.egiz.moasig.CreatePDFSignatureRequest.SingleSignatureInfo singleSignatureInfo = iter.next(); - createPDFRequest.getSignatureInfoList().add(parseSingleSignatureInfo(singleSignatureInfo)); - } - - return createPDFRequest; - } - - @Override - public CreatePDFSignatureResponseType buildPDFResponse(CreatePDFRespone response) throws MOAApplicationException { - - CreatePDFSignatureResponseType createPDFSignatureResponseType = new CreatePDFSignatureResponseType(); - - Iterator iter = response.getSignatureInfoList().iterator(); - - while(iter.hasNext()) { - SignedPDFInfo signedPDFInfo = iter.next(); - - createPDFSignatureResponseType.getPDFSignature().add(buildPDFSignedResponse(signedPDFInfo)); - } - return createPDFSignatureResponseType; - } - - public PDFSignatureInfo parseSingleSignatureInfo( - at.gv.egiz.moasig.CreatePDFSignatureRequest.SingleSignatureInfo singleSignatureInfo) - throws MOAApplicationException { - String signatureProfile = singleSignatureInfo.getSignatureProfile(); - String signaturePosition = singleSignatureInfo.getSignaturePosition(); - String signatureID = singleSignatureInfo.getSignatureID(); - byte[] inputPDF = singleSignatureInfo.getPDFDocument(); - PDFSignatureInfo PDFSignatureInfo = new PDFSignatureInfo(inputPDF, - signatureProfile, signaturePosition, signatureID); - - return PDFSignatureInfo; - } - - public at.gv.egiz.moasig.PDFSignedRepsonse buildPDFSignedResponse(SignedPDFInfo signedPDFInfo) { - at.gv.egiz.moasig.PDFSignedRepsonse response = new at.gv.egiz.moasig.PDFSignedRepsonse(); - - response.setSignatureID(signedPDFInfo.getSignatureID()); - - switch (signedPDFInfo.getResponseType()) { - case SignedPDFInfo.SUCCESS_SIGNATURE: - response.setPDFSignature(signedPDFInfo.getPdfDocument()); - break; - - default: - ErrorResponseType errorResponseType = new ErrorResponseType(); - errorResponseType.setErrorCode(BigInteger.valueOf(signedPDFInfo.getErrorCode())); - errorResponseType.setInfo(signedPDFInfo.getErrorInfo()); - response.setErrorResponse(errorResponseType); - break; - } - - return response; - } -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformParser.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformParser.java deleted file mode 100644 index 1d05f22..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformParser.java +++ /dev/null @@ -1,363 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - -package at.gv.egovernment.moa.spss.server.webservice.binding; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.Serializable; -import java.io.StringBufferInputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.StringTokenizer; - -import javax.xml.bind.JAXBElement; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.Element; -import org.w3c.dom.traversal.NodeIterator; -import org.xml.sax.SAXException; - -import at.gv.egiz.moasig.MoaTransformType; -import at.gv.egiz.moasig.MoaTransformsType; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.Base64Transform; -import at.gv.egovernment.moa.spss.api.common.CanonicalizationTransform; -import at.gv.egovernment.moa.spss.api.common.EnvelopedSignatureTransform; -import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform; -import at.gv.egovernment.moa.spss.api.common.Transform; -import at.gv.egovernment.moa.spss.api.common.XPathFilter; -import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform; -import at.gv.egovernment.moa.spss.api.common.XPathTransform; -import at.gv.egovernment.moa.spss.api.common.XSLTTransform; -import at.gv.egovernment.moaspss.util.Constants; -import at.gv.egovernment.moaspss.util.DOMUtils; -import at.gv.egovernment.moaspss.util.XPathUtils; - -/** - * A parser to parse XMLDsig Transform DOM elements into their MOA - * SPSS API representation. - * - * @author Patrick Peck - * @version $Id$ - */ -public class TransformParser { - // - // XPath expressions for selecting information from the DOM tree - // - private static final String DSIG = Constants.DSIG_PREFIX + ":"; - private static final String DSIG_FILTER2 = Constants.DSIG_FILTER2_PREFIX + ":"; - private static final String XSLT = Constants.XSLT_PREFIX + ":"; - private static final String EC = Constants.DSIG_EC_PREFIX + ":"; - private static final String TRANSFORM_XPATH = DSIG + "Transform"; - private static final String XPATH_XPATH = DSIG + "XPath"; - private static final String XSLT_ELEMENT_XPATH = XSLT + "stylesheet"; - private static final String XPATH2_XPATH = (DSIG_FILTER2 + "XPath[@Filter=\"intersect\"] | ") - + (DSIG_FILTER2 + "XPath[@Filter=\"subtract\"] | ") + (DSIG_FILTER2 + "XPath[@Filter=\"union\"]"); - private static final String INCLUSIVE_NAMESPACES_XPATH = EC + "InclusiveNamespaces"; - - /** - * The SPSSFactory to use for creating new API objects. - */ - private SPSSFactory factory = SPSSFactory.getInstance(); - - /** - * Parse an XMLDsig Transforms DOM element. - * - * @param transformsElem - * The Transforms DOM element to parse. - * @return A List of Transform API objects - * containing the data from the individual Transform - * DOM elements. - * @throws MOAApplicationException - * An error occurred parsing the Transforms DOM - * element. - */ - public List parseTransforms(MoaTransformsType moaTransformsType) throws MOAApplicationException { - List transforms = new ArrayList(); - if (moaTransformsType.getMoaTransform() != null) { - Iterator transformIterator = moaTransformsType.getMoaTransform().iterator(); - - while (transformIterator.hasNext()) { - MoaTransformType transformType = transformIterator.next(); - Transform transform = parseTransform(transformType); - transforms.add(transform); - } - } - return transforms; - } - - /** - * Parse an XMLDsig Transform DOM element. - * - * @param transformElem - * Transform DOM element to parse. - * @return The Transform API object containing the data from - * the Transform DOM element. - * @throws MOAApplicationException - * An error occurred parsing the Transform DOM - * element. - */ - public Transform parseTransform(MoaTransformType transformType) throws MOAApplicationException { - - String algorithmUri = transformType.getAlgorithm();// transformElem.getAttribute("Algorithm"); - - if (CanonicalizationTransform.CANONICAL_XML.equals(algorithmUri) - || CanonicalizationTransform.CANONICAL_XML_WITH_COMMENTS.equals(algorithmUri)) { - return factory.createCanonicalizationTransform(algorithmUri); - } else if (ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML.equals(algorithmUri) - || ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML_WITH_COMMENTS.equals(algorithmUri)) { - return parseExclusiveC14nTransform(algorithmUri, transformType); - } else if (Base64Transform.BASE64_DECODING.equals(algorithmUri)) { - return factory.createBase64Transform(); - } else if (EnvelopedSignatureTransform.ENVELOPED_SIGNATURE.equals(algorithmUri)) { - return factory.createEnvelopedSignatureTransform(); - } else if (XPathTransform.XPATH.equals(algorithmUri)) { - return parseXPathTransform(transformType); - } else if (XPathFilter2Transform.XPATH_FILTER2.equals(algorithmUri)) { - return parseXPathFilter2Transform(transformType); - } else if (XSLTTransform.XSLT.equals(algorithmUri)) { - return parseXSLTTransform(transformType); - } else { - throw new MOAApplicationException("1108", new Object[] { algorithmUri }); - } - } - - private List getDataObjectFromMoaTransform(MoaTransformType transformType) { - Iterator objectsIterator = transformType.getContent().iterator(); - List dataObjects = new ArrayList(); - while (objectsIterator.hasNext()) { - Serializable serializable = objectsIterator.next(); - if (serializable instanceof JAXBElement) { - JAXBElement jaxb = (JAXBElement) serializable; - if (jaxb.getDeclaredType() == byte[].class) { - JAXBElement jaxbString = (JAXBElement) serializable; - dataObjects.add(jaxbString.getValue()); - } - } - } - return dataObjects; - } - - private List getStringFromMoaTransform(MoaTransformType transformType) { - Iterator objectsIterator = transformType.getContent().iterator(); - List dataObjects = new ArrayList(); - while (objectsIterator.hasNext()) { - Serializable serializable = objectsIterator.next(); - if (serializable instanceof JAXBElement) { - JAXBElement jaxb = (JAXBElement) serializable; - if (jaxb.getDeclaredType() == String.class) { - JAXBElement jaxbString = (JAXBElement) serializable; - dataObjects.add(jaxbString.getValue()); - } - } else if (serializable instanceof String) { - dataObjects.add((String) serializable); - } - } - return dataObjects; - } - - /** - * Parse an exclusive canonicalization type of transform. - * - * @param algorithmUri - * The algorithm URI of the canonicalization algorithm. - * @param transformElem - * The Transform DOM element to parse. - * @return An ExclusiveCanonicalizationTransform API object - * containing the data from the transformElem. - * @throws MOAApplicationException - */ - private Transform parseExclusiveC14nTransform(String algorithmUri, MoaTransformType transformType) - throws MOAApplicationException { - List data = getDataObjectFromMoaTransform(transformType); - List inclusiveNamespaces = new ArrayList(); - Iterator dataIterator = data.iterator(); - while (dataIterator.hasNext()) { - byte[] dataObject = dataIterator.next(); - Element transform; - try { - transform = DOMUtils.parseXmlNonValidating(new ByteArrayInputStream(dataObject)); - } catch (ParserConfigurationException e) { - throw new MOAApplicationException("failed to parse transform element", null, e); - } catch (SAXException e) { - throw new MOAApplicationException("failed to parse transform element", null, e); - } catch (IOException e) { - throw new MOAApplicationException("failed to parse transform element", null, e); - } - - Element inclusiveNamespacesElem = (Element) XPathUtils.selectSingleNode(transform, - INCLUSIVE_NAMESPACES_XPATH); - - if (inclusiveNamespacesElem != null) { - StringTokenizer tokenizer = new StringTokenizer(inclusiveNamespacesElem.getAttribute("PrefixList")); - while (tokenizer.hasMoreTokens()) { - inclusiveNamespaces.add(tokenizer.nextToken()); - } - } - } - return factory.createExclusiveCanonicalizationTransform(algorithmUri, inclusiveNamespaces); - } - - /** - * Parse an XPath type of Transform. - * - * @param transformElem - * The Transform DOM element to parse. - * @return The Transform API object representation of the - * Transform DOM element. - * @throws MOAApplicationException - * An error occurred parsing the Transform DOM - * element. - */ - private Transform parseXPathTransform(MoaTransformType transformType) throws MOAApplicationException { - // TODO: XPATH Namespace Declarations - List xPathTransforms = getStringFromMoaTransform(transformType); - Map nsDecls; - if (xPathTransforms.isEmpty()) { - throw new MOAApplicationException("2202", null); - } - nsDecls = new HashMap(); - return factory.createXPathTransform(xPathTransforms.get(0), nsDecls); - /* - * Element xPathElem = (Element) - * XPathUtils.selectSingleNode(transformElem, XPATH_XPATH); - * - * - * if (xPathElem == null) { throw new MOAApplicationException("2202", - * null); } - * - * nsDecls = DOMUtils.getNamespaceDeclarations(xPathElem); - * nsDecls.remove(""); - * - * return factory.createXPathTransform(DOMUtils.getText(xPathElem), - * nsDecls); - */ - } - - /** - * Parse an XPathFilter2 type of Transform. - * - * @param transformElem - * The Transform DOM element to parse. - * @return The Transform API object representation of the - * Transform DOM element. - * @throws MOAApplicationException - * An error occurred parsing the Transform DOM - * element. - */ - private Transform parseXPathFilter2Transform(MoaTransformType transformType) throws MOAApplicationException { - - List data = getDataObjectFromMoaTransform(transformType); - - List filters = new ArrayList(); - Iterator dataIterator = data.iterator(); - while (dataIterator.hasNext()) { - byte[] dataObject = dataIterator.next(); - Element transform; - try { - transform = DOMUtils.parseXmlNonValidating(new ByteArrayInputStream(dataObject)); - } catch (ParserConfigurationException e) { - throw new MOAApplicationException("failed to parse transform element", null, e); - } catch (SAXException e) { - throw new MOAApplicationException("failed to parse transform element", null, e); - } catch (IOException e) { - throw new MOAApplicationException("failed to parse transform element", null, e); - } - - NodeIterator iter = XPathUtils.selectNodeIterator(transform, XPATH2_XPATH); - Element filterElem; - - while ((filterElem = (Element) iter.nextNode()) != null) { - String filterAttr = filterElem.getAttribute("Filter"); - String filterType; - String expression; - Map nsDecls; - - if (filterAttr.equals("intersect")) { - filterType = XPathFilter.INTERSECT_TYPE; - } else if (filterAttr.equals("subtract")) { - filterType = XPathFilter.SUBTRACT_TYPE; - } else { - filterType = XPathFilter.UNION_TYPE; - } - - expression = DOMUtils.getText(filterElem); - nsDecls = DOMUtils.getNamespaceDeclarations(filterElem); - nsDecls.remove(""); - filters.add(factory.createXPathFilter(filterType, expression, nsDecls)); - } - } - if (filters.size() == 0) { - throw new MOAApplicationException("2216", null); - } - - return factory.createXPathFilter2Transform(filters); - } - - /** - * Parse an XSLT type of Transform. - * - * @param transformElem - * The Transform DOM element to parse. - * @return The Transform API object representation of the - * Transform DOM element. - * @throws MOAApplicationException - * An error occurred parsing the Transform DOM - * element. - */ - private Transform parseXSLTTransform(MoaTransformType transformType) throws MOAApplicationException { - List data = getDataObjectFromMoaTransform(transformType); - - if (data.isEmpty()) { - throw new MOAApplicationException("2215", null); - } - - byte[] dataObject = data.get(0); - Element transform; - try { - transform = DOMUtils.parseXmlNonValidating(new ByteArrayInputStream(dataObject)); - } catch (ParserConfigurationException e) { - throw new MOAApplicationException("failed to parse transform element", null, e); - } catch (SAXException e) { - throw new MOAApplicationException("failed to parse transform element", null, e); - } catch (IOException e) { - throw new MOAApplicationException("failed to parse transform element", null, e); - } - - Element xsltElem = (Element) XPathUtils.selectSingleNode(transform, XSLT_ELEMENT_XPATH); - - if (xsltElem == null) { - - } - - return factory.createXSLTTransform(xsltElem); - } - -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformerUtils.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformerUtils.java deleted file mode 100644 index 676c95c..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformerUtils.java +++ /dev/null @@ -1,521 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.binding; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.security.cert.CertificateEncodingException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.xml.bind.JAXBElement; - -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import at.gv.egiz.moasig.MetaInfoType; -import at.gv.egiz.moasig.PublicAuthorityType; -import at.gv.egiz.moasig.QualifiedCertificate; -import at.gv.egiz.moasig.SecureSignatureCreationDevice; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; - -public class TransformerUtils { - - /** The factory to create API objects. */ - private SPSSFactory factory; - - /** - * Create a new CreateXMLSignatureRequestParser. - */ - public TransformerUtils() { - this.factory = SPSSFactory.getInstance(); - } - - public SingleSignatureInfo buildSingleSignatureInfo( - at.gv.egiz.moasig.CreateXMLSignatureRequestType.SingleSignatureInfo singleSignatureInfo) - throws MOAApplicationException { - - List dataObjectInfos = new ArrayList(); - - Iterator dataObjectInfoIterator = singleSignatureInfo - .getDataObjectInfo().iterator(); - - while (dataObjectInfoIterator.hasNext()) { - dataObjectInfos.add(buildDataObjectInfo(dataObjectInfoIterator.next())); - } - - at.gv.egiz.moasig.CreateXMLSignatureRequestType.SingleSignatureInfo.CreateSignatureInfo createSignatureInfoWeb = singleSignatureInfo - .getCreateSignatureInfo(); - - CreateSignatureInfo createSignatureInfo = buildCreateSignatureInfo(createSignatureInfoWeb); - - boolean securityLayerConform = singleSignatureInfo.isSecurityLayerConformity(); - - return factory.createSingleSignatureInfo(dataObjectInfos, createSignatureInfo, securityLayerConform); - } - - public DataObjectInfo buildDataObjectInfo( - at.gv.egiz.moasig.CreateXMLSignatureRequestType.SingleSignatureInfo.DataObjectInfo dataObjectInfo) - throws MOAApplicationException { - String structure = dataObjectInfo.getStructure(); - boolean childOfManifest = dataObjectInfo.isChildOfManifest(); - - Content dataObject = buildContent(dataObjectInfo.getDataObject()); - - CreateTransformsInfoProfile createTransformsInfoProfile = parseCreateTransformsInfoProfile( - dataObjectInfo.getCreateTransformsInfoProfile()); - - return factory.createDataObjectInfo(structure, childOfManifest, dataObject, createTransformsInfoProfile); - } - - public CreateSignatureInfo buildCreateSignatureInfo( - at.gv.egiz.moasig.CreateXMLSignatureRequestType.SingleSignatureInfo.CreateSignatureInfo createSignatureInfo) - throws MOAApplicationException { - if (createSignatureInfo == null) { - return null; - } else { - Content environment = buildContent(createSignatureInfo.getCreateSignatureEnvironment()); - CreateSignatureEnvironmentProfile environmentProfile = parseCreateSignatureEnvironmentProfile( - createSignatureInfo); - return factory.createCreateSignatureInfo(environment, environmentProfile); - } - } - - public CreateSignatureEnvironmentProfile parseCreateSignatureEnvironmentProfile( - at.gv.egiz.moasig.CreateXMLSignatureRequestType.SingleSignatureInfo.CreateSignatureInfo createSignatureInfo) - throws MOAApplicationException { - if (createSignatureInfo.getCreateSignatureEnvironmentProfile() != null) { - return parseCreateSignatureEnvironmentProfile(createSignatureInfo.getCreateSignatureEnvironmentProfile()); - } else { - String profileID = createSignatureInfo.getCreateSignatureEnvironmentProfileID(); - return factory.createCreateSignatureEnvironmentProfile(profileID); - } - } - - public CreateTransformsInfoProfile parseCreateTransformsInfoProfile( - at.gv.egiz.moasig.CreateXMLSignatureRequestType.SingleSignatureInfo.DataObjectInfo dataObjectInfo) - throws MOAApplicationException { - if (dataObjectInfo.getCreateTransformsInfoProfile() != null) { - at.gv.egiz.moasig.CreateTransformsInfoProfile createTransformsInfoProfile = dataObjectInfo - .getCreateTransformsInfoProfile(); - return parseCreateTransformsInfoProfile(createTransformsInfoProfile); - } else { - String profileID = dataObjectInfo.getCreateTransformsInfoProfileID(); - return factory.createCreateTransformsInfoProfile(profileID); - } - } - - /** - * Parse a CreateTransformsInfoProfile DOM element. - * - * @param profileElem - * The CreateTransformsInfoProfile element to parse. - * @return The CreateTransformsInfoProfile API object - * containing the data from the profileElem. - * @throws MOAApplicationException - * An error occurred parsing the DOM element. - */ - public CreateTransformsInfoProfile parseCreateTransformsInfoProfile( - at.gv.egiz.moasig.CreateTransformsInfoProfile createTransformsInfoProfile) throws MOAApplicationException { - if(createTransformsInfoProfile == null) { - return null; - } - - CreateTransformsInfo createTransformsInfo = parseCreateTransformsInfo( - createTransformsInfoProfile.getCreateTransformsInfo()); - List supplements = parseSupplements(createTransformsInfoProfile.getSupplement()); - return factory.createCreateTransformsInfoProfile(createTransformsInfo, supplements); - } - - /** - * Parse a XMLDataObjectAssociationType kind of DOM element. - * - * @param assocElem - * The XMLDataObjectAssociationType kind of DOM - * elmeent to parse. - * @return The XMLDataObjectAssociation API object containing - * the data from the XMLDataObjectAssociationType DOM - * element. - * @throws MOAApplicationException - */ - public XMLDataObjectAssociation parseXMLDataObjectAssociation( - at.gv.egiz.moasig.XMLDataObjectAssociationType xmlDataObjectAssociationType) - throws MOAApplicationException { - - MetaInfo metaInfo = parseMetaInfo(xmlDataObjectAssociationType.getMetaInfo()); - - Content content = buildContent(xmlDataObjectAssociationType.getContent()); - - return factory.createXMLDataObjectAssociation(metaInfo, content); - } - - /** - * Parse a CreateSignatureEnvironmentProfile DOM element. - * - * @param profileElem - * The CreateSignatureEnvironmentProfile DOM element - * to parse. - * @return The CreateSignatureEnvironmentProfile API object - * containing the data from the profileElem. - * @throws MOAApplicationException - */ - public CreateSignatureEnvironmentProfile parseCreateSignatureEnvironmentProfile( - at.gv.egiz.moasig.CreateSignatureEnvironmentProfile createSignatureEnvironmentProfile) - throws MOAApplicationException { - - CreateSignatureLocation createSignatureLocation = parseCreateSignatureLocation( - createSignatureEnvironmentProfile.getCreateSignatureLocation()); - List supplements = parseSupplements(createSignatureEnvironmentProfile.getSupplement()); - - return factory.createCreateSignatureEnvironmentProfile(createSignatureLocation, supplements); - } - - /** - * Parse a CreateSignatureLocation DOM element contained in a - * CreateSignatureEnvironmentProfile. - * - * @param profileElem - * The CreateSignatureEnvironmentProfile DOM element - * containing the CreateSignatureLocation. - * @return The CreateSignatureLocation API object containing - * the data from the CreateSignatureLocation DOM - * element. - */ - private CreateSignatureLocation parseCreateSignatureLocation( - at.gv.egiz.moasig.CreateSignatureLocationType createSignatureLocationType) { - - String xPathExpression = createSignatureLocationType.getValue(); - Map namespaceDeclarations = new HashMap();// DOMUtils.getNamespaceDeclarations(locationElem); - int index = createSignatureLocationType.getIndex().intValue(); - // Integer.parseInt(indexStr); - - return factory.createCreateSignatureLocation(xPathExpression, index, namespaceDeclarations); - } - - /** - * Parse all Supplement DOM elements contained in a given - * parent DOM element. - * - * @param supplementsParentElem - * The DOM element being the parent of the - * Supplements. - * @return A List of Supplement API objects - * containing the data from the Supplement DOM - * elements. - * @throws MOAApplicationException - */ - private List parseSupplements(List supplementsList) - throws MOAApplicationException { - List supplements = new ArrayList(); - Iterator supplementsIterator = supplementsList.iterator(); - - while (supplementsIterator.hasNext()) { - at.gv.egiz.moasig.XMLDataObjectAssociationType xmlDataObjectAssociationType = supplementsIterator.next(); - XMLDataObjectAssociation supplement = parseXMLDataObjectAssociation(xmlDataObjectAssociationType); - supplements.add(supplement); - } - return supplements; - } - - /** - * Parse the CreateTransformsInfo DOM element contained in a - * CreateTransformsInfoProfile. - * - * @param profileElem - * The CreateTransformsInfoProfile DOM element - * containing the CreateTransformsInfo. - * @return The CreateTransformsInfo API object containinig the - * data from the CreateTransformsInfo DOM element. - * @throws MOAApplicationException - * An error occurred parsing the - * CreateTransformsInfo DOM element. - */ - public CreateTransformsInfo parseCreateTransformsInfo(at.gv.egiz.moasig.TransformsInfoType transformsInfoType) - throws MOAApplicationException { - MetaInfo finalDataMetaInfo = null; - List transforms = null; - if (transformsInfoType != null) { - if (transformsInfoType.getMoaTransforms() != null) { - if (transformsInfoType.getMoaTransforms() != null) { - // Transform Parser with MoaTransformsType - at.gv.egovernment.moa.spss.server.webservice.binding.TransformParser parser = new at.gv.egovernment.moa.spss.server.webservice.binding.TransformParser(); - transforms = parser.parseTransforms(transformsInfoType.getMoaTransforms()); - } - } - - finalDataMetaInfo = parseMetaInfo(transformsInfoType.getFinalDataMetaInfo()); - } - return factory.createCreateTransformsInfo(transforms, finalDataMetaInfo); - } - - public Content buildContent(at.gv.egiz.moasig.DataObjectInfoType.DataObject dataObject) - throws MOAApplicationException { - String referenceURI = dataObject.getReference(); - if (dataObject.getBase64Content() != null) { - return factory.createContent(new ByteArrayInputStream(dataObject.getBase64Content()), referenceURI); - } else if (dataObject.getLocRefContent() != null) { - String locationReferenceURI = dataObject.getLocRefContent(); - return factory.createContent(locationReferenceURI, referenceURI); - } else { - return factory.createContent(referenceURI); - } - } - - public Content buildContent(at.gv.egiz.moasig.ContentOptionalRefType contentBaseType) - throws MOAApplicationException { - - String referenceURI = contentBaseType.getReference(); - - if (contentBaseType.getBase64Content() != null) { - return factory.createContent(new ByteArrayInputStream(contentBaseType.getBase64Content()), referenceURI); - } else if (contentBaseType.getLocRefContent() != null) { - String locationReferenceURI = contentBaseType.getLocRefContent(); - return factory.createContent(locationReferenceURI, referenceURI); - } else { - return factory.createContent(referenceURI); - } - } - - public MetaInfo parseMetaInfo(at.gv.egiz.moasig.FinalDataMetaInfoType metaInfoElem) { - SPSSFactory factory = SPSSFactory.getInstance(); - - String mimeType = metaInfoElem.getMimeType(); - String description = metaInfoElem.getDescription(); - String type = metaInfoElem.getType(); - // TODO: any type not supported - - return factory.createMetaInfo(mimeType, description, null, type); - } - - public MetaInfo parseMetaInfo(at.gv.egiz.moasig.MetaInfoType metaInfoElem) { - SPSSFactory factory = SPSSFactory.getInstance(); - - String mimeType = metaInfoElem.getMimeType(); - String description = metaInfoElem.getDescription(); - // TODO: any and type not supported - - return factory.createMetaInfo(mimeType, description, null, null); - } - - public at.gv.egiz.moasig.KeyInfoType buildSignerInfo(at.gv.egovernment.moa.spss.api.common.SignerInfo signerInfo) - throws MOAApplicationException { - at.gv.egiz.moasig.KeyInfoType infoType = new at.gv.egiz.moasig.KeyInfoType(); - - at.gv.egiz.moasig.X509DataType x509DataType = new at.gv.egiz.moasig.X509DataType(); - - at.gv.egiz.moasig.ObjectFactory of = new at.gv.egiz.moasig.ObjectFactory(); - - // Set Issuer - - at.gv.egiz.moasig.X509IssuerSerialType x509IssuerSerialType = new at.gv.egiz.moasig.X509IssuerSerialType(); - - x509IssuerSerialType.setX509IssuerName(signerInfo.getSignerCertificate().getIssuerDN().getName()); - x509IssuerSerialType.setX509SerialNumber(signerInfo.getSignerCertificate().getSerialNumber()); - - x509DataType.getX509IssuerSerialOrX509SKIOrX509SubjectName() - .add(of.createX509DataTypeX509IssuerSerial(x509IssuerSerialType)); - - // Set Subject - try { - RFC2253NameParser parser = new RFC2253NameParser( - signerInfo.getSignerCertificate().getSubjectDN().getName()); - String subjectRfc2253 = parser.parse().getRFC2253String(); - x509DataType.getX509IssuerSerialOrX509SKIOrX509SubjectName() - .add(of.createX509DataTypeX509SubjectName(subjectRfc2253)); - } catch (RFC2253NameParserException e) { - x509DataType.getX509IssuerSerialOrX509SKIOrX509SubjectName().add( - of.createX509DataTypeX509SubjectName(signerInfo.getSignerCertificate().getSubjectDN().getName())); - } - - // Set Certificate - try { - x509DataType.getX509IssuerSerialOrX509SKIOrX509SubjectName() - .add(of.createX509DataTypeX509Certificate(signerInfo.getSignerCertificate().getEncoded())); - } catch (CertificateEncodingException e) { - throw new MOAApplicationException("2245", null, e); - } - - // Qualified Cert - - if (signerInfo.isQualifiedCertificate()) { - QualifiedCertificate qualifiedCertificate = of.createQualifiedCertificate(); - if ("TLS".compareToIgnoreCase(signerInfo.getQCSource()) == 0) { - qualifiedCertificate.setSource(signerInfo.getQCSource()); - } - x509DataType.getX509IssuerSerialOrX509SKIOrX509SubjectName().add(qualifiedCertificate); - } - - // Public Authority - - if (signerInfo.isPublicAuthority()) { - PublicAuthorityType publicAuthorityType = of.createPublicAuthorityType(); - - if (signerInfo.getPublicAuhtorityID() != null) { - publicAuthorityType.setCode(signerInfo.getPublicAuhtorityID()); - } - - JAXBElement publicAuthority = of.createPublicAuthority(publicAuthorityType); - x509DataType.getX509IssuerSerialOrX509SKIOrX509SubjectName().add(publicAuthority); - } - - // ssCD - - if (signerInfo.isSSCD()) { - SecureSignatureCreationDevice sscd = of.createSecureSignatureCreationDevice(); - sscd.setSource(signerInfo.getSSCDSource()); - x509DataType.getX509IssuerSerialOrX509SKIOrX509SubjectName().add(sscd); - } - - if (signerInfo.getIssuerCountryCode() != null) { - x509DataType.getX509IssuerSerialOrX509SKIOrX509SubjectName() - .add(of.createIssuingCountry(signerInfo.getIssuerCountryCode())); - } - - return infoType; - } - - public at.gv.egiz.moasig.CheckResultType buildCheckResult( - at.gv.egovernment.moa.spss.api.common.CheckResult checkResult) { - at.gv.egiz.moasig.CheckResultType checkResultType = new at.gv.egiz.moasig.CheckResultType(); - checkResultType.setCode(BigInteger.valueOf(checkResult.getCode())); - - if (checkResult.getInfo() != null) { - at.gv.egiz.moasig.AnyChildrenType anyInfos = new at.gv.egiz.moasig.AnyChildrenType(); - - for (int idx = 0; idx < checkResult.getInfo().getLength(); idx++) { - Node node = checkResult.getInfo().item(idx); - if (node instanceof Element) { - anyInfos.getContent().add((Element) node); - } - } - - checkResultType.setInfo(anyInfos); - } - return checkResultType; - } - - /** - * Parse a the DataObject DOM element contained in a given - * VerifyCMSSignatureRequest DOM element. - * - * @param requestElem - * The VerifyCMSSignatureRequest DOM element to - * parse. - * @return The CMSDataObject API object containing the data - * from the DataObject DOM element. - */ - public CMSDataObject parseDataObject(at.gv.egiz.moasig.CMSDataObjectRequiredMetaType cmsDataObject) { - - if (cmsDataObject != null) { - MetaInfo metaInfo = null; - - MetaInfoType metaInfoType = cmsDataObject.getMetaInfo(); - - if (metaInfoType != null) { - metaInfo = this.parseMetaInfo(metaInfoType); - } - - at.gv.egiz.moasig.CMSContentBaseType cmsContent = cmsDataObject.getContent(); - - CMSContent content = parseContent(cmsContent); - - BigDecimal excludeByteRangeFrom = null; - - if (cmsDataObject.getFrom() != null) { - excludeByteRangeFrom = new BigDecimal(cmsDataObject.getFrom()); - } - - BigDecimal excludeByteRangeTo = null; - if (cmsDataObject.getTo() != null) { - excludeByteRangeTo = new BigDecimal(cmsDataObject.getTo()); - } - - return factory.createCMSDataObject(metaInfo, content, excludeByteRangeFrom, excludeByteRangeTo); - - } else { - return null; - } - - } - - /** - * Parse a the DataObject DOM element contained in a given - * VerifyCMSSignatureRequest DOM element. - * - * @param requestElem - * The VerifyCMSSignatureRequest DOM element to - * parse. - * @return The CMSDataObject API object containing the data - * from the DataObject DOM element. - */ - public CMSDataObject parseDataObject(at.gv.egiz.moasig.CMSDataObjectOptionalMetaType cmsDataObject) { - - if (cmsDataObject != null) { - MetaInfo metaInfo = null; - - MetaInfoType metaInfoType = cmsDataObject.getMetaInfo(); - - if (metaInfoType != null) { - metaInfo = this.parseMetaInfo(metaInfoType); - } - - at.gv.egiz.moasig.CMSContentBaseType cmsContent = cmsDataObject.getContent(); - - CMSContent content = parseContent(cmsContent); - - BigDecimal excludeByteRangeFrom = null; - - if (cmsDataObject.getFrom() != null) { - excludeByteRangeFrom = new BigDecimal(cmsDataObject.getFrom()); - } - - BigDecimal excludeByteRangeTo = null; - if (cmsDataObject.getTo() != null) { - excludeByteRangeTo = new BigDecimal(cmsDataObject.getTo()); - } - - return factory.createCMSDataObject(metaInfo, content, excludeByteRangeFrom, excludeByteRangeTo); - - } else { - return null; - } - - } - - /** - * Parse the content contained in a CMSContentBaseType kind of - * DOM element. - * - * @param contentElem - * The CMSContentBaseType kind of element to parse. - * @return A CMSDataObject API object containing the data from - * the given DOM element. - */ - public CMSContent parseContent(at.gv.egiz.moasig.CMSContentBaseType cmsContent) { - - if (cmsContent.getBase64Content() != null) { - InputStream binaryContent = new ByteArrayInputStream(cmsContent.getBase64Content()); - return factory.createCMSContent(binaryContent); - } else { - return factory.createCMSContent(cmsContent.getReference()); - } - } -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLCreateSignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLCreateSignatureBindingImpl.java deleted file mode 100644 index 6656d51..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLCreateSignatureBindingImpl.java +++ /dev/null @@ -1,101 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.binding; - -import java.io.IOException; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import javax.xml.transform.TransformerException; - -import at.gv.egiz.moasig.CreateXMLSignatureRequest; -import at.gv.egiz.moasig.CreateXMLSignatureResponseType; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponseElement; -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; -import at.gv.egovernment.moa.spss.server.webservice.XMLCreateSignatureBinding; -import at.gv.egovernment.moaspss.util.DOMUtils; - -public class XMLCreateSignatureBindingImpl implements XMLCreateSignatureBinding { - - /** The factory to create API objects. */ - private SPSSFactory factory; - - /** - * Create a new CreateXMLSignatureRequestParser. - */ - public XMLCreateSignatureBindingImpl() { - this.factory = SPSSFactory.getInstance(); - } - - @Override - public at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest buildXMLRequest( - CreateXMLSignatureRequest createXMLSignatureRequest) throws MOAApplicationException { - - String keyIdentifier = createXMLSignatureRequest.getKeyIdentifier(); - - TransformerUtils transformerUtils = new TransformerUtils(); - - List singleSignatureInfos = new ArrayList(); - - Iterator singleSignatureInfoIterator = createXMLSignatureRequest - .getSingleSignatureInfo().iterator(); - - while (singleSignatureInfoIterator.hasNext()) { - at.gv.egiz.moasig.CreateXMLSignatureRequestType.SingleSignatureInfo singleSignatureInfo = singleSignatureInfoIterator - .next(); - singleSignatureInfos.add(transformerUtils.buildSingleSignatureInfo(singleSignatureInfo)); - } - - return factory.createCreateXMLSignatureRequest(keyIdentifier, singleSignatureInfos); - } - - - - @Override - public CreateXMLSignatureResponseType buildXMLResponse(CreateXMLSignatureResponse response) throws MOAApplicationException { - CreateXMLSignatureResponseType createXMLSignatureResponseType = new CreateXMLSignatureResponseType(); - List responseObjects = response.getResponseElements(); - - Iterator responseIterator = responseObjects.iterator(); - - while(responseIterator.hasNext()) { - Object responseObject = responseIterator.next(); - - CreateXMLSignatureResponseElement responseElement = - (CreateXMLSignatureResponseElement) responseObject; - - switch (responseElement.getResponseType()) { - case CreateXMLSignatureResponseElement.SIGNATURE_ENVIRONMENT_RESPONSE : - SignatureEnvironmentResponse envResponse = - (SignatureEnvironmentResponse) responseElement; - byte[] signature; - try { - signature = DOMUtils.serializeNode(envResponse.getSignatureEnvironment(), "UTF-8"); - } catch (TransformerException e) { - throw new MOAApplicationException("Failed to write xml signature to response", null, e); - } catch (IOException e) { - throw new MOAApplicationException("Failed to write xml signature to response", null, e); - } - createXMLSignatureResponseType.getSignatureEnvironmentOrErrorResponse().add(signature); - break; - - case CreateXMLSignatureResponseElement.ERROR_RESPONSE : - ErrorResponse errorResponse = (ErrorResponse) responseElement; - - at.gv.egiz.moasig.ErrorResponseType errorResponseType = new at.gv.egiz.moasig.ErrorResponseType(); - errorResponseType.setErrorCode(BigInteger.valueOf(errorResponse.getErrorCode())); - errorResponseType.setInfo(errorResponse.getInfo()); - - createXMLSignatureResponseType.getSignatureEnvironmentOrErrorResponse().add(errorResponseType); - break; - } - } - - return createXMLSignatureResponseType; - } - -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java deleted file mode 100644 index dcc92f9..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java +++ /dev/null @@ -1,524 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.binding; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.math.BigInteger; -import java.security.cert.CertificateEncodingException; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.security.auth.login.FailedLoginException; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.transform.dom.DOMResult; - -import org.apache.commons.io.IOUtils; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import at.gv.egiz.moasig.MoaTransformsType; -import at.gv.egiz.moasig.NamespaceDeclarationType; -import at.gv.egiz.moasig.PublicAuthorityType; -import at.gv.egiz.moasig.QualifiedCertificate; -import at.gv.egiz.moasig.SecureSignatureCreationDevice; -import at.gv.egiz.moasig.TransformParameterType; -import at.gv.egiz.moasig.TransformParameterType.Hash; -import at.gv.egiz.moasig.VerifyXMLSignatureResponseType; -import at.gv.egiz.moasig.XMLDataObjectAssociationType; -import at.gv.egiz.moasig.XMLSignatureLocationType; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.ContentBinary; -import at.gv.egovernment.moa.spss.api.common.ContentXML; -import at.gv.egovernment.moa.spss.api.common.InputData; -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; -import at.gv.egovernment.moa.spss.api.xmlverify.AdESFormResults; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; -import at.gv.egovernment.moa.spss.server.webservice.XMLVerifySignatureBinding; -import at.gv.egovernment.moaspss.util.DOMUtils; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; - -public class XMLVerifySignatureBindingImpl implements XMLVerifySignatureBinding { - - /** The SPSSFactory for creating new API objects. */ - private SPSSFactory factory = SPSSFactory.getInstance(); - - private TransformerUtils transformerUtils = new TransformerUtils(); - - private TransformParser transformParser = new TransformParser(); - - @Override - public VerifyXMLSignatureRequest buildXMLRequest( - at.gv.egiz.moasig.VerifyXMLSignatureRequest verifyXMLSignatureRequest) throws MOAApplicationException { - Date dateTime = null; - if (verifyXMLSignatureRequest.getDateTime() != null) { - dateTime = verifyXMLSignatureRequest.getDateTime().toGregorianCalendar().getTime(); - } - boolean returnHashInputData = false; - returnHashInputData = (verifyXMLSignatureRequest.getReturnHashInputData() != null); - String trustProfileID = verifyXMLSignatureRequest.getTrustProfileID(); - VerifySignatureInfo verifySignatureInfo = parseVerifySignatureInfo( - verifyXMLSignatureRequest.getVerifySignatureInfo()); - List supplementProfiles = parseSupplementProfiles(verifyXMLSignatureRequest); - - SignatureManifestCheckParams signatureManifestCheckParams = this - .parseSignatureManifestCheckParams(verifyXMLSignatureRequest.getSignatureManifestCheckParams()); - return factory.createVerifyXMLSignatureRequest(dateTime, verifySignatureInfo, supplementProfiles, - signatureManifestCheckParams, returnHashInputData, trustProfileID); - } - - @Override - public VerifyXMLSignatureResponseType buildXMLResponse(VerifyXMLSignatureResponse response) - throws MOAApplicationException { - VerifyXMLSignatureResponseType verifyXMLSignatureResponseType = new VerifyXMLSignatureResponseType(); - - verifyXMLSignatureResponseType.setSignerInfo(this.transformerUtils.buildSignerInfo(response.getSignerInfo())); - - if (response.getHashInputDatas() != null && !response.getHashInputDatas().isEmpty()) { - for (Iterator iter = response.getHashInputDatas().iterator(); iter.hasNext();) { - InputData inputData = (InputData) iter.next(); - verifyXMLSignatureResponseType.getHashInputData().add(buildInputData(inputData)); - } - } - - if (response.getReferenceInputDatas() != null && !response.getReferenceInputDatas().isEmpty()) { - for (Iterator iter = response.getReferenceInputDatas().iterator(); iter.hasNext();) { - InputData inputData = (InputData) iter.next(); - verifyXMLSignatureResponseType.getReferenceInputData().add(buildInputData(inputData)); - } - } - - // add the SignatureCheck - verifyXMLSignatureResponseType.setSignatureCheck(buildReferencesCheckResult(response.getSignatureCheck())); - - // add the SignatureManifestCheck - if (response.getSignatureManifestCheck() != null) { - verifyXMLSignatureResponseType.setSignatureManifestCheck(buildReferencesCheckResult(response.getSignatureManifestCheck())); - } - - // add the XMLDsigManifestChecks - if(response.getXMLDsigManifestChecks() != null) { - List xmlDsigManifestChecks = response.getXMLDsigManifestChecks(); - Iterator iter = xmlDsigManifestChecks.iterator(); - while(iter.hasNext()) { - Object xmlDsigManifestCheck = iter.next(); - verifyXMLSignatureResponseType.getXMLDSIGManifestCheck().add( - buildManifestCheckResult((at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult) - xmlDsigManifestCheck)); - } - } - - // add the CertificateCheck - verifyXMLSignatureResponseType.setCertificateCheck(this.transformerUtils.buildCheckResult(response.getCertificateCheck())); - - if(response.getAdESFormResults() != null) { - Iterator formIterator = response.getAdESFormResults().iterator(); - - while(formIterator.hasNext()) { - AdESFormResults adESFormResult = (AdESFormResults)formIterator.next(); - verifyXMLSignatureResponseType.getFormCheckResult().add( - buildFormResult(adESFormResult)); - } - - } - - return verifyXMLSignatureResponseType; - } - - private at.gv.egiz.moasig.InputDataType buildInputData(InputData inputData) throws MOAApplicationException { - at.gv.egiz.moasig.InputDataType inputDataType = new at.gv.egiz.moasig.InputDataType(); - inputDataType.setPartOf(inputData.getPartOf()); - - if(inputData.getReferringReferenceNumber() != InputData.REFERER_NONE_) { - inputDataType.setReferringSigReference(BigInteger.valueOf(inputData.getReferringReferenceNumber())); - } - - switch(inputData.getContentType()) { - case Content.XML_CONTENT: - ContentXML contentXml = (ContentXML) inputData; - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - try { - iaik.xml.crypto.utils.DOMUtils.serialize(DOMUtils.nodeList2DocumentFragment( - contentXml.getXMLContent()).getOwnerDocument(), - baos); - inputDataType.setBase64Content(baos.toByteArray()); - } catch (TransformerException e) { - throw new MOAApplicationException("2200", null, e); - } catch (ParserConfigurationException e) { - throw new MOAApplicationException("2200", null, e); - } - - break; - case Content.BINARY_CONTENT: - ContentBinary contentBinary = (ContentBinary) inputData; - try { - inputDataType.setBase64Content(IOUtils.toByteArray(contentBinary.getBinaryContent())); - } catch (IOException e) { - throw new MOAApplicationException("2200", null, e); - } - break; - } - return inputDataType; - } - - private at.gv.egiz.moasig.FormResultType buildFormResult(AdESFormResults adESFormResults) { - at.gv.egiz.moasig.FormResultType formResult = new at.gv.egiz.moasig.FormResultType(); - formResult.setCode(BigInteger.valueOf(adESFormResults.getCode())); - formResult.setName(adESFormResults.getName()); - return formResult; - } - - private at.gv.egiz.moasig.ManifestRefsCheckResultType buildManifestCheckResult( - at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult referencesCheckResult) { - at.gv.egiz.moasig.ManifestRefsCheckResultType referencesCheckResultType = new at.gv.egiz.moasig.ManifestRefsCheckResultType(); - - if (referencesCheckResult.getInfo() != null) { - at.gv.egiz.moasig.ObjectFactory of = new at.gv.egiz.moasig.ObjectFactory(); - at.gv.egiz.moasig.AnyChildrenType anyInfos = new at.gv.egiz.moasig.AnyChildrenType(); - - if (referencesCheckResult.getInfo().getFailedReferences() != null) { - for (int idx = 0; idx < referencesCheckResult.getInfo().getFailedReferences().length; idx++) { - anyInfos.getContent().add(of.createFailedReference( - BigInteger.valueOf(referencesCheckResult.getInfo().getFailedReferences()[idx]))); - } - } - - if (referencesCheckResult.getInfo().getAnyOtherInfo() != null) { - for (int idx = 0; idx < referencesCheckResult.getInfo().getAnyOtherInfo().getLength(); idx++) { - Node node = referencesCheckResult.getInfo().getAnyOtherInfo().item(idx); - if (node instanceof Element) { - anyInfos.getContent().add((Element) node); - } - } - } - - anyInfos.getContent().add(of.createReferringSigReference( - BigInteger.valueOf(referencesCheckResult.getInfo().getReferringSignatureReference()))); - - referencesCheckResultType.setInfo(anyInfos); - - } - - referencesCheckResultType.setCode(BigInteger.valueOf(referencesCheckResult.getCode())); - return referencesCheckResultType; - } - - private at.gv.egiz.moasig.ReferencesCheckResultType buildReferencesCheckResult( - at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult referencesCheckResult) { - at.gv.egiz.moasig.ReferencesCheckResultType referencesCheckResultType = new at.gv.egiz.moasig.ReferencesCheckResultType(); - - if (referencesCheckResult.getInfo() != null) { - at.gv.egiz.moasig.ObjectFactory of = new at.gv.egiz.moasig.ObjectFactory(); - at.gv.egiz.moasig.AnyChildrenType anyInfos = new at.gv.egiz.moasig.AnyChildrenType(); - - if (referencesCheckResult.getInfo().getFailedReferences() != null) { - for (int idx = 0; idx < referencesCheckResult.getInfo().getFailedReferences().length; idx++) { - anyInfos.getContent().add(of.createFailedReference( - BigInteger.valueOf(referencesCheckResult.getInfo().getFailedReferences()[idx]))); - } - } - - if (referencesCheckResult.getInfo().getAnyOtherInfo() != null) { - for (int idx = 0; idx < referencesCheckResult.getInfo().getAnyOtherInfo().getLength(); idx++) { - Node node = referencesCheckResult.getInfo().getAnyOtherInfo().item(idx); - if (node instanceof Element) { - anyInfos.getContent().add((Element) node); - } - } - } - - referencesCheckResultType.setInfo(anyInfos); - } - - referencesCheckResultType.setCode(BigInteger.valueOf(referencesCheckResult.getCode())); - return referencesCheckResultType; - } - - - - /** - * Parse the VerifySignatureInfo DOM element contained in the - * VerifyXMLSignatureRequest DOM element. - * - * @param requestElem - * The VerifyXMLSignatureRequest DOM element - * containing the VerifySignatureInfo DOM element. - * @return The VerifySignatureInfo API object containing the - * data from the DOM element. - * @throws MOAApplicationException - */ - private VerifySignatureInfo parseVerifySignatureInfo( - at.gv.egiz.moasig.VerifyXMLSignatureRequestType.VerifySignatureInfo verifySignatureInfo) - throws MOAApplicationException { - Content verifySignatureEnvironment = transformerUtils - .buildContent(verifySignatureInfo.getVerifySignatureEnvironment()); - - XMLSignatureLocationType xmlSignatureLocationType = verifySignatureInfo.getVerifySignatureLocation(); - - String xPathExpression = xmlSignatureLocationType.getXPathExpression(); - - Iterator namespaceDelcarationIterator = xmlSignatureLocationType.getNamespaceDeclaration().iterator(); - - Map namespaceMap = new HashMap(); - - while(namespaceDelcarationIterator.hasNext()) { - NamespaceDeclarationType namespaceDelcaration = namespaceDelcarationIterator.next(); - - String prefix = namespaceDelcaration.getPrefix(); - String namespace = namespaceDelcaration.getValue(); - - namespaceMap.put(prefix, namespace); - } - - VerifySignatureLocation verifySignatureLocation = factory.createVerifySignatureLocation(xPathExpression, - namespaceMap); - - return factory.createVerifySignatureInfo(verifySignatureEnvironment, verifySignatureLocation); - } - - /** - * Parse the supplement profiles contained in the given - * VerifyXMLSignatureRequest DOM element. - * - * @param requestElem - * The VerifyXMLSignatureRequest DOM element. - * @return A List of SupplementProfile API objects - * containing the data from the SupplementProfile DOM - * elements. - * @throws MOAApplicationException - */ - private List parseSupplementProfiles(at.gv.egiz.moasig.VerifyXMLSignatureRequest verifyXMLSignatureRequest) - throws MOAApplicationException { - List supplementProfiles = new ArrayList(); - List supplementElements = verifyXMLSignatureRequest.getSupplementProfileOrSupplementProfileID(); - if (supplementElements != null) { - Iterator supplementElementsIterator = supplementElements.iterator(); - while (supplementElementsIterator.hasNext()) { - Object object = supplementElementsIterator.next(); - SupplementProfile profile; - if (object instanceof XMLDataObjectAssociationType) { - XMLDataObjectAssociationType xmlDataObjectAssociationType = (XMLDataObjectAssociationType) object; - profile = parseSupplementProfile(xmlDataObjectAssociationType); - } else if (object instanceof String) { - String profileID = (String) object; - profile = factory.createSupplementProfile(profileID); - } else { - throw new MOAApplicationException( - "Invalid object in moa:SupplementProfile | moa:SupplementProfileID", null); - } - - supplementProfiles.add(profile); - } - } - - return supplementProfiles; - } - - public SupplementProfile parseSupplementProfile(XMLDataObjectAssociationType xmlDataObjectAssociationType) - throws MOAApplicationException { - XMLDataObjectAssociation supplementProfile = this.transformerUtils - .parseXMLDataObjectAssociation(xmlDataObjectAssociationType); - - return factory.createSupplementProfile(supplementProfile); - } - - /** - * Parse the SignatureManifestCheckParams DOM element contained - * in the given VerifyXMLSignatureRequest DOM element. - * - * @param requestElem - * The VerifyXMLSignatureRequest DOM element. - * @return The SignatureManifestCheckParams API object - * containing the data from the - * SignatureManifestCheckParams DOM element. - * @throws MOAApplicationException - * An error occurred parsing the - * SignatureManifestCheckParams DOM element. - */ - private SignatureManifestCheckParams parseSignatureManifestCheckParams( - at.gv.egiz.moasig.VerifyXMLSignatureRequestType.SignatureManifestCheckParams signatureManifestCheckParams) - throws MOAApplicationException { - - if (signatureManifestCheckParams == null) { - return null; - } - - boolean returnReferencInputData = signatureManifestCheckParams.isReturnReferenceInputData(); - List referenceInfos = signatureManifestCheckParams - .getReferenceInfo(); - List referenceInfosBuild = parseReferenceInfos(referenceInfos); - - return factory.createSignatureManifestCheckParams(referenceInfosBuild, returnReferencInputData); - } - - /** - * Parse the ReferenceInfo DOM elements contained in a - * SignatureManifestCheckParams DOM element. - * - * @param paramsElem - * The SignatureManifestCheckParams DOM element - * containing the ReferenceInfo DOM elements. - * @return A List of RefernceInfo API objects - * containing the data from the ReferenceInfo DOM - * elements. - * @throws MOAApplicationException - * An error occurred parsing the ReferenceInfo DOM - * elements. - */ - private List parseReferenceInfos(List referenceInfosWeb) - throws MOAApplicationException { - - List referenceInfos = new ArrayList(); - - if (referenceInfosWeb != null) { - - Iterator referenceInfosIterator = referenceInfosWeb.iterator(); - - while (referenceInfosIterator.hasNext()) { - at.gv.egiz.moasig.VerifyTransformsDataType verifyTransformsDataType = referenceInfosIterator.next(); - - ReferenceInfo referenceInfo = parseReferenceInfo(verifyTransformsDataType); - referenceInfos.add(referenceInfo); - } - - } - return referenceInfos; - } - - /** - * Parse a ReferenceInfo DOM element. - * - * @param refInfoElem - * The ReferenceInfo DOM element to parse. - * @return The ReferenceInfo API object containing the data - * from the given ReferenceInfo DOM element. - * @throws MOAApplicationException - * An error occurred parsing the ReferenceInfo DOM - * element. - */ - private ReferenceInfo parseReferenceInfo(at.gv.egiz.moasig.VerifyTransformsDataType verifyTransformsDataType) - throws MOAApplicationException { - List profiles = parseVerifyTransformsInfoProfiles(verifyTransformsDataType); - return factory.createReferenceInfo(profiles); - } - - /** - * Parse the VerifyTransformsInfoProfile DOM elements contained - * in a ReferenceInfo DOM element. - * - * @param refInfoElem - * ReferenceInfo DOM element containing the - * VerifyTransformsInfoProfile DOM elements. - * @return A List of VerifyTransformsInfoProfile - * API objects containing the profile data. - * @throws MOAApplicationException - * An error occurred building the - * VerifyTransformsInfoProfiles. - */ - private List parseVerifyTransformsInfoProfiles(at.gv.egiz.moasig.VerifyTransformsDataType verifyTransformsDataType) - throws MOAApplicationException { - - List profiles = new ArrayList(); - - List transformsList = verifyTransformsDataType - .getVerifyTransformsInfoProfileOrVerifyTransformsInfoProfileID(); - Iterator transformsListIterator = transformsList.iterator(); - - while (transformsListIterator.hasNext()) { - Object object = transformsListIterator.next(); - - if (object instanceof at.gv.egiz.moasig.VerifyTransformsInfoProfile) { - at.gv.egiz.moasig.VerifyTransformsInfoProfile verifyTransformsInfoProfile = (at.gv.egiz.moasig.VerifyTransformsInfoProfile) object; - } else if (object instanceof String) { - String profileID = (String) object; - profiles.add(factory.createVerifyTransformsInfoProfile(profileID)); - } else { - throw new MOAApplicationException("Invalid object in VerifyTransformsData", null); - } - } - return profiles; - } - - /** - * Parse a VerifyTransformsInfoProfile DOM element. - * - * @param profileElem - * The VerifyTransformsInfoProfile DOM element to - * parse. - * @return A VerifyTransformsInfoProfile API object containing - * the information from the VerifyTransformsInfoProfile - * DOM element. - * @throws MOAApplicationException - * An error occurred parsing the - * VerifyTransformsInfoProfile. - */ - public VerifyTransformsInfoProfile parseVerifyTransformsInfoProfile( - at.gv.egiz.moasig.VerifyTransformsInfoProfile verifyTransformsInfoProfile) throws MOAApplicationException { - List transforms = null; - List transformParameters = new ArrayList(); - List transformParams = verifyTransformsInfoProfile.getTransformParameter(); - Iterator transformParamIterator = transformParams.iterator(); - - MoaTransformsType moaTransforms = verifyTransformsInfoProfile.getMoaTransforms(); - - if (moaTransforms != null) { - transforms = transformParser.parseTransforms(moaTransforms); - } - - while (transformParamIterator.hasNext()) { - TransformParameterType transformParameter = transformParamIterator.next(); - transformParameters.add(parseTransformParameter(transformParameter)); - } - - return factory.createVerifyTransformsInfoProfile(transforms, transformParameters); - } - - /** - * Parse a TransformParameter DOM element. - * - * @param paramElem - * The TransformParameter DOM element to parse. - * @return The TransformParameter API object containing the - * information from the TransformParameter DOM element. - * @throws MOAApplicationException - * An error occurred parsing the TransformParameter - * DOM element. - */ - private TransformParameter parseTransformParameter(TransformParameterType transformParameter) - throws MOAApplicationException { - String uri = transformParameter.getURI(); - if (transformParameter.getBase64Content() != null) { - InputStream binaryContent = new ByteArrayInputStream(transformParameter.getBase64Content()); - return factory.createTransformParameter(uri, binaryContent); - } else if (transformParameter.getHash() != null) { - Hash hash = transformParameter.getHash(); - String digestMethodStr = ""; - - if (hash.getDigestMethod() != null) { - digestMethodStr = hash.getDigestMethod().getAlgorithm(); - } - byte[] digestValue = hash.getDigestValue(); - return factory.createTransformParameter(uri, digestMethodStr, digestValue); - } else { - return factory.createTransformParameter(uri); - } - } -} diff --git a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SIG-3.0.0.xsd b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SIG-3.0.0.xsd deleted file mode 100644 index 3fb11ee..0000000 --- a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SIG-3.0.0.xsd +++ /dev/null @@ -1,791 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Ermöglichung der Stapelsignatur durch - wiederholte Angabe dieses Elements - - - - - - - - - - - - - - - - - - - - - - Kardinalität 1..oo erlaubt die Antwort auf eine - Stapelsignatur-Anfrage - - - - Resultat, falls die Signaturerstellung - erfolgreich war - - - - - - - - - - - - - - - - - - - - Ermöglichung der Stapelsignatur durch - wiederholte Angabe dieses Elements - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe des - Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit - der Signaturumgebung, oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - - Kardinalität 1..oo erlaubt die Antwort auf eine - Stapelsignatur-Anfrage - - - - Resultat, falls die Signaturerstellung - erfolgreich war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mit diesem Profil wird eine Menge von - vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - - 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, - IssuingCountry is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - mit diesem Profil wird eine Menge von - vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - - - - - - - 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, - IssuingCountry is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pro dsig:Reference-Element in der zu - überprüfenden XML-Signatur muss hier ein - ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen - ReferenceInfo Elemente entspricht jener der dsig:Reference - Elemente in der XML-Signatur. - - - - - - - - - - mit diesem Profil wird eine Menge von - vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - - 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, - IssuingCountry is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe EINER - Transformationskette inklusive ggf. sinnvoller Supplements oder - Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resultat, falls die Signaturerstellung - erfolgreich war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resultat, falls die Signaturerstellung gescheitert - ist - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ein oder mehrere Transformationswege können von - der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur - hat zumindest einem dieser Transformationswege zu entsprechen. Die - Angabe kann explizit oder als Profilbezeichner erfolgen. - - - - - - Profilbezeichner für einen Transformationsweg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Die Angabe des Transformationsparameters - (explizit oder als Hashwert) kann unterlassen werden, wenn die - Applikation von der Unveränderlichkeit des Inhalts der in - "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen - kann. - - - - Der Transformationsparameter explizit angegeben. - - - - - - Der Hashwert des Transformationsparameters. - - - - - - - - - - - - - - - - - - - - - - - Explizite Angabe des Transformationswegs - - - - - - - - Alle impliziten Transformationsparameter, die - zum Durchlaufen der oben angeführten Transformationskette - bekannt sein müssen, müssen hier angeführt werden. Das - Attribut "URI" bezeichnet den Transformationsparameter in exakt - jener Weise, wie er in der zu überprüfenden Signatur gebraucht - wird. - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.wsdl b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.wsdl index 00bf4c5..c1ba365 100644 --- a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.wsdl +++ b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.wsdl @@ -34,6 +34,12 @@ + + + + + + @@ -76,6 +82,11 @@ + + + + + @@ -154,6 +165,18 @@ + + + + + + + + + + + + diff --git a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.xsd b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.xsd index edd82cb..b786659 100644 --- a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.xsd +++ b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.xsd @@ -214,6 +214,47 @@ + + + + + + + + + + + + + + + + + + asics or asice + + + + + mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert + + + + + + + + + + + + + + + + + + diff --git a/moaSig/moa-sig/src/main/webapp/WEB-INF/server-config.wsdd b/moaSig/moa-sig/src/main/webapp/WEB-INF/server-config.wsdd index ef473b1..c956f44 100644 --- a/moaSig/moa-sig/src/main/webapp/WEB-INF/server-config.wsdd +++ b/moaSig/moa-sig/src/main/webapp/WEB-INF/server-config.wsdd @@ -28,7 +28,7 @@ http://reference.e-government.gv.at/namespace/moa/20020822# - + /resources/schemas/MOA-SPSS-2.0.0.wsdl diff --git a/moaSig/moa-sig/src/main/webapp/schemas/MOA-SPSS-2.0.0.xsd b/moaSig/moa-sig/src/main/webapp/schemas/MOA-SPSS-2.0.0.xsd index edd82cb..b786659 100644 --- a/moaSig/moa-sig/src/main/webapp/schemas/MOA-SPSS-2.0.0.xsd +++ b/moaSig/moa-sig/src/main/webapp/schemas/MOA-SPSS-2.0.0.xsd @@ -214,6 +214,47 @@ + + + + + + + + + + + + + + + + + + asics or asice + + + + + mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert + + + + + + + + + + + + + + + + + + diff --git a/moaSig/settings.gradle b/moaSig/settings.gradle index a4a167b..222a5bd 100644 --- a/moaSig/settings.gradle +++ b/moaSig/settings.gradle @@ -1,2 +1,2 @@ -include "common", "moa-sig", "moa-sig-lib" +include "common", "moa-sig", "moa-sig-lib", "moa-asic" -- cgit v1.2.3