You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by cs...@apache.org on 2013/08/10 09:52:39 UTC

svn commit: r1512574 [3/6] - in /cxf/branches/2.7.x-fixes: parent/ services/ services/xkms/ services/xkms/xkms-client/ services/xkms/xkms-client/src/ services/xkms/xkms-client/src/main/ services/xkms/xkms-client/src/main/java/ services/xkms/xkms-client...

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xkms.xsd
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xkms.xsd?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xkms.xsd (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xkms.xsd Sat Aug 10 07:52:35 2013
@@ -0,0 +1,439 @@
+<?xml version="1.0"?>
+<!DOCTYPE schema [
+  <!--  The URI for the XKMS namespace, and also the base URI used for
+        URI's defined by the specification. -->
+  <!ENTITY xkms 'http://www.w3.org/2002/03/xkms#'>
+]>
+<schema xmlns:xkms="http://www.w3.org/2002/03/xkms#"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
+ xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/2002/03/xkms#" elementFormDefault="qualified" attributeFormDefault="unqualified">
+<import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="./xmldsig-core-schema.xsd"></import>
+<import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="./xenc-schema.xsd"></import>
+<annotation>
+<documentation xml:lang="en">
+   XML Schema for XKMS 2.0 Recommendation
+</documentation></annotation>
+<!-- /Namespace -->
+<!-- MessageAbstractType -->
+<complexType name="MessageAbstractType" abstract="true">
+<sequence>
+<element ref="ds:Signature" minOccurs="0"></element>
+<element ref="xkms:MessageExtension" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:OpaqueClientData" minOccurs="0"></element></sequence>
+<attribute name="Id" type="ID" use="required"></attribute>
+<attribute name="Service" type="anyURI" use="required"></attribute>
+<attribute name="Nonce" type="base64Binary" use="optional"></attribute></complexType>
+<!-- /MessageAbstractType -->
+<!-- MessageExtension -->
+<element name="MessageExtension" type="xkms:MessageExtensionAbstractType" abstract="true"></element>
+<complexType name="MessageExtensionAbstractType" abstract="true"></complexType>
+<!-- /MessageExtension -->
+<!-- OpaqueClientData -->
+<element name="OpaqueClientData" type="xkms:OpaqueClientDataType"></element>
+<complexType name="OpaqueClientDataType">
+<sequence maxOccurs="unbounded">
+<element ref="xkms:OpaqueData" minOccurs="0"></element></sequence></complexType>
+<element name="OpaqueData" type="base64Binary"></element>
+<!-- /OpaqueClientData -->
+<!-- RequestAbstractType -->
+<complexType name="RequestAbstractType" abstract="true">
+<complexContent>
+<extension base="xkms:MessageAbstractType">
+<sequence>
+<element ref="xkms:ResponseMechanism" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:RespondWith" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:PendingNotification" minOccurs="0"></element></sequence>
+<attribute name="OriginalRequestId" type="NCName" use="optional"></attribute>
+<attribute name="ResponseLimit" type="integer" use="optional"></attribute></extension></complexContent></complexType>
+<!-- /RequestAbstractType -->
+<!-- ResponseMechanism -->
+<simpleType name="ResponseMechanismEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#Pending"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Represent"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#RequestSignatureValue"></enumeration></restriction></simpleType>
+<simpleType name="ResponseMechanismOpenEnum">
+<union memberTypes="xkms:ResponseMechanismEnum anyURI"></union></simpleType>
+<element name="ResponseMechanism" type="xkms:ResponseMechanismOpenEnum"></element>
+<!-- /ResponseMechanism -->
+<!-- RespondWith -->
+<simpleType name="RespondWithEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#KeyName"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#KeyValue"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#X509Cert"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#X509Chain"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#X509CRL"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#RetrievalMethod"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#PGP"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#PGPWeb"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#SPKI"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#PrivateKey"></enumeration></restriction></simpleType>
+<simpleType name="RespondWithOpenEnum">
+<union memberTypes="xkms:RespondWithEnum anyURI"></union></simpleType>
+<element name="RespondWith" type="xkms:RespondWithOpenEnum"></element>
+<!-- /RespondWith -->
+<!-- PendingNotification -->
+<element name="PendingNotification" type="xkms:PendingNotificationType"></element>
+<complexType name="PendingNotificationType">
+<attribute name="Mechanism" type="anyURI" use="required"></attribute>
+<attribute name="Identifier" type="anyURI" use="required"></attribute></complexType>
+<!-- /PendingNotification -->
+<!-- PendingRequest -->
+<element name="PendingRequest" type="xkms:PendingRequestType"></element>
+<complexType name="PendingRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<attribute name="ResponseId" type="NCName" use="required"></attribute></extension></complexContent></complexType>
+<!-- /PendingRequest -->
+<!-- ResultType -->
+<element name="Result" type="xkms:ResultType"></element>
+<simpleType name="ResultMajorEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#Success"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#VersionMismatch"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Sender"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Receiver"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Represent"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Pending"></enumeration></restriction></simpleType>
+<simpleType name="ResultMajorOpenEnum">
+<union memberTypes="xkms:ResultMajorEnum anyURI"></union></simpleType>
+<simpleType name="ResultMinorEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#NoMatch"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#TooManyResponses"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Incomplete"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Failure"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Refused"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#NoAuthentication"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#MessageNotSupported"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#UnknownResponseId"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#RepresentRequired"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#NotSynchronous"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#OptionalElementNotSupported"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#ProofOfPossessionRequired"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#TimeInstantNotSupported"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#TimeInstantOutOfRange"></enumeration>
+
+</restriction></simpleType>
+<simpleType name="ResultMinorOpenEnum">
+<union memberTypes="xkms:ResultMinorEnum anyURI"></union></simpleType>
+<complexType name="ResultType">
+<complexContent>
+<extension base="xkms:MessageAbstractType">
+<sequence>
+<element ref="xkms:RequestSignatureValue" minOccurs="0"></element></sequence>
+<attribute name="ResultMajor" type="xkms:ResultMajorOpenEnum" use="required"></attribute>
+<attribute name="ResultMinor" type="xkms:ResultMinorOpenEnum" use="optional"></attribute>
+<attribute name="RequestId" type="NCName" use="optional"></attribute></extension></complexContent></complexType>
+<!-- /ResultType -->
+<!-- RequestSignatureValue -->
+<element name="RequestSignatureValue" type="ds:SignatureValueType"></element>
+<!-- /RequestSignatureValue -->
+<!-- CompoundRequest -->
+<element name="CompoundRequest" type="xkms:CompoundRequestType"></element>
+<complexType name="CompoundRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<choice maxOccurs="unbounded">
+<element ref="xkms:LocateRequest"></element>
+<element ref="xkms:ValidateRequest"></element>
+<element ref="xkms:RegisterRequest"></element>
+<element ref="xkms:ReissueRequest"></element>
+<element ref="xkms:RecoverRequest"></element>
+<element ref="xkms:RevokeRequest"></element></choice></extension></complexContent></complexType>
+<!-- /CompoundRequest -->
+<!-- CompoundResult -->
+<element name="CompoundResult" type="xkms:CompoundResultType"></element>
+<complexType name="CompoundResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<choice minOccurs="0" maxOccurs="unbounded">
+<element ref="xkms:LocateResult"></element>
+<element ref="xkms:ValidateResult"></element>
+<element ref="xkms:RegisterResult"></element>
+<element ref="xkms:ReissueResult"></element>
+<element ref="xkms:RecoverResult"></element>
+<element ref="xkms:RevokeResult"></element></choice></extension></complexContent></complexType>
+<!-- /CompoundResult -->
+<!-- StatusRequest -->
+<element name="StatusRequest" type="xkms:StatusRequestType"></element>
+<complexType name="StatusRequestType">
+<complexContent>
+<extension base="xkms:PendingRequestType"></extension></complexContent></complexType>
+<!-- /StatusRequest -->
+<!-- StatusResult -->
+<element name="StatusResult" type="xkms:StatusResultType"></element>
+<complexType name="StatusResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<attribute name="Success" type="integer" use="optional"></attribute>
+<attribute name="Failure" type="integer" use="optional"></attribute>
+<attribute name="Pending" type="integer" use="optional"></attribute></extension></complexContent></complexType>
+<!-- /StatusResult -->
+<!-- KeyBindingAbstractType-->
+<complexType name="KeyBindingAbstractType" abstract="true">
+<sequence>
+<element ref="ds:KeyInfo" minOccurs="0"></element>
+<element ref="xkms:KeyUsage" minOccurs="0" maxOccurs="3"></element>
+<element ref="xkms:UseKeyWith" minOccurs="0" maxOccurs="unbounded"></element></sequence>
+<attribute name="Id" type="ID" use="optional"></attribute></complexType>
+<!-- /KeyBindingAbstractType-->
+<!-- UnverifiedKeyBinding -->
+<element name="UnverifiedKeyBinding" type="xkms:UnverifiedKeyBindingType"></element>
+<complexType name="UnverifiedKeyBindingType">
+<complexContent>
+<extension base="xkms:KeyBindingAbstractType">
+<sequence>
+<element ref="xkms:ValidityInterval" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /UnverifiedKeyBinding -->
+<!-- KeyBinding -->
+<element name="KeyBinding" type="xkms:KeyBindingType"></element>
+<complexType name="KeyBindingType">
+<complexContent>
+<extension base="xkms:UnverifiedKeyBindingType">
+<sequence>
+<element ref="xkms:Status"></element></sequence></extension></complexContent></complexType>
+<!-- /KeyBinding -->
+<!-- KeyUsage -->
+<simpleType name="KeyUsageEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#Encryption"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Signature"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Exchange"></enumeration></restriction></simpleType>
+<element name="KeyUsage" type="xkms:KeyUsageEnum"></element>
+<!-- /KeyUsage -->
+<!-- UseKeyWith -->
+<element name="UseKeyWith" type="xkms:UseKeyWithType"></element>
+<complexType name="UseKeyWithType">
+<attribute name="Application" type="anyURI" use="required"></attribute>
+<attribute name="Identifier" type="string" use="required"></attribute></complexType>
+<!-- /UseKeyWith -->
+<!-- Status -->
+<element name="Status" type="xkms:StatusType"></element>
+<complexType name="StatusType">
+<sequence>
+<element ref="xkms:ValidReason" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:IndeterminateReason" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:InvalidReason" minOccurs="0" maxOccurs="unbounded"></element></sequence>
+<attribute name="StatusValue" type="xkms:KeyBindingEnum" use="required"></attribute></complexType>
+<simpleType name="KeyBindingEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#Valid"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Invalid"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Indeterminate"></enumeration></restriction></simpleType>
+<!-- /Status -->
+<!-- Reason -->
+<simpleType name="ReasonEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#IssuerTrust"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#RevocationStatus"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#ValidityInterval"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Signature"></enumeration></restriction></simpleType>
+<simpleType name="ReasonOpenEnum">
+<union memberTypes="xkms:ReasonEnum anyURI"></union></simpleType>
+<element name="ValidReason" type="xkms:ReasonOpenEnum"></element>
+<element name="InvalidReason" type="xkms:ReasonOpenEnum"></element>
+<element name="IndeterminateReason" type="xkms:ReasonOpenEnum"></element>
+<!-- /Reason -->
+<!-- ValidityInterval -->
+<element name="ValidityInterval" type="xkms:ValidityIntervalType"></element>
+<complexType name="ValidityIntervalType">
+<attribute name="NotBefore" type="dateTime" use="optional"></attribute>
+<attribute name="NotOnOrAfter" type="dateTime" use="optional"></attribute></complexType>
+<!-- /ValidityInterval -->
+<!-- QueryKeyBinding -->
+<element name="QueryKeyBinding" type="xkms:QueryKeyBindingType"></element>
+<complexType name="QueryKeyBindingType">
+<complexContent>
+<extension base="xkms:KeyBindingAbstractType">
+<sequence>
+<element ref="xkms:TimeInstant" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /QueryKeyBinding -->
+<!-- TimeInstant -->
+<element name="TimeInstant" type="xkms:TimeInstantType"></element>
+<complexType name="TimeInstantType">
+<attribute name="Time" type="dateTime" use="required"></attribute></complexType>
+<!-- /TimeInstant -->
+<!-- PrototypeKeyBinding -->
+<element name="PrototypeKeyBinding" type="xkms:PrototypeKeyBindingType"></element>
+<complexType name="PrototypeKeyBindingType">
+<complexContent>
+<extension base="xkms:KeyBindingAbstractType">
+<sequence>
+<element ref="xkms:ValidityInterval" minOccurs="0"></element>
+<element ref="xkms:RevocationCodeIdentifier" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /PrototypeKeyBinding -->
+<!-- RevocationCodeIdentifier -->
+<element name="RevocationCodeIdentifier" type="xkms:RevocationCodeIdentifierType"></element>
+<simpleType name="RevocationCodeIdentifierType">
+<restriction base="base64Binary"></restriction></simpleType>
+<!-- /RevocationCodeIdentifier -->
+<!-- LocateRequest -->
+<element name="LocateRequest" type="xkms:LocateRequestType"></element>
+<complexType name="LocateRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:QueryKeyBinding"></element></sequence></extension></complexContent></complexType>
+<!-- /LocateRequest -->
+<!-- LocateResult -->
+<element name="LocateResult" type="xkms:LocateResultType"></element>
+<complexType name="LocateResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:UnverifiedKeyBinding" minOccurs="0" maxOccurs="unbounded"></element></sequence></extension></complexContent></complexType>
+<!-- /LocateResult -->
+<!-- ValidateRequest -->
+<element name="ValidateRequest" type="xkms:ValidateRequestType"></element>
+<complexType name="ValidateRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:QueryKeyBinding"></element></sequence></extension></complexContent></complexType>
+<!-- /ValidateRequest -->
+<!-- ValidateResult -->
+<element name="ValidateResult" type="xkms:ValidateResultType"></element>
+<complexType name="ValidateResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:KeyBinding" minOccurs="0" maxOccurs="unbounded"></element></sequence></extension></complexContent></complexType>
+<!-- /ValidateResult -->
+<!-- Authentication -->
+<element name="Authentication" type="xkms:AuthenticationType"></element>
+<complexType name="AuthenticationType">
+<sequence>
+<element ref="xkms:KeyBindingAuthentication" minOccurs="0"></element>
+<element ref="xkms:NotBoundAuthentication" minOccurs="0"></element></sequence></complexType>
+<!-- /Authentication -->
+<!-- KeyBindingAuthentication -->
+<element name="KeyBindingAuthentication" type="xkms:KeyBindingAuthenticationType"></element>
+<complexType name="KeyBindingAuthenticationType">
+<sequence>
+<element ref="ds:Signature"></element></sequence></complexType>
+<!-- /KeyBindingAuthentication -->
+<!-- NotBoundAuthentication -->
+<element name="NotBoundAuthentication" type="xkms:NotBoundAuthenticationType"></element>
+<complexType name="NotBoundAuthenticationType">
+<attribute name="Protocol" type="anyURI" use="required"></attribute>
+<attribute name="Value" type="base64Binary" use="required"></attribute></complexType>
+<!-- /NotBoundAuthentication -->
+<!-- ProofOfPossession -->
+<element name="ProofOfPossession" type="xkms:ProofOfPossessionType"></element>
+<complexType name="ProofOfPossessionType">
+<sequence>
+<element ref="ds:Signature"></element></sequence></complexType>
+<!-- /ProofOfPossession -->
+<!-- PrivateKey -->
+<element name="PrivateKey" type="xkms:PrivateKeyType"></element>
+<complexType name="PrivateKeyType">
+<sequence>
+<element ref="xenc:EncryptedData"></element></sequence></complexType>
+<!-- /PrivateKey -->
+<!-- RegisterRequest -->
+<element name="RegisterRequest" type="xkms:RegisterRequestType"></element>
+<complexType name="RegisterRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:PrototypeKeyBinding"></element>
+<element ref="xkms:Authentication"></element>
+<element ref="xkms:ProofOfPossession" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /RegisterRequest -->
+<!-- RegisterResult -->
+<element name="RegisterResult" type="xkms:RegisterResultType"></element>
+<complexType name="RegisterResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:KeyBinding" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:PrivateKey" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /RegisterResult -->
+<!-- ReissueRequest -->
+<element name="ReissueRequest" type="xkms:ReissueRequestType"></element>
+<complexType name="ReissueRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:ReissueKeyBinding"></element>
+<element ref="xkms:Authentication"></element>
+<element ref="xkms:ProofOfPossession" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<element name="ReissueKeyBinding" type="xkms:KeyBindingType"></element>
+<!-- /ReissueRequest -->
+<!-- ReissueResult -->
+<element name="ReissueResult" type="xkms:ReissueResultType"></element>
+<complexType name="ReissueResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:KeyBinding" minOccurs="0" maxOccurs="unbounded"></element></sequence></extension></complexContent></complexType>
+<!-- /ReissueResult -->
+<!-- RevokeRequest -->
+<element name="RevokeRequest" type="xkms:RevokeRequestType"></element>
+<complexType name="RevokeRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:RevokeKeyBinding"></element>
+<choice>
+<element ref="xkms:Authentication"></element>
+<element ref="xkms:RevocationCode"></element></choice></sequence></extension></complexContent></complexType>
+<element name="RevokeKeyBinding" type="xkms:KeyBindingType"></element>
+<!-- /RevokeRequest -->
+<!-- RevocationCode -->
+<element name="RevocationCode" type="xkms:RevocationCodeType"></element>
+<simpleType name="RevocationCodeType">
+<restriction base="base64Binary"></restriction></simpleType>
+<!-- /RevocationCode -->
+<!-- RevokeResult -->
+<element name="RevokeResult" type="xkms:RevokeResultType"></element>
+<complexType name="RevokeResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:KeyBinding" minOccurs="0" maxOccurs="unbounded"></element></sequence></extension></complexContent></complexType>
+<!-- /RevokeResult -->
+<!-- RecoverRequest -->
+<element name="RecoverRequest" type="xkms:RecoverRequestType"></element>
+<complexType name="RecoverRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:RecoverKeyBinding"></element>
+<element ref="xkms:Authentication"></element></sequence></extension></complexContent></complexType>
+<element name="RecoverKeyBinding" type="xkms:KeyBindingType"></element>
+<!-- /RecoverRequest -->
+<!-- RecoverResult -->
+<element name="RecoverResult" type="xkms:RecoverResultType"></element>
+<complexType name="RecoverResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:KeyBinding" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:PrivateKey" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /RecoverResult -->
+<!-- RSAKeyPair -->
+<element name="RSAKeyPair" type="xkms:RSAKeyPairType"></element>
+<complexType name="RSAKeyPairType">
+<sequence>
+<element ref="xkms:Modulus"></element>
+<element ref="xkms:Exponent"></element>
+<element ref="xkms:P"></element>
+<element ref="xkms:Q"></element>
+<element ref="xkms:DP"></element>
+<element ref="xkms:DQ"></element>
+<element ref="xkms:InverseQ"></element>
+<element ref="xkms:D"></element></sequence></complexType>
+<element name="Modulus" type="ds:CryptoBinary"></element>
+<element name="Exponent" type="ds:CryptoBinary"></element>
+<element name="P" type="ds:CryptoBinary"></element>
+<element name="Q" type="ds:CryptoBinary"></element>
+<element name="DP" type="ds:CryptoBinary"></element>
+<element name="DQ" type="ds:CryptoBinary"></element>
+<element name="InverseQ" type="ds:CryptoBinary"></element>
+<element name="D" type="ds:CryptoBinary"></element>
+<!-- /RSAKeyPair -->
+<!-- End Schema --></schema>

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xmldsig-core-schema.xsd
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xmldsig-core-schema.xsd?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xmldsig-core-schema.xsd (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xmldsig-core-schema.xsd Sat Aug 10 07:52:35 2013
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- Schema for XML Signatures
+    http://www.w3.org/2000/09/xmldsig#
+    $Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
+
+    Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+    of Technology, Institut National de Recherche en Informatique et en
+    Automatique, Keio University). All Rights Reserved.
+    http://www.w3.org/Consortium/Legal/
+
+    This document is governed by the W3C Software License [1] as described
+    in the FAQ [2].
+
+    [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+    [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+        targetNamespace="http://www.w3.org/2000/09/xmldsig#"
+        version="0.1" elementFormDefault="qualified"> 
+
+<!-- Basic Types Defined for Signatures -->
+
+<simpleType name="CryptoBinary">
+  <restriction base="base64Binary">
+  </restriction>
+</simpleType>
+
+<!-- Start Signature -->
+
+<element name="Signature" type="ds:SignatureType"/>
+<complexType name="SignatureType">
+  <sequence> 
+    <element ref="ds:SignedInfo"/> 
+    <element ref="ds:SignatureValue"/> 
+    <element ref="ds:KeyInfo" minOccurs="0"/> 
+    <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/> 
+  </sequence>  
+  <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+  <element name="SignatureValue" type="ds:SignatureValueType"/> 
+  <complexType name="SignatureValueType">
+    <simpleContent>
+      <extension base="base64Binary">
+        <attribute name="Id" type="ID" use="optional"/>
+      </extension>
+    </simpleContent>
+  </complexType>
+
+<!-- Start SignedInfo -->
+
+<element name="SignedInfo" type="ds:SignedInfoType"/>
+<complexType name="SignedInfoType">
+  <sequence> 
+    <element ref="ds:CanonicalizationMethod"/> 
+    <element ref="ds:SignatureMethod"/> 
+    <element ref="ds:Reference" maxOccurs="unbounded"/> 
+  </sequence>  
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+  <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/> 
+  <complexType name="CanonicalizationMethodType" mixed="true">
+    <sequence>
+      <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+      <!-- (0,unbounded) elements from (1,1) namespace -->
+    </sequence>
+    <attribute name="Algorithm" type="anyURI" use="required"/> 
+  </complexType>
+
+  <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+  <complexType name="SignatureMethodType" mixed="true">
+    <sequence>
+      <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
+      <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+      <!-- (0,unbounded) elements from (1,1) external namespace -->
+    </sequence>
+    <attribute name="Algorithm" type="anyURI" use="required"/> 
+  </complexType>
+
+<!-- Start Reference -->
+
+<element name="Reference" type="ds:ReferenceType"/>
+<complexType name="ReferenceType">
+  <sequence> 
+    <element ref="ds:Transforms" minOccurs="0"/> 
+    <element ref="ds:DigestMethod"/> 
+    <element ref="ds:DigestValue"/> 
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+  <attribute name="URI" type="anyURI" use="optional"/> 
+  <attribute name="Type" type="anyURI" use="optional"/> 
+</complexType>
+
+  <element name="Transforms" type="ds:TransformsType"/>
+  <complexType name="TransformsType">
+    <sequence>
+      <element ref="ds:Transform" maxOccurs="unbounded"/>  
+    </sequence>
+  </complexType>
+
+  <element name="Transform" type="ds:TransformType"/>
+  <complexType name="TransformType" mixed="true">
+    <choice minOccurs="0" maxOccurs="unbounded"> 
+      <any namespace="##other" processContents="lax"/>
+      <!-- (1,1) elements from (0,unbounded) namespaces -->
+      <element name="XPath" type="string"/> 
+    </choice>
+    <attribute name="Algorithm" type="anyURI" use="required"/> 
+  </complexType>
+
+<!-- End Reference -->
+
+<element name="DigestMethod" type="ds:DigestMethodType"/>
+<complexType name="DigestMethodType" mixed="true"> 
+  <sequence>
+    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+  </sequence>    
+  <attribute name="Algorithm" type="anyURI" use="required"/> 
+</complexType>
+
+<element name="DigestValue" type="ds:DigestValueType"/>
+<simpleType name="DigestValueType">
+  <restriction base="base64Binary"/>
+</simpleType>
+
+<!-- End SignedInfo -->
+
+<!-- Start KeyInfo -->
+
+<element name="KeyInfo" type="ds:KeyInfoType"/> 
+<complexType name="KeyInfoType" mixed="true">
+  <choice maxOccurs="unbounded">     
+    <element ref="ds:KeyName"/> 
+    <element ref="ds:KeyValue"/> 
+    <element ref="ds:RetrievalMethod"/> 
+    <element ref="ds:X509Data"/> 
+    <element ref="ds:PGPData"/> 
+    <element ref="ds:SPKIData"/>
+    <element ref="ds:MgmtData"/>
+    <any processContents="lax" namespace="##other"/>
+    <!-- (1,1) elements from (0,unbounded) namespaces -->
+  </choice>
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+  <element name="KeyName" type="string"/>
+  <element name="MgmtData" type="string"/>
+
+  <element name="KeyValue" type="ds:KeyValueType"/> 
+  <complexType name="KeyValueType" mixed="true">
+   <choice>
+     <element ref="ds:DSAKeyValue"/>
+     <element ref="ds:RSAKeyValue"/>
+     <any namespace="##other" processContents="lax"/>
+   </choice>
+  </complexType>
+
+  <element name="RetrievalMethod" type="ds:RetrievalMethodType"/> 
+  <complexType name="RetrievalMethodType">
+    <sequence>
+      <element ref="ds:Transforms" minOccurs="0"/> 
+    </sequence>  
+    <attribute name="URI" type="anyURI"/>
+    <attribute name="Type" type="anyURI" use="optional"/>
+  </complexType>
+
+<!-- Start X509Data -->
+
+<element name="X509Data" type="ds:X509DataType"/> 
+<complexType name="X509DataType">
+  <sequence maxOccurs="unbounded">
+    <choice>
+      <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+      <element name="X509SKI" type="base64Binary"/>
+      <element name="X509SubjectName" type="string"/>
+      <element name="X509Certificate" type="base64Binary"/>
+      <element name="X509CRL" type="base64Binary"/>
+      <any namespace="##other" processContents="lax"/>
+    </choice>
+  </sequence>
+</complexType>
+
+<complexType name="X509IssuerSerialType"> 
+  <sequence> 
+    <element name="X509IssuerName" type="string"/> 
+    <element name="X509SerialNumber" type="integer"/> 
+  </sequence>
+</complexType>
+
+<!-- End X509Data -->
+
+<!-- Begin PGPData -->
+
+<element name="PGPData" type="ds:PGPDataType"/> 
+<complexType name="PGPDataType"> 
+  <choice>
+    <sequence>
+      <element name="PGPKeyID" type="base64Binary"/> 
+      <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/> 
+      <any namespace="##other" processContents="lax" minOccurs="0"
+       maxOccurs="unbounded"/>
+    </sequence>
+    <sequence>
+      <element name="PGPKeyPacket" type="base64Binary"/> 
+      <any namespace="##other" processContents="lax" minOccurs="0"
+       maxOccurs="unbounded"/>
+    </sequence>
+  </choice>
+</complexType>
+
+<!-- End PGPData -->
+
+<!-- Begin SPKIData -->
+
+<element name="SPKIData" type="ds:SPKIDataType"/> 
+<complexType name="SPKIDataType">
+  <sequence maxOccurs="unbounded">
+    <element name="SPKISexp" type="base64Binary"/>
+    <any namespace="##other" processContents="lax" minOccurs="0"/>
+  </sequence>
+</complexType> 
+
+<!-- End SPKIData -->
+
+<!-- End KeyInfo -->
+
+<!-- Start Object (Manifest, SignatureProperty) -->
+
+<element name="Object" type="ds:ObjectType"/> 
+<complexType name="ObjectType" mixed="true">
+  <sequence minOccurs="0" maxOccurs="unbounded">
+    <any namespace="##any" processContents="lax"/>
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+  <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
+  <attribute name="Encoding" type="anyURI" use="optional"/> 
+</complexType>
+
+<element name="Manifest" type="ds:ManifestType"/> 
+<complexType name="ManifestType">
+  <sequence>
+    <element ref="ds:Reference" maxOccurs="unbounded"/> 
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+<element name="SignatureProperties" type="ds:SignaturePropertiesType"/> 
+<complexType name="SignaturePropertiesType">
+  <sequence>
+    <element ref="ds:SignatureProperty" maxOccurs="unbounded"/> 
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+   <element name="SignatureProperty" type="ds:SignaturePropertyType"/> 
+   <complexType name="SignaturePropertyType" mixed="true">
+     <choice maxOccurs="unbounded">
+       <any namespace="##other" processContents="lax"/>
+       <!-- (1,1) elements from (1,unbounded) namespaces -->
+     </choice>
+     <attribute name="Target" type="anyURI" use="required"/> 
+     <attribute name="Id" type="ID" use="optional"/> 
+   </complexType>
+
+<!-- End Object (Manifest, SignatureProperty) -->
+
+<!-- Start Algorithm Parameters -->
+
+<simpleType name="HMACOutputLengthType">
+  <restriction base="integer"/>
+</simpleType>
+
+<!-- Start KeyValue Element-types -->
+
+<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+<complexType name="DSAKeyValueType">
+  <sequence>
+    <sequence minOccurs="0">
+      <element name="P" type="ds:CryptoBinary"/>
+      <element name="Q" type="ds:CryptoBinary"/>
+    </sequence>
+    <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+    <element name="Y" type="ds:CryptoBinary"/>
+    <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+    <sequence minOccurs="0">
+      <element name="Seed" type="ds:CryptoBinary"/>
+      <element name="PgenCounter" type="ds:CryptoBinary"/>
+    </sequence>
+  </sequence>
+</complexType>
+
+<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+<complexType name="RSAKeyValueType">
+  <sequence>
+    <element name="Modulus" type="ds:CryptoBinary"/> 
+    <element name="Exponent" type="ds:CryptoBinary"/> 
+  </sequence>
+</complexType> 
+
+<!-- End KeyValue Element-types -->
+
+<!-- End Signature -->
+
+</schema>

Propchange: cxf/branches/2.7.x-fixes/services/xkms/xkms-features/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Aug 10 07:52:35 2013
@@ -0,0 +1,5 @@
+.settings
+
+.project
+
+target

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-features/pom.xml
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-features/pom.xml?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-features/pom.xml (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-features/pom.xml Sat Aug 10 07:52:35 2013
@@ -0,0 +1,96 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.cxf.services.xkms</groupId>
+    <artifactId>cxf-services-xkms-features</artifactId>
+    <packaging>pom</packaging>
+    <name>Apache CXF XKMS Karaf Features</name>
+    <url>http://cxf.apache.org</url>
+
+    <parent>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-parent</artifactId>
+        <version>2.7.7-SNAPSHOT</version>
+        <relativePath>../../../parent/pom.xml</relativePath>
+    </parent>
+
+    <build>
+        <resources>
+            <resource>
+                <directory>${project.basedir}/src/main/resources</directory>
+                <filtering>true</filtering>
+                <includes>
+                    <include>**/features.xml</include>
+                    <include>**/*.cfg</include>
+                    <include>**/*.properties</include>
+                </includes>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>filter</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>resources</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>target/classes/features.xml</file>
+                                    <type>xml</type>
+                                </artifact>
+                                <artifact>
+                                    <file>target/classes/org.apache.cxf.xkms.cfg</file>
+                                    <classifier>org.apache.cxf.xkms</classifier>
+                                    <type>cfg</type>
+                                </artifact>
+                                <artifact>
+                                    <file>target/classes/org.apache.cxf.xkms.client.cfg</file>
+                                    <classifier>org.apache.cxf.xkms.client</classifier>
+                                    <type>cfg</type>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/features.xml
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/features.xml?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/features.xml (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/features.xml Sat Aug 10 07:52:35 2013
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0">
+	<repository>mvn:org.apache.cxf.karaf/apache-cxf/${project.version}/xml/features</repository>
+
+    <feature name="cxf-xkms-client" version="${project.version}">
+        <feature>cxf-jaxws</feature>
+        <feature>cxf-http</feature>
+        <feature>wss4j</feature>
+        <bundle start-level='40' dependency="true">mvn:net.sf.ehcache/ehcache/${cxf.ehcache.version}</bundle>
+        <bundle>mvn:${project.groupId}/cxf-services-xkms-common/${project.version}</bundle>
+        <bundle>mvn:${project.groupId}/cxf-services-xkms-client/${project.version}</bundle>
+        <configfile finalname="/etc/org.apache.cxf.xkms.client.cfg">
+            mvn:${project.groupId}/cxf-services-xkms-features/${project.version}/cfg/org.apache.cxf.xkms.client
+        </configfile>
+    </feature>
+
+    <feature name="cxf-xkms-service" version="${project.version}">
+        <feature>cxf-jaxws</feature>
+        <feature>cxf-http</feature>
+        <bundle>mvn:${project.groupId}/cxf-services-xkms-common/${project.version}</bundle>
+        <bundle>mvn:${project.groupId}/cxf-services-xkms-service/${project.version}</bundle>
+        <bundle>mvn:${project.groupId}/cxf-services-xkms-x509-handlers/${project.version}</bundle>
+        <bundle>mvn:${project.groupId}/cxf-services-xkms-osgi/${project.version}</bundle>
+        <configfile finalname="/etc/org.apache.cxf.xkms.cfg">
+            mvn:${project.groupId}/cxf-services-xkms-features/${project.version}/cfg/org.apache.cxf.xkms
+        </configfile>
+    </feature>
+
+</features>

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/org.apache.cxf.xkms.cfg
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/org.apache.cxf.xkms.cfg?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/org.apache.cxf.xkms.cfg (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/org.apache.cxf.xkms.cfg Sat Aug 10 07:52:35 2013
@@ -0,0 +1,48 @@
+#################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+# XKMS configuration properties
+
+xkms.enableXKRSS=false
+
+# Certificate repository ldap or file
+xkms.certificate.repo=ldap
+
+# Filesystem backend
+xkms.file.storageDir=data/xkms/certificates
+
+# LDAP backend
+xkms.ldap.url=ldap://localhost:2389
+xkms.ldap.user=cn=Directory Manager,dc=example,dc=com
+xkms.ldap.pwd=test
+xkms.ldap.retry=2
+xkms.ldap.rootDN=dc=example,dc=com
+
+# LDAP schema
+xkms.ldap.schema.certObjectClass=inetOrgPerson
+xkms.ldap.schema.attrUID=uid
+xkms.ldap.schema.attrIssuerID=manager
+xkms.ldap.schema.attrSerialNumber=employeeNumber
+xkms.ldap.schema.attrCrtBinary=userCertificate;binary
+xkms.ldap.schema.constAttrNamesCSV=sn
+xkms.ldap.schema.constAttrValuesCSV=X509 certificate
+xkms.ldap.schema.serviceCertRDNTemplate=cn=%s,ou=services
+xkms.ldap.schema.serviceCertUIDTemplate=cn=%s
+xkms.ldap.schema.trustedAuthorities=(&(objectClass=inetOrgPerson)(ou:dn:=CAs))
+xkms.ldap.schema.intermediates=(objectClass=inetOrgPerson)

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/org.apache.cxf.xkms.client.cfg
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/org.apache.cxf.xkms.client.cfg?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/org.apache.cxf.xkms.client.cfg (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-features/src/main/resources/org.apache.cxf.xkms.client.cfg Sat Aug 10 07:52:35 2013
@@ -0,0 +1,20 @@
+#################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+xkms.endpoint=http://localhost:8040/services/XKMS/
\ No newline at end of file

Propchange: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Aug 10 07:52:35 2013
@@ -0,0 +1,7 @@
+.settings
+
+.project
+
+.classpath
+
+target

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/pom.xml
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/pom.xml?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/pom.xml (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/pom.xml Sat Aug 10 07:52:35 2013
@@ -0,0 +1,119 @@
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+    license agreements. See the NOTICE file distributed with this work for additional 
+    information regarding copyright ownership. The ASF licenses this file to 
+    you under the Apache License, Version 2.0 (the "License"); you may not use 
+    this file except in compliance with the License. You may obtain a copy of 
+    the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+    by applicable law or agreed to in writing, software distributed under the 
+    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+    OF ANY KIND, either express or implied. See the License for the specific 
+    language governing permissions and limitations under the License. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.cxf.services.xkms</groupId>
+    <artifactId>cxf-services-xkms-itests</artifactId>
+    <name>Apache CXF XKMS Integration Tests</name>
+    <url>http://cxf.apache.org</url>
+
+    <parent>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-parent</artifactId>
+        <version>2.7.7-SNAPSHOT</version>
+        <relativePath>../../../parent/pom.xml</relativePath>
+    </parent>
+
+    <properties>
+        <pax-exam.version>3.2.0</pax-exam.version>
+        <karaf.version>2.3.1</karaf.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.cxf.services.xkms</groupId>
+            <artifactId>cxf-services-xkms-common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.cxf.services.xkms</groupId>
+            <artifactId>cxf-services-xkms-x509-handlers</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.cxf.services.xkms</groupId>
+            <artifactId>cxf-services-xkms-service</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.cxf.services.xkms</groupId>
+            <artifactId>cxf-services-xkms-features</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.ops4j.pax.exam</groupId>
+            <artifactId>pax-exam-junit4</artifactId>
+            <version>${pax-exam.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.ops4j.pax.exam</groupId>
+            <artifactId>pax-exam-container-karaf</artifactId>
+            <version>${pax-exam.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.ops4j.pax.url</groupId>
+            <artifactId>pax-url-aether</artifactId>
+            <version>1.6.0</version>
+            <scope>test</scope>
+        </dependency>
+        
+        <dependency>
+        	<groupId>org.apache.karaf</groupId>
+        	<artifactId>apache-karaf</artifactId>
+        	<version>${karaf.version}</version>
+        	<type>tar.gz</type>
+        	<exclusions>
+        		<exclusion>	
+        			<groupId>org.apache.karaf</groupId>
+        			<artifactId>org.apache.karaf.client</artifactId>
+        		</exclusion>
+        	</exclusions>
+        </dependency>
+         
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-jdk14</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemPropertyVariables>
+                        <project.version>${project.version}</project.version>
+                        <karaf.version>${karaf.version}</karaf.version>
+                        <buildDirectory>${project.build.directory}</buildDirectory>
+                    </systemPropertyVariables>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/BasicIntegrationTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/BasicIntegrationTest.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/BasicIntegrationTest.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/BasicIntegrationTest.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,95 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.xkms.itests;
+
+import java.io.File;
+
+import javax.inject.Inject;
+
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel;
+import org.ops4j.pax.exam.options.MavenArtifactUrlReference;
+import org.ops4j.pax.exam.options.MavenUrlReference;
+import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
+import org.ops4j.pax.exam.spi.reactors.PerClass;
+import org.w3._2002._03.xkms_wsdl.XKMSPortType;
+
+import static org.ops4j.pax.exam.CoreOptions.maven;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDistributionConfiguration;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.keepRuntimeFolder;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.logLevel;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.replaceConfigurationFile;
+
+@ExamReactorStrategy(PerClass.class)
+public class BasicIntegrationTest {
+
+    private static final String HTTP_PORT = "9191";
+    private static final String XKMS_ENDPOINT = "http://localhost:" + HTTP_PORT + "/cxf/XKMS";
+    
+    // Adding apache snapshots as cxf trunk may contain snapshot dependencies
+    private static final String REPOS = "http://repo1.maven.org/maven2@id=central, " 
+//        + "http://svn.apache.org/repos/asf/servicemix/m2-repo@id=servicemix, "
+        + "http://repository.apache.org/content/groups/snapshots-group@snapshots@noreleases@id=apache-snapshots ";
+//        + "http://repository.springsource.com/maven/bundles/release@id=springsource.release, "
+//        + "http://repository.springsource.com/maven/bundles/external@id=springsource.external, "
+//        + "http://oss.sonatype.org/content/repositories/releases/@id=sonatype"; 
+
+    @Inject
+    protected XKMSPortType xkmsService;
+
+    @Configuration
+    public Option[] getConfig() {
+
+        String projectVersion = System.getProperty("project.version");
+        String karafVersion = System.getProperty("karaf.version");
+        MavenArtifactUrlReference karafUrl = maven().groupId("org.apache.karaf").artifactId("apache-karaf")
+            .version(karafVersion).type("tar.gz");
+        MavenUrlReference xkmsFeatures = maven().groupId("org.apache.cxf.services.xkms")
+            .artifactId("cxf-services-xkms-features").version(projectVersion).type("xml");
+
+        return new Option[] {
+            karafDistributionConfiguration().frameworkUrl(karafUrl).karafVersion(karafVersion)
+                .unpackDirectory(new File("target/paxexam/unpack/")).useDeployFolder(false),
+            logLevel(LogLevel.INFO),
+            keepRuntimeFolder(),
+
+            replaceConfigurationFile("data/xkms/certificates/trusted_cas/root.cer",
+                                     new File("src/test/resources/data/xkms/certificates/trusted_cas/root.cer")),
+            replaceConfigurationFile("data/xkms/certificates/cas/alice.cer",
+                                     new File("src/test/resources/data/xkms/certificates/cas/alice.cer")),
+            replaceConfigurationFile("data/xkms/certificates/dave.cer",
+                                     new File("src/test/resources/data/xkms/certificates/dave.cer")),
+            replaceConfigurationFile("etc/org.apache.cxf.xkms.cfg", getConfigFile()),
+
+            editConfigurationFilePut("etc/org.ops4j.pax.url.mvn.cfg", "org.ops4j.pax.url.mvn.repositories", REPOS), 
+            editConfigurationFilePut("etc/org.ops4j.pax.web.cfg", "org.osgi.service.http.port", HTTP_PORT),
+            editConfigurationFilePut("etc/org.apache.cxf.xkms.client.cfg", "xkms.endpoint", XKMS_ENDPOINT),
+            features(xkmsFeatures, "cxf-xkms-service", "cxf-xkms-client"),
+            //CoreOptions.vmOption("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005")
+        };
+    }
+
+    protected File getConfigFile() {
+        return new File("src/test/resources/etc/org.apache.cxf.xkms.cfg");
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/handlers/validator/ValidatorTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/handlers/validator/ValidatorTest.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/handlers/validator/ValidatorTest.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/handlers/validator/ValidatorTest.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,174 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.xkms.itests.handlers.validator;
+
+import java.io.InputStream;
+import java.security.cert.CertificateEncodingException;
+import java.security.cert.CertificateException;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
+import java.util.UUID;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+
+import org.apache.cxf.xkms.handlers.XKMSConstants;
+import org.apache.cxf.xkms.itests.BasicIntegrationTest;
+import org.apache.cxf.xkms.model.xkms.KeyBindingEnum;
+import org.apache.cxf.xkms.model.xkms.MessageAbstractType;
+import org.apache.cxf.xkms.model.xkms.QueryKeyBindingType;
+import org.apache.cxf.xkms.model.xkms.ReasonEnum;
+import org.apache.cxf.xkms.model.xkms.StatusType;
+import org.apache.cxf.xkms.model.xkms.ValidateRequestType;
+import org.apache.cxf.xkms.model.xmldsig.KeyInfoType;
+import org.apache.cxf.xkms.model.xmldsig.X509DataType;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@RunWith(PaxExam.class)
+public class ValidatorTest extends BasicIntegrationTest {
+    private static final String PATH_TO_RESOURCES = "/data/xkms/certificates/";
+
+    private static final org.apache.cxf.xkms.model.xmldsig.ObjectFactory DSIG_OF = 
+        new org.apache.cxf.xkms.model.xmldsig.ObjectFactory();
+    private static final org.apache.cxf.xkms.model.xkms.ObjectFactory XKMS_OF = 
+        new org.apache.cxf.xkms.model.xkms.ObjectFactory();
+    
+    private static final Logger LOG = LoggerFactory.getLogger(ValidatorTest.class);
+
+    @Test
+    public void testRootCertIsValid() throws CertificateException {
+        X509Certificate rootCertificate = readCertificate("trusted_cas/root.cer");
+        ValidateRequestType request = prepareValidateXKMSRequest(rootCertificate);
+        StatusType result = doValidate(request);
+
+        Assert.assertEquals(KeyBindingEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_VALID, result.getStatusValue());
+        Assert.assertFalse(result.getValidReason().isEmpty());
+        Assert.assertEquals(ReasonEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_VALIDITY_INTERVAL.value(), result
+            .getValidReason().get(0));
+        Assert.assertEquals(ReasonEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_ISSUER_TRUST.value(), result
+            .getValidReason().get(1));
+    }
+
+    @Test
+    public void testAliceSignedByRootIsValid() throws JAXBException, CertificateException {
+        X509Certificate aliceCertificate = readCertificate("cas/alice.cer");
+        ValidateRequestType request = prepareValidateXKMSRequest(aliceCertificate);
+        StatusType result = doValidate(request);
+
+        Assert.assertEquals(KeyBindingEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_VALID, result.getStatusValue());
+        Assert.assertFalse(result.getValidReason().isEmpty());
+        Assert.assertEquals(ReasonEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_VALIDITY_INTERVAL.value(), result
+            .getValidReason().get(0));
+        Assert.assertEquals(ReasonEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_ISSUER_TRUST.value(), result
+            .getValidReason().get(1));
+    }
+
+    @Test
+    public void testDaveSignedByAliceSginedByRootIsValid() throws JAXBException, CertificateException {
+        X509Certificate daveCertificate = readCertificate("dave.cer");
+        ValidateRequestType request = prepareValidateXKMSRequest(daveCertificate);
+        StatusType result = doValidate(request);
+
+        Assert.assertEquals(KeyBindingEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_VALID, result.getStatusValue());
+        Assert.assertFalse(result.getValidReason().isEmpty());
+        Assert.assertEquals(ReasonEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_VALIDITY_INTERVAL.value(), result
+            .getValidReason().get(0));
+        Assert.assertEquals(ReasonEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_ISSUER_TRUST.value(), result
+            .getValidReason().get(1));
+    }
+
+    @Test
+    public void testSelfSignedCertOscarIsNotValid() throws JAXBException, CertificateException {
+        X509Certificate oscarCertificate = readCertificate("oscar.cer");
+        ValidateRequestType request = prepareValidateXKMSRequest(oscarCertificate);
+        StatusType result = doValidate(request);
+
+        Assert.assertEquals(KeyBindingEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_INVALID, result.getStatusValue());
+        Assert.assertFalse(result.getInvalidReason().isEmpty());
+        Assert.assertEquals(ReasonEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_ISSUER_TRUST.value(), result
+            .getInvalidReason().get(0));
+    }
+
+    @Test
+    public void testExpiredCertIsNotValid() throws CertificateException {
+        X509Certificate expiredCertificate = readCertificate("expired.cer");
+        ValidateRequestType request = prepareValidateXKMSRequest(expiredCertificate);
+        StatusType result = doValidate(request);
+
+        Assert.assertEquals(KeyBindingEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_INVALID, result.getStatusValue());
+        Assert.assertFalse(result.getInvalidReason().isEmpty());
+        Assert.assertEquals(ReasonEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_VALIDITY_INTERVAL.value(), result
+            .getInvalidReason().get(0));
+    }
+
+    /*
+     * Method is taken from {@link org.apache.cxf.xkms.client.XKMSInvokder}.
+     */
+    private ValidateRequestType prepareValidateXKMSRequest(X509Certificate cert) {
+        JAXBElement<byte[]> x509Cert;
+        try {
+            x509Cert = DSIG_OF.createX509DataTypeX509Certificate(cert.getEncoded());
+        } catch (CertificateEncodingException e) {
+            throw new IllegalArgumentException(e);
+        }
+        X509DataType x509DataType = DSIG_OF.createX509DataType();
+        x509DataType.getX509IssuerSerialOrX509SKIOrX509SubjectName().add(x509Cert);
+        JAXBElement<X509DataType> x509Data = DSIG_OF.createX509Data(x509DataType);
+
+        KeyInfoType keyInfoType = DSIG_OF.createKeyInfoType();
+        keyInfoType.getContent().add(x509Data);
+
+        QueryKeyBindingType queryKeyBindingType = XKMS_OF.createQueryKeyBindingType();
+        queryKeyBindingType.setKeyInfo(keyInfoType);
+
+        ValidateRequestType validateRequestType = XKMS_OF.createValidateRequestType();
+        setGenericRequestParams(validateRequestType);
+        validateRequestType.setQueryKeyBinding(queryKeyBindingType);
+        // temporary
+        validateRequestType.setId(cert.getSubjectDN().toString());
+        return validateRequestType;
+    }
+
+    private void setGenericRequestParams(MessageAbstractType request) {
+        request.setService(XKMSConstants.XKMS_ENDPOINT_NAME);
+        request.setId(UUID.randomUUID().toString());
+    }
+
+    private X509Certificate readCertificate(String path) throws CertificateException {
+        InputStream inputStream = ValidatorTest.class.getResourceAsStream(PATH_TO_RESOURCES + path);
+        CertificateFactory cf = CertificateFactory.getInstance("X.509");
+        return (X509Certificate)cf.generateCertificate(inputStream);
+    }
+    
+    private StatusType doValidate(ValidateRequestType request) {
+        try {
+            return xkmsService.validate(request).getKeyBinding().get(0).getStatus();
+        } catch (Exception e) {
+            // Avoid serialization problems for some exceptions when transported by pax exam 
+            LOG.error(e.getMessage(), e);
+            throw new RuntimeException(e.getMessage());
+        }
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/service/XKMSServiceTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/service/XKMSServiceTest.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/service/XKMSServiceTest.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/service/XKMSServiceTest.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,108 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.xkms.itests.service;
+
+import java.net.URISyntaxException;
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.cxf.xkms.handlers.Applications;
+import org.apache.cxf.xkms.handlers.XKMSConstants;
+import org.apache.cxf.xkms.itests.BasicIntegrationTest;
+import org.apache.cxf.xkms.model.extensions.ResultDetails;
+import org.apache.cxf.xkms.model.xkms.LocateRequestType;
+import org.apache.cxf.xkms.model.xkms.LocateResultType;
+import org.apache.cxf.xkms.model.xkms.MessageAbstractType;
+import org.apache.cxf.xkms.model.xkms.PrototypeKeyBindingType;
+import org.apache.cxf.xkms.model.xkms.QueryKeyBindingType;
+import org.apache.cxf.xkms.model.xkms.RegisterRequestType;
+import org.apache.cxf.xkms.model.xkms.RegisterResultType;
+import org.apache.cxf.xkms.model.xkms.ResultMajorEnum;
+import org.apache.cxf.xkms.model.xkms.ResultMinorEnum;
+import org.apache.cxf.xkms.model.xkms.UnverifiedKeyBindingType;
+import org.apache.cxf.xkms.model.xkms.UseKeyWithType;
+import org.apache.cxf.xkms.model.xmldsig.KeyInfoType;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.junit.PaxExam;
+
+@RunWith(PaxExam.class)
+public class XKMSServiceTest extends BasicIntegrationTest {
+    private static final org.apache.cxf.xkms.model.xkms.ObjectFactory XKMS_OF = 
+        new org.apache.cxf.xkms.model.xkms.ObjectFactory();
+    
+    @Test
+    public void testLocate() throws URISyntaxException, Exception {
+        LocateRequestType request = XKMS_OF.createLocateRequestType();
+        setGenericRequestParams(request);
+        QueryKeyBindingType queryKeyBindingType = XKMS_OF.createQueryKeyBindingType();
+
+        UseKeyWithType useKeyWithType = XKMS_OF.createUseKeyWithType();
+        useKeyWithType.setIdentifier("CN=Dave, OU=Apache, O=CXF, L=CGN, ST=NRW, C=DE");
+        useKeyWithType.setApplication(Applications.PKIX.getUri());
+
+        queryKeyBindingType.getUseKeyWith().add(useKeyWithType);
+
+        request.setQueryKeyBinding(queryKeyBindingType);
+        LocateResultType result = xkmsService.locate(request);
+        Assert.assertEquals(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SUCCESS.value(),
+                            result.getResultMajor());
+        List<UnverifiedKeyBindingType> keyBinding = result.getUnverifiedKeyBinding();
+        Assert.assertEquals(1, keyBinding.size());
+        KeyInfoType keyInfo = keyBinding.get(0).getKeyInfo();
+        Assert.assertNotNull(keyInfo);
+    }
+
+    private void setGenericRequestParams(MessageAbstractType request) {
+        request.setService(XKMSConstants.XKMS_ENDPOINT_NAME);
+        request.setId(UUID.randomUUID().toString());
+    }
+
+    @Test
+    public void testEmptyRegister() throws URISyntaxException, Exception {
+        RegisterRequestType request = new RegisterRequestType();
+        setGenericRequestParams(request);
+        RegisterResultType result = xkmsService.register(request);
+        Assert.assertEquals(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SENDER.value(),
+                            result.getResultMajor());
+        Assert.assertEquals(ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE.value(),
+                            result.getResultMinor());
+        ResultDetails message = (ResultDetails)result.getMessageExtension().get(0);
+        Assert.assertEquals("org.apache.cxf.xkms.model.xkms.PrototypeKeyBindingType must be set", message.getDetails());
+    }
+
+    @Test
+    public void testRegisterWithoutKey() throws URISyntaxException, Exception {
+        RegisterRequestType request = new RegisterRequestType();
+        setGenericRequestParams(request);
+        PrototypeKeyBindingType binding = new PrototypeKeyBindingType();
+        KeyInfoType keyInfo = new KeyInfoType();
+        binding.setKeyInfo(keyInfo);
+        request.setPrototypeKeyBinding(binding);
+        RegisterResultType result = xkmsService.register(request);
+        Assert.assertEquals(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SENDER.value(),
+                            result.getResultMajor());
+        Assert.assertEquals(ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE.value(),
+                            result.getResultMinor());
+        ResultDetails message = (ResultDetails)result.getMessageExtension().get(0);
+        Assert.assertEquals("Exactly one useKeyWith element needed", message.getDetails());
+    }
+    
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/service/XKRSSDisableTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/service/XKRSSDisableTest.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/service/XKRSSDisableTest.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/java/org/apache/cxf/xkms/itests/service/XKRSSDisableTest.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,59 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.xkms.itests.service;
+
+import java.io.File;
+import java.util.UUID;
+
+import org.apache.cxf.xkms.handlers.XKMSConstants;
+import org.apache.cxf.xkms.itests.BasicIntegrationTest;
+import org.apache.cxf.xkms.model.extensions.ResultDetails;
+import org.apache.cxf.xkms.model.xkms.RegisterRequestType;
+import org.apache.cxf.xkms.model.xkms.RegisterResultType;
+import org.apache.cxf.xkms.model.xkms.ResultMajorEnum;
+import org.apache.cxf.xkms.model.xkms.ResultMinorEnum;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.junit.PaxExam;
+
+
+@RunWith(PaxExam.class)
+public class XKRSSDisableTest extends BasicIntegrationTest {
+
+    @Override
+    protected File getConfigFile() {
+        return new File("src/test/resources/etc/org.apache.cxf.xkms_noXKRSS.cfg");
+    }
+
+    @Test
+    public void testRegisterShouldBeDisabled() {
+        RegisterRequestType request = new RegisterRequestType();
+        request.setService(XKMSConstants.XKMS_ENDPOINT_NAME);
+        request.setId(UUID.randomUUID().toString());
+        RegisterResultType result = xkmsService.register(request);
+        Assert.assertEquals(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SENDER.value(),
+                            result.getResultMajor());
+        Assert.assertEquals(ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_MESSAGE_NOT_SUPPORTED.value(),
+                            result.getResultMinor());
+        ResultDetails message = (ResultDetails)result.getMessageExtension().get(0);
+        Assert.assertEquals("XKRSS Operations are disabled", message.getDetails());
+    }
+    
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/cas/alice.cer
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/cas/alice.cer?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/cas/alice.cer (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/cas/alice.cer Sat Aug 10 07:52:35 2013
@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIIC7zCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJERTEMMAoGA1UECAwD
+TlJXMRQwEgYDVQQKDAtEZW1vIENsaWVudDEXMBUGA1UEAwwOd3d3Lmlzc3Vlci5jb20wHhcNMTMw
+NTI5MDg0NTI4WhcNMjMwNTI3MDg0NTI4WjBYMQswCQYDVQQGEwJERTEMMAoGA1UECBMDTlJXMQww
+CgYDVQQHEwNDR04xDDAKBgNVBAoTA0NYRjEPMA0GA1UECxMGQXBhY2hlMQ4wDAYDVQQDEwVBbGlj
+ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKy/WiJ3FX64AyQgE+OIQFXaTSX2ANLj
+Ga2leZUDjhGiD4bd5Y4lth1c2hSJSNyF80I/Z58pYfnL930lncAOPXpxFq88ngAgJJNuzWv68P8P
+NVrJ7s0t7MNOyhOKpmskTWZiYh51OkyzOc/LnEY0uhQr1BS4cmShdJbNCMo0DFNcTm0b5piYu9ag
+a8p1mTiBTctjy0fif+zLvxMJ2X8szCZ2b7lM3FEMx4dx+4cXFi8YF23L4CwShW6g65YCg+mC+Vwu
+LOniwAHOV6WxLsjxyEs6hgdt+/Z9MjdzYPT4rrzLfWkGoOFmZoY08XIjpmxoZKHD7vdrcjIMPEvG
+TWRzgRkCAwEAAaNTMFEwHQYDVR0OBBYEFOxINJ1wxyAigMDDkStdn/7oucgHMB8GA1UdIwQYMBaA
+FOB7SGdn5upcqrOlUkSW/QzLkgKDMA8GA1UdEwQIMAYBAf8CAQMwDQYJKoZIhvcNAQEFBQADgYEA
+e4wp1RhLxKowAF7/OMI7ZxLAdLPWR/rapKrUdVn90XvzQjz5nW7Ohqe6VmsQ5lpSSRtxrEr1JRT3
+4f6MsMzYmZMazRQgKDiqHnXtNFTwwuADT54yqfgzR+TOlJKr7OfJ72qKnBOTHn/All29UJwKvdMG
+Xsg88Ou2fh6DS7fsfcA=
+-----END CERTIFICATE-----

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/dave.cer
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/dave.cer?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/dave.cer (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/dave.cer Sat Aug 10 07:52:35 2013
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIzCCAgsCAQEwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UEBhMCREUxDDAKBgNV
+BAgTA05SVzEMMAoGA1UEBxMDQ0dOMQwwCgYDVQQKEwNDWEYxDzANBgNVBAsTBkFw
+YWNoZTEOMAwGA1UEAxMFQWxpY2UwHhcNMTMwNTI5MDg0ODU1WhcNMjMwNTI3MDg0
+ODU1WjBXMQswCQYDVQQGEwJERTEMMAoGA1UECBMDTlJXMQwwCgYDVQQHEwNDR04x
+DDAKBgNVBAoTA0NYRjEPMA0GA1UECxMGQXBhY2hlMQ0wCwYDVQQDEwREYXZlMIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoaNr3jK7TrxAseTLE7VifTAC
+zwQf/yLiBZ6mp3DxJZZ1f+9sJNDR8WWei31KC947HhFC0y3s1x8V2t/GIGFWv8Bl
+IF6wjFqZZfiQE0xEZy8yUfnDV2aWdXkni92zPNbttmWpeqD7gmv2VxCc+NdT1WZp
+EyU7aTw/2nRloxtKkwQxqRO2IJUAzRyCcu3i/rfjH2gPaf6tlMEE6IJspLzIqCxe
+0fS5G695o/aCkSB0iRaGe4neuHcCQl59GMgCQekjL4ZropwjrNyPeuTPrYI/2Ddr
+ZrK/mWbWPAJUttzWnTWOdh6VTkzXz839cT6xB0YCxJQh+IloVqSPE4sZs2+TiwID
+AQABMA0GCSqGSIb3DQEBBQUAA4IBAQApJMjAHReII+4RrTkHqANOn4Dhb0TFOa69
+M2SNfdzGd2CB8CHg7UVOxGFOYFXeSKrQipqH4/zJbj6cyXOgTUc7+7uDK3DjxxF5
+EY5Nts/jqrBGgrLa/vW5HmkkinKFvbzH+JcARzLKgoZp9k0j+qrisEATbY9HN/yM
+kEum1ChyYuEVNAq+AY1G/z9QPL1Ts7bd65LX9egYNFOQmMp4f6efbeT/9DfFTSrR
+iECJtjGrmrlyqqNunQKF0iYT7dttDAgshdcTYNCGc3YokuLFaoxoUCMryts72rQq
+OtY9Tp723QBJO82iYqv4wg2qxRLcjZZv7dqTeh2S+j4dEZaI82N/
+-----END CERTIFICATE-----

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/expired.cer
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/expired.cer?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/expired.cer (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/expired.cer Sat Aug 10 07:52:35 2013
@@ -0,0 +1,29 @@
+-----BEGIN CERTIFICATE-----
+MIIF4DCCA8igAwIBAgIJAKI2DZw3MLqRMA0GCSqGSIb3DQEBBQUAMFMxDzANBgNVBAoTBklzc3Vl
+cjELMAkGA1UEBhMCREUxDDAKBgNVBAgTA05SVzEMMAoGA1UEBxMDQ0dOMRcwFQYDVQQDEw53d3cu
+aXNzdWVyLmNvbTAeFw0xMjAyMjkxMDIzMDFaFw0xMzAyMjgxMDIzMDFaMFMxDzANBgNVBAoTBklz
+c3VlcjELMAkGA1UEBhMCREUxDDAKBgNVBAgTA05SVzEMMAoGA1UEBxMDQ0dOMRcwFQYDVQQDEw53
+d3cuaXNzdWVyLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMSCbQd/92wAJnfa
+FZTRmEP0afGGS0lGJghLg3uoMpewcQj4A2RZVJl2sfFbk/OppUqtJYxLKv0LRkx9MsZ2rQOq1Yfm
+HShxpb6PeyRx8dEgSCtgWivVzKk/w+UudilQVC3cTNWtCayjajHcc0UAG4Kaaypl5CNEWH0M4Jap
+cjFCwU3t7INI/DcAZK2J0aZI0pevw977nEzHyHOeea3O0RFrTTQomt/fv4gtP08F4x13cK0ssD93
+YZwhzFQ/63E/P0UM6daKJG8Ysg9owjwuSGR6bDR/FNuDeH4hqq0QGuvFHANpVTakvE5d+WWw1BDI
+Z8RK2vf3yFs+/jazTUhUJvoiniqtTf6VnMUmI7n5mDFQbutiIOeFzK4bQ+KKYch/aO2Pc6dXoEYm
+CfgA/SdcoOhEfGJKqU8mvPU/bXJEDVj1VgFzRssnaZcmReXfrcFuxW9fkVMEQ4jXlUF6v63uwqpd
+MWqgBGlti5hHjOuE/MOYpmBv6mUNX0MxqtgRU7/8fUoR6HwgAlRBOoWGCHIzv/0V6fSm804OiUf+
+DY65dbpZRhZmd7yANYYoewSwrNokDXGlz6e5cPaXMUnakIgcj2crr+dqQpxkrpTgP5ihq8Jrw8GH
+YZwm0SE4dqhA/DcyL6UlJarZSk7U3XEGvs60p0YThEgbpHCkgyruxocyQ4z3AgMBAAGjgbYwgbMw
+HQYDVR0OBBYEFCN8oLmMeAxU7v5mcE6U2bDmP63cMIGDBgNVHSMEfDB6gBQjfKC5jHgMVO7+ZnBO
+lNmw5j+t3KFXpFUwUzEPMA0GA1UEChMGSXNzdWVyMQswCQYDVQQGEwJERTEMMAoGA1UECBMDTlJX
+MQwwCgYDVQQHEwNDR04xFzAVBgNVBAMTDnd3dy5pc3N1ZXIuY29tggkAojYNnDcwupEwDAYDVR0T
+BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAgEAPDAcr3TdfLlczzkBR6iiN63ERK/FnIcB8vIJdxJe
+Ysq/w49CgxMjOugGsZ7rKTmT89zPQzVe/GJITRHNS1q81cf8hd4SWZ/i3z7k8tqhMRq0b31aQqkL
+zjPWD6PAwzDWUAY8HMMq9Gbxx52u4yXxx1PabTxq/0EDtX7+JfZ462BGtWCcUrrXq6Wck4acvAw2
+NmMfUR+RYLVKLINen82KD1YAl+mOKFfc3r9i1mLi/ylE2LuKN6Z3LnYAcaUgq22mRKR6hGXyw4zU
+2HzFNlgBnoJottYdZWxa5Chcr6wMgZS/rg3gQ8z6ALOFG/UTBxcXRmI0CCBhTPjn4Dq8gd+BWixB
+zFVF8DoYEyVEX7fGNOAwb3OZCQMVsaM6PuqIfiz0s5oiqdohYSzwXc6ajmQB7JJkfHE8B43dnL+G
+1+d2mqvhXhTeJNlwC0Hcqtc7MY2rRDY0Kj0LrGqjhN6kKiXHXA0YqVpn1W7qsu+GS51jxpxZ2DUE
+LNuIhXU/xbP3IS/BKMgiwNM2kZBtP0qkfKlsO9IemiQTNGZzxm+DJvE5U4wC0cVxsvqRTqdfKuma
+IMoUHsIrC5OWibTZ658KFuZZGHtxolH1sZnSPjs9D9RC9xDv5OyIHcHcMhN6c7wk2Tf3GpY91r6S
+p6TxIkB2cZQDT8eTSS/PTHC+muh5/365lRE=
+-----END CERTIFICATE-----

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/oscar.cer
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/oscar.cer?rev=1512574&view=auto
==============================================================================
Binary file - no diff available.

Propchange: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/oscar.cer
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/trusted_cas/root.cer
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/trusted_cas/root.cer?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/trusted_cas/root.cer (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/data/xkms/certificates/trusted_cas/root.cer Sat Aug 10 07:52:35 2013
@@ -0,0 +1,13 @@
+-----BEGIN CERTIFICATE-----
+MIICYjCCAcugAwIBAgIJAIBUDD+Ghp2oMA0GCSqGSIb3DQEBBQUAMEoxCzAJBgNVBAYTAkRFMQww
+CgYDVQQIDANOUlcxFDASBgNVBAoMC0RlbW8gQ2xpZW50MRcwFQYDVQQDDA53d3cuaXNzdWVyLmNv
+bTAeFw0xMzA1MjQxMjUxNDZaFw0yMzA1MjIxMjUxNDZaMEoxCzAJBgNVBAYTAkRFMQwwCgYDVQQI
+DANOUlcxFDASBgNVBAoMC0RlbW8gQ2xpZW50MRcwFQYDVQQDDA53d3cuaXNzdWVyLmNvbTCBnzAN
+BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxeCtfXDqPmsAcYZGVeEUl2xe9vQl9veaSG6l8O/6QXXH
+3q78yUvQPHltO4PAooK6VamINpgBw2sHMl3sxFIrwJNh1tclXgtowgf/qwbC2TrGumK/bQTg6E0V
+Y1KXdC/tn11gxaEfic1e68gvGfPK18JnLeCw7/mOKafMKQHW8ZMCAwEAAaNQME4wHQYDVR0OBBYE
+FOB7SGdn5upcqrOlUkSW/QzLkgKDMB8GA1UdIwQYMBaAFOB7SGdn5upcqrOlUkSW/QzLkgKDMAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAEbuWyVkHKeryUsajA4IjCthswSSoi7NggULj
+LvuHkdgvPJhADSrcsEKQWr8/HMorrKnGh20EAWzjIXwRJYOCrDiYyfWezAE2h36MjZK7jXyAswAT
+YSPINdRP8VdrXBlj1oh0krhLyJrpaONkmpVwxVvxKL0Fc/iEnn5nVtaUyGg=
+-----END CERTIFICATE-----

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/etc/org.apache.cxf.xkms.cfg
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/etc/org.apache.cxf.xkms.cfg?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/etc/org.apache.cxf.xkms.cfg (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/etc/org.apache.cxf.xkms.cfg Sat Aug 10 07:52:35 2013
@@ -0,0 +1,47 @@
+#################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+# XKMS configuration properties
+xkms.enableXKRSS=true
+
+# Certificate repository ldap or file
+xkms.certificate.repo=file
+
+# Filesystem backend
+xkms.file.storageDir=data/xkms/certificates
+
+# LDAP backend
+xkms.ldap.url=ldap://localhost:2389
+xkms.ldap.user=cn=Directory Manager,dc=example,dc=com
+xkms.ldap.pwd=test
+xkms.ldap.retry=2
+xkms.ldap.rootDN=dc=example,dc=com
+
+# LDAP schema
+xkms.ldap.schema.certObjectClass=inetOrgPerson
+xkms.ldap.schema.attrUID=uid
+xkms.ldap.schema.attrIssuerID=manager
+xkms.ldap.schema.attrSerialNumber=employeeNumber
+xkms.ldap.schema.attrCrtBinary=userCertificate;binary
+xkms.ldap.schema.constAttrNamesCSV=sn
+xkms.ldap.schema.constAttrValuesCSV=X509 certificate
+xkms.ldap.schema.serviceCertRDNTemplate=cn=%s,ou=services
+xkms.ldap.schema.serviceCertUIDTemplate=cn=%s
+xkms.ldap.schema.trustedAuthorities=(&(objectClass=inetOrgPerson)(ou:dn:=rootCAs))
+xkms.ldap.schema.intermediates=(&(objectClass=inetOrgPerson)(ou:dn:=intermediateCAs))

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/etc/org.apache.cxf.xkms_noXKRSS.cfg
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/etc/org.apache.cxf.xkms_noXKRSS.cfg?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/etc/org.apache.cxf.xkms_noXKRSS.cfg (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-itests/src/test/resources/etc/org.apache.cxf.xkms_noXKRSS.cfg Sat Aug 10 07:52:35 2013
@@ -0,0 +1,47 @@
+#################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+# XKMS configuration properties
+xkms.enableXKRSS=false
+
+# Certificate repository ldap or file
+xkms.certificate.repo=file
+
+# Filesystem backend
+xkms.file.storageDir=data/xkms/certificates
+
+# LDAP backend
+xkms.ldap.url=ldap://localhost:2389
+xkms.ldap.user=cn=Directory Manager,dc=example,dc=com
+xkms.ldap.pwd=test
+xkms.ldap.retry=2
+xkms.ldap.rootDN=dc=example,dc=com
+
+# LDAP schema
+xkms.ldap.schema.certObjectClass=inetOrgPerson
+xkms.ldap.schema.attrUID=uid
+xkms.ldap.schema.attrIssuerID=manager
+xkms.ldap.schema.attrSerialNumber=employeeNumber
+xkms.ldap.schema.attrCrtBinary=userCertificate;binary
+xkms.ldap.schema.constAttrNamesCSV=sn
+xkms.ldap.schema.constAttrValuesCSV=X509 certificate
+xkms.ldap.schema.serviceCertRDNTemplate=cn=%s,ou=services
+xkms.ldap.schema.serviceCertUIDTemplate=cn=%s
+xkms.ldap.schema.trustedAuthorities=(&(objectClass=inetOrgPerson)(ou:dn:=rootCAs))
+xkms.ldap.schema.intermediates=(&(objectClass=inetOrgPerson)(ou:dn:=intermediateCAs))

Propchange: cxf/branches/2.7.x-fixes/services/xkms/xkms-osgi/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Aug 10 07:52:35 2013
@@ -0,0 +1,7 @@
+.settings
+
+.classpath
+
+.project
+
+target