3.1 Introduction
The Common Key Sets directory contains keys and certs to be used in the tests. Keys are in "OpenSSL" format and are all password encrypted using the string secret:
For this interoperability testing purposes, it was agreed that for asynchronous processing the completion of a pending message could be triggered by a Status Request from the client. Hence, asynchronous scenarios include Status Requests to be consistent with that.
In the tests where it is applicable, the symmetric encryption algorithm used will be tripleDES.
The client will include a UseKeyWith for "rfc2459", providing an X.509 distinguished name there, when it is necessary.
Key derivation is performed according to Section 8.1 of the specification, when it is necessary.
3.2 Tests
Test:XKISS-T1
Locate - Description:
A client wishes to obtain an encryption key bound to
[email protected], so it can be able to send an encrypted mail to Bob. The client secure email format is S/MIME. The processing mode is synchronous. The resulting set of messages will consist of a Locate Request to the server and the Locate Result returned.
Messages:
Message
Request
<xkmsmsg><?xml version="1.0" encoding="utf-8"?>
<LocateRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<LocateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>...</ds:Modulus>
<ds:Exponent>...</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
Test:XKISS-T2
Validate - Description:
A client wishes to check whether a certificate supplied by a sender (Alice) in a message is valid or not, so he sends the certificate chain to the XKMS service. The processing mode is synchronous. The certificate is valid and it has not been revoked. The resulting set of messages will consist of a Validate Request to the server and the Validate Result returned reporting that the key binding has successfully been checked.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<ValidateRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<ValidateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</ValidateResult>
Test:XKISS-T3
Locate not found - Description:
In a similar scenario to XKISS-T1, a client wishes to obtain a key bound to
[email protected], but the server cannot locate a key for that user. The resulting set of messages will consist of a Locate Request to the server and the Locate Result returned.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<LocateRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<LocateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." RequestId="..."
ResultMajor="http://www.w3.org/2002/03/xkms#Success" ResultMinor="NoMatch"
xmlns="http://www.w3.org/2002/03/xkms#"/>
Test:XKISS-T4
Validate an expired cert - Description:
In a similar scenario to XKISS-T2, a client wishes to check whether a certificate supplied by a sender (Eric) in a message is valid or not, so he sends the certificate chain to the XKMS service. The processing mode is synchronous. The certificate is not valid because it has expired. The resulting set of messages will consist of a Validate Request and a Validate Result.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<ValidateRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<ValidateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Invalid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<InvalidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</InvalidReason>
</Status>
</KeyBinding>
</ValidateResult>
Test:XKISS-T5
Validate a revoked cert - Description:
In a similar scenario to XKISS-T2, a client wishes to check whether a certificate supplied by a sender (Ralph) in a message is valid or not, so he sends the certificate chain to the XKMS service. The processing mode is synchronous. The certificate is not valid because it has been revoked. The resulting set of messages will consist of a Validate Request and a Validate Result.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<ValidateRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<ValidateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Invalid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
<InvalidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</InvalidReason>
</Status>
</KeyBinding>
</ValidateResult>
Test:XKISS-T6
Two Phase - Description:
A client wishes to obtain an encryption key bound to
[email protected], so it can be able to send an encrypted mail to Bob. The client secure email format is S/MIME. The processing mode is Two Phase. The resulting set of messages will consist of two Locate Requests to the server and two Locate Results returned.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<LocateRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Represent</ResponseMechanism>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<LocateResult Id="..." Service="..." Nonce="..."
ResultMajor="http://www.w3.org/2002/03/xkms#Represent" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<LocateRequest Id="..." Service="..." Nonce="..." OriginalRequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<LocateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>...</ds:Modulus>
<ds:Exponent>...</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
Test:XKISS-T7
Asynchronous - Description:
A client wishes to obtain an encryption key bound to
[email protected]. The client secure email format is S/MIME. The processing mode is asynchronous. The resulting set of messages will consist of two Locate Requests to the server and two Locate Responses returned. The server will notify by email when is it ready to receive the Pending Request. The resulting set of messages will consist of at least six messages: An initial Locate Request and Locate Result; One or more Status requests and responses, with the last Status Result stating the Success; a Pending Request and a final Locate Result.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<LocateRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<LocateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<PendingRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<LocateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>...</ds:Modulus>
<ds:Exponent>...</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
Test:XKISS-T8
Two Phase + Asynchronous - Description:
A client wishes to obtain an encryption key bound to
[email protected]. The client secure email format is S/MIME. The processing mode is Two Phase Protocol with Asynchronous Processing. The resulting set of messages will consist of at least eight messages: two Locate Requests to the server and two Locate Responses returned, corresponding to the Two Phase protocol, then at least a Status Request-Response pair and finally a Pending Request and the final Locate Result.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<LocateRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Represent</ResponseMechanism>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<LocateResult Id="..." Service="..." Nonce="..."
ResultMajor="http://www.w3.org/2002/03/xkms#Represent" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<LocateRequest Id="..." Service="..." Nonce="..." OriginalRequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<LocateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<PendingRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
Nonce="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<LocateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>...</ds:Modulus>
<ds:Exponent>...</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
Test:XKISS-T9
Compound - Description:
A client wishes to make a locate and two validate requests simultaneously. The processing mode is synchronous. The locate and validate requests that will be made correspond to the tests XKISS-T1, XKISS-T2 and XKISS-T4. The resulting set of messages will consist of an outer Compound Request with three inner requests and an outer Compound Result with three inner results.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<LocateRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
<ValidateRequest Id="..." Service="...">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
<ValidateRequest Id="..." Service="...">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<LocateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>...</ds:Modulus>
<ds:Exponent>...</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
<ValidateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</ValidateResult>
<ValidateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Invalid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<InvalidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</InvalidReason>
</Status>
</KeyBinding>
</ValidateResult>
</CompoundResult>
Test:XKISS-T10
Two Phase Compound - Description:
A client wishes to make a locate and two validate requests simultaneously. The processing mode is Two Phase Protocol. The locate and validate requests that will be made correspond to the tests XKISS-T1, XKISS-T2 and XKISS-T4. The resulting set of messages will consist of two outer Compound Request with three inner requests and two Compound Results, the first without inner results and the second containing three.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Represent</ResponseMechanism>
<LocateRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
<ValidateRequest Id="..." Service="...">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
<ValidateRequest Id="..." Service="...">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." Nonce="..."
ResultMajor="http://www.w3.org/2002/03/xkms#Represent" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." Nonce="..." OriginalRequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<LocateRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
<ValidateRequest Id="..." Service="...">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
<ValidateRequest Id="..." Service="...">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<LocateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>...</ds:Modulus>
<ds:Exponent>...</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
<ValidateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</ValidateResult>
<ValidateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Invalid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<InvalidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</InvalidReason>
</Status>
</KeyBinding>
</ValidateResult>
</CompoundResult>
Test:XKISS-T11
Asynchronous Compound - Description:
A client wishes to make a locate and two validate requests simultaneously. The processing mode is asynchronous. The locate and validate requests that will be made correspond to the tests XKISS-T1, XKISS-T2 and XKISS-T4. The client will send a Status Request after receiving the notification of the Locate message but when the validate messages are still pending. The resulting set of messages will consist of at least six messages: an initial outer Compound Request with three inner requests and the initial Compound Result; at least a Status Request-Result pair; a Pending Request and the final Compound Result with three inner results.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<LocateRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
<ValidateRequest Id="..." Service="...">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
<ValidateRequest Id="..." Service="...">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<PendingRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<LocateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>...</ds:Modulus>
<ds:Exponent>...</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
<ValidateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</ValidateResult>
<ValidateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Invalid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<InvalidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</InvalidReason>
</Status>
</KeyBinding>
</ValidateResult>
</CompoundResult>
Test:XKISS-T12
Compound with inner asynchronous requests - Description:
A client wishes to make a locate and two validate requests simultaneously. The processing mode for the compound message is synchronous. The locate and validate requests that will be made correspond to the tests XKISS-T1, XKISS-T2 and XKISS-T4. The inner Locate Request will be made synchronously and the Validate requests asynchronously. The resulting set of messages will consist of at least ten messages: an initial outer Compound Request with three inner requests and the initial Compound Result with three inner results; at least two Status request-response pairs and two Pending requests and two Validate results.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<LocateRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
<ValidateRequest Id="..." Service="...">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
<ValidateRequest Id="..." Service="...">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<LocateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>...</ds:Modulus>
<ds:Exponent>...</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
<ValidateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending" RequestId="..."/>
<ValidateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending" RequestId="..."/>
</CompoundResult>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
<?xml version="1.0" encoding="utf-8"?>
<PendingRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
<?xml version="1.0" encoding="utf-8"?>
<ValidateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</ValidateResult>
Message
<?xml version="1.0" encoding="utf-8"?>
<PendingRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
<?xml version="1.0" encoding="utf-8"?>
<ValidateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Invalid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<InvalidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</InvalidReason>
</Status>
</KeyBinding>
</ValidateResult>
Test:XKISS-T13
Soap 1.1 - Description:
The same scenario as XKISS-T1 but with the messages wrapped in SOAP 1.1 envelopes.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<LocateRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
</Body>
</Envelope>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<LocateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>...</ds:Modulus>
<ds:Exponent>...</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
</Body>
</Envelope>
Test:XKISS-T14
Soap 1.2 - Description:
The same scenario as XKISS-T1 but with the messages wrapped in SOAP 1.2 envelopes.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<Envelope xmlns="http://www.w3.org/2003/05/soap-envelope">
<Body>
<LocateRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
</Body>
</Envelope>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<Envelope xmlns="http://www.w3.org/2003/05/soap-envelope">
<Body>
<LocateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>...</ds:Modulus>
<ds:Exponent>...</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
</Body>
</Envelope>
Test:XKISS-T15
Opaque Client Data - Description:
(Similar to XKISS-T2 but with OpaqueClientData) A client wishes to check whether a certificate supplied by a sender (Alice) in a message is valid or not, so he sends the certificate chain to the XKMS service. The client adds two instances of randomly generated OpaqueData to the request. The processing mode is synchronous. The certificate is valid and it has not been revoked. The resulting set of messages will consist of a Validate Request to the server and the Validate Result returned reporting that the key binding has successfully been checked. The OpaqueClientData in the result is identical to the one included in the request.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<ValidateRequest Id="..." Service="..."
xmlns="http://www.w3.org/2002/03/xkms#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<OpaqueClientData>
<OpaqueData>...</OpaqueData>
<OpaqueData>...</OpaqueData>
</OpaqueClientData>
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<ValidateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<OpaqueClientData>
<OpaqueData>...</OpaqueData>
<OpaqueData>...</OpaqueData>
</OpaqueClientData>
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</ValidateResult>
Test:XKISS-T16
Request Signature Value - Description:
(Similar to XKISS-T2 but the request is signed and the client requests return of request signature value) A client wishes to check whether a certificate supplied by a sender (Alice) in a message is valid or not, so he sends the certificate chain to the XKMS service. The client signs the request with Bob's key and includes the corresponding verification key in the request. The client indicates through the ResponseMechanism element that he is prepared to receive the request signature value bytes in the result. The processing mode is synchronous. The certificate is valid and it has not been revoked. The resulting set of messages will consist of a Validate Request to the server and the Validate Result returned reporting that the key binding has successfully been checked. In addition, the request signature bytes match those returned in the RequestSignatureValue element of the result.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<ValidateRequest Id="..." Service="..."
xmlns="http://www.w3.org/2002/03/xkms#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Signature>...</ds:Signature>
<ResponseMechanism>http://www.w3.org/2002/03/xkms#RequestSignatureValue</ResponseMechanism>
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<ValidateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<RequestSignatureValue>...</RequestSignatureValue>
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</ValidateResult>
Test:XKISS-T17
Unsuccessful Request Signature Value - Description:
(Similar to XKRSS-T16 but incorrect verification key is supplied) A client wishes to check whether a certificate supplied by a sender (Alice) in a message is valid or not, so he sends the certificate chain to the XKMS service. The client signs the request with a key not known by the service. The client indicates through the ResponseMechanism element that he is prepared to receive the request signature value bytes in the result. The processing mode is synchronous. The result indicates a non successful outcome with a minor result code of NoAuthentication and the RequestSignatureValue is not present.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<ValidateRequest Id="..." Service="..."
xmlns="http://www.w3.org/2002/03/xkms#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Signature>...</ds:Signature>
<ResponseMechanism>http://www.w3.org/2002/03/xkms#RequestSignatureValue</ResponseMechanism>
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<ValidateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." RequestId="..."
ResultMajor="http://www.w3.org/2002/03/xkms#Sender"
ResultMinor="http://www.w3.org/2002/03/xkms#NoAuthentication"
xmlns="http://www.w3.org/2002/03/xkms#">
</ValidateResult>
Test:XKISS-T18
Response Limit - Description:
(Similar to XKISS-T1 but with a response limit indication) Mandy is known to have 10 encryption keypairs for use with S/MIME style e-mail all of which are bound to
[email protected]. A client wishes to obtain no more than 5 of these keys. The processing mode is synchronous. The resulting set of messages will consist of a Locate Request to the server and the Locate Result returned. The minor result code has the TooManyResponses to indicate that more bindings than the requested 5 were found. If the major result indicates Success then the result contains no more than 5 key bindings. If the major result code indicates Receiver then the result does not contain any key bindings.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<LocateRequest Id="..." Service="..."
ResponseLimit="5"
xmlns="http://www.w3.org/2002/03/xkms#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<QueryKeyBinding>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</LocateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<LocateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success"
ResultMinor="http://www.w3.org/2002/03/xkms#TooManyResponses"
RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
<UnverifiedKeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Encryption</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</UnverifiedKeyBinding>
</LocateResult>
Test:XKRSS-T1
Register Client Generated Key - Description:
A client wishes to register an RSA key pair bound to his email address. He generates an RSA key pair and sends a registration request to the XKMS service provider using a shared secret: "secret", for key binding authentication. The processing mode is synchronous, and the client provides an X.509 distinguished name in a UseKeyWith for "rfc2459". The response message indicates a successful key binding and there is an X.509 certificate in the key binding.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<PrototypeKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
<ProofOfPossession>...</ProofOfPossession>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</RegisterResult>
Test:XKRSS-T2
Register Service Generated Key - Description:
A client wishes to register a key generated by the XKMS server. He sends a registration request to the XKMS service provider using a shared secret: "secret", for key binding authentication. The processing mode is synchronous, and the key is to be used with an email address. The XKMS server returns an RSA key pair with encrypted private key. The resulting set of messages will consist of two messages: a Register request and a Resister response.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Test:XKRSS-T3
Reissue - Description:
A client wishes to get a new X.509 certificate. He sends a Reissue request to the XKMS service. The key is specified in the payload either with a key value or with the old cert. The shared secret is "secret", and the processing mode is synchronous. The XKMS server returns a new certificate with new validity interval in the response message, and the status of the key binding is valid. The resulting set of messages will consist of four messages: an initial Register request/response pair and a Reissue request/response pair.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<ReissueRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<ReissueKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</ReissueKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
<ProofOfPossession>...</ProofOfPossession>
</ReissueRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<ReissueResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</ReissueResult>
Test:XKRSS-T4
Recover - Description:
A client wishes to recover his private key which he has forgotten. He specifies the authorization code "secret" for the key recovery operation, and an indeterminate key binding to his public key. The processing mode is synchronous. The XKMS server returns the encrypted private key. The resulting set of messages will consist of four messages: an initial Register request/response pair and a Recover request/response pair.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RecoverRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<RecoverKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Indeterminate"/>
</RecoverKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RecoverRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RecoverResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RecoverResult>
Test:XKRSS-T5
Revoke with revocation code - Description:
A client wishes to revoke a compromised key binding. The key was registered with a revocation pass phrase. The processing mode is synchronous. The revocation result is successful and the result key binding is invalid. The resulting set of messages will consist of four messages: an initial Register request/response pair and a Revoke request/response pair.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<RevocationCodeIdentifier>...</RevocationCodeIdentifier>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RevokeRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RevokeKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Indeterminate"/>
</RevokeKeyBinding>
<RevocationCode>...</RevocationCode>
</RevokeRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RevokeResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Invalid">
<InvalidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</InvalidReason>
</Status>
</KeyBinding>
</RevokeResult>
Test:XKRSS-T6
Revoke with shared secret - Description:
A client wishes to revoke a compromised key binding. He uses the authorization code "secret" for the key revocation operation. The processing mode is synchronous. The revocation result is successful and the result key binding is invalid. The resulting set of messages will consist of four messages: an initial Register request/response pair and a Revoke request/response pair.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RevokeRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RevokeKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Indeterminate"/>
</RevokeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RevokeRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RevokeResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Invalid">
<InvalidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</InvalidReason>
</Status>
</KeyBinding>
</RevokeResult>
Test:XKRSS-T7
Two Phase - Description:
(Similar to XKRSS-T2 but Two Phase) A client wishes to register a key generated by the XKMS server. He sends a registration request to the XKMS service provider using a shared secret: "secret", for key binding authentication. The processing mode is two phase, and the key is to be used with an email address. The XKMS server returns an RSA key pair with encrypted private key. The resulting set of messages will consist of two Register Requests to the server and two Register Results returned.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Represent</ResponseMechanism>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult Id="..." Service="..." Nonce="..."
ResultMajor="http://www.w3.org/2002/03/xkms#Represent" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." Nonce="..." OriginalRequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Test:XKRSS-T8
Asynchronous - Description:
(Similar to XKRSS-T2 but Asynchronous) A client wishes to register a key generated by the XKMS server. He sends a registration request to the XKMS service provider using a shared secret: "secret", for key binding authentication. The processing mode is asynchronous, and the key is to be used with an email address. The XKMS server returns an RSA key pair with encrypted private key. The client will also send at least a Status Request. The resulting set of messages will consist of at least six messages: An initial Register request/response pair, at least a Status request/response pair, a Pending request and a final Register result.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<PendingRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Test:XKRSS-T9
Asynchronous + Two Phase - Description:
(Similar to XKRSS-T2 but Asynchronous + Two Phase) A client wishes to register a key generated by the XKMS server. He sends a registration request to the XKMS service provider using a shared secret: "secret", for key binding authentication. The processing mode is asynchronous, and the key is to be used with an email address. The XKMS server returns an RSA key pair with encrypted private key. The client will also send at least a Status Request. The resulting set of messages will consist of at least eight messages: two Register request/response pairs, corresponding to the Two Phase protocol, then at least a Status request/response pair and then a Pending request and the final Register result.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Represent</ResponseMechanism>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult Id="..." Service="..." Nonce="..."
ResultMajor="http://www.w3.org/2002/03/xkms#Represent" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<PendingRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Test:XKRSS-T10
Compound - Description:
A client wishes to make two registration requests simultaneously. The processing mode is synchronous. The registration requests that will be made correspond to the tests XKRSS-T1 and XKRSS-T2. The resulting set of messages will consist of an outer Compound Request with two inner requests and an outer Compound Result with two inner results.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RegisterRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<PrototypeKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
<ProofOfPossession>...</ProofOfPossession>
</RegisterRequest>
<RegisterRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success"
xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</RegisterResult>
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
</CompoundResult>
Test:XKRSS-T11
Two Phase Compound - Description:
A client wishes to make two registration requests simultaneously. The processing mode is two phase. The registration requests that will be made correspond to the tests XKRSS-T1 and XKRSS-T2. The resulting set of messages will consist of two outer Compound Request with two inner requests and two Compound Results, the first without inner results and the second containing two.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Represent</ResponseMechanism>
<RegisterRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<PrototypeKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
<ProofOfPossession>...</ProofOfPossession>
</RegisterRequest>
<RegisterRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." Nonce="..."
ResultMajor="http://www.w3.org/2002/03/xkms#Represent" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." Nonce="..." OriginalRequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RegisterRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<PrototypeKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
<ProofOfPossession>...</ProofOfPossession>
</RegisterRequest>
<RegisterRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success"
xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</RegisterResult>
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
</CompoundResult>
Test:XKRSS-T12
Asynchronous Compound - Description:
A client wishes to make two registration requests simultaneously. The processing mode is asynchronous. The registration requests that will be made correspond to the tests XKRSS-T1 and XKRSS-T2. The client will send first a Status Request. The resulting set of messages will consist of at least six messages: an initial outer Compound Request with two inner requests and the initial Compound Result; at least a Status Request and a Status Result; a Pending Request and the final Compound Result with two inner results.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<RegisterRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<PrototypeKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
<ProofOfPossession>...</ProofOfPossession>
</RegisterRequest>
<RegisterRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success"
RequestId="..." xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<PendingRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success"
xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</RegisterResult>
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
</CompoundResult>
Test:XKRSS-T13
Compound with inner asynchronous requests - Description:
A client wishes to make two registration requests simultaneously. The processing mode for the compound message is synchronous. The registration requests that will be made correspond to the tests XKRSS-T1 and XKRSS-T2. The inner client-generated RegisterRequest will be made synchronously and the inner server-generated client request asynchronously. The client will send first at least a Status Request for the inner asynchronous operation. The resulting set of messages will consist of at least six messages: an initial outer Compound Request with two inner requests and the initial Compound Result with two inner results; at least a Status request-response pair and a Pending request and a Register result.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RegisterRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<PrototypeKeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
<ProofOfPossession>...</ProofOfPossession>
</RegisterRequest>
<RegisterRequest Id="..." Service="...">
<ResponseMechanism>http://www.w3.org/2002/03/xkms#Pending</ResponseMechanism>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success"
xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</RegisterResult>
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending" RequestId="..."/>
</CompoundResult>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Pending" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<StatusRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<StatusResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<PendingRequest Id="..." Service="..." OriginalRequestId="..." ResponseId=""
xmlns="http://www.w3.org/2002/03/xkms#"/>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Test:XKRSS-T14
Unsuccessful authorization - Description:
(Similar to XKRSS-T2 but with a wrong shared secret) A client wishes to register a key generated by the XKMS server. He sends a registration request to the XKMS service provider using a wrong shared secret: "notsecret", for key binding authentication. The processing mode is synchronous, and the key is to be used with an email address. The resulting set of messages will consist of two messages: a Register request and a Resister response, with a minor result code of NoAuthentication.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult Id="..." Service="..." RequestId="..."
ResultMajor="http://www.w3.org/2002/03/xkms#Sender"
ResultMinor="http://www.w3.org/2002/03/xkms#NoAuthentication"
xmlns="http://www.w3.org/2002/03/xkms#">
</RegisterResult>
Test:Compound-T1
XKISS and XKRSS - Description:
A client wishes to make a validate and a registration requests simultaneously. The processing mode is synchronous. The validate request that will be made correspond to the test XKISS-T2 and the registration one to the test XKRSS-T2. The resulting set of messages will consist of an outer Compound Request with two inner requests and an outer Compound Result with two inner results.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<CompoundRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ValidateRequest Id="..." Service="...">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
</QueryKeyBinding>
</ValidateRequest>
<RegisterRequest Id="..." Service="...">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
</CompoundRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<CompoundResult Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ValidateResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</ValidateResult>
<RegisterResult Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="...">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
</CompoundResult>
Test:Optional-T1
Authentication with Private Key - Description:
(Similar to XKRSS-T2 but authenticating with private key instead of shared secret) A client wishes to register a key generated by the XKMS server using a private key for key binding authentication. First he registers a key as in XKRSS-T2 and then he sends another registration request to the XKMS service provider using the private key received in the previous registration operation for key binding authentication. The processing mode is synchronous, and the key is to be used with an email address. The XKMS server returns an RSA key pair with encrypted private key. The resulting set of messages will consist of four messages: two Register request/response pairs.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<KeyBindingAuthentication>...</KeyBindingAuthentication>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Test:Optional-T2
Authentication with NotBoundAuthentication - Description:
(Similar to XKRSS-T2 but authenticating with not bound authentication) A client wishes to register a key generated by the XKMS server. He sends a registration request to the XKMS service provider using a Not Bound Authentication (Protocol: "http://www.example.com/foo/protocol?user=xkmsinteropclient", Value: encoded "secret"), for key binding authentication. The processing mode is synchronous, and the key is to be used with an email address. The XKMS server returns an RSA key pair with encrypted private key. The resulting set of messages will consist of two messages: a Register request and a Resister response.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<RegisterRequest Id="..." Service="..." xmlns="http://www.w3.org/2002/03/xkms#">
<RespondWith>http://www.w3.org/2002/03/xkms#KeyName</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#KeyValue</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#X509Cert</RespondWith>
<RespondWith>http://www.w3.org/2002/03/xkms#PrivateKey</RespondWith>
<PrototypeKeyBinding Id="...">
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
</PrototypeKeyBinding>
<Authentication>
<NotBoundAuthentication Protocol="http://www.example.com/foo/protocol?user=xkmsinteropclient" Value="c2VjcmV0"/>
</Authentication>
</RegisterRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<RegisterResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>...</ds:RSAKeyValue>
</ds:KeyValue>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="..."/>
<UseKeyWith Application="urn:ietf:rfc:2459" Identifier="..."/>
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
<PrivateKey>...</PrivateKey>
</RegisterResult>
Test:Optional-T3
Validate with RetrievalMethod - Description:
(Similar to XKISS-T2 but with a RetrievalMethod) A client wishes to validate a certificate located at a network location http://markupsecurity.com:4080/certs/rsa-alice-at-example-cert.der as indicated by a certificate holder (Alice). He sends a request specifying a RetrievalMethod to the XKMS service. The certificate encoding type is http://www.w3.org/2000/09/xmldsig#rawX509Certificate indicating a DER encoded certificate object. The processing mode is synchronous. The certificate is valid and it has not been revoked. The resulting set of messages will consist of a Validate Request to the server and the Validate Result returned reporting that the key binding has successfully been checked.
Messages:
Message
Request
<?xml version="1.0" encoding="utf-8"?>
<ValidateRequest Id="..." Service="..."
xmlns="http://www.w3.org/2002/03/xkms#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<QueryKeyBinding>
<ds:KeyInfo>
<ds:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#rawX509Certificate"
URI="http://markupsecurity.com:4080/certs/rsa-alice-at-example-cert.der"/>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
</QueryKeyBinding>
</ValidateRequest>
Message
Response
<?xml version="1.0" encoding="utf-8"?>
<ValidateResult xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="..." Service="..." ResultMajor="http://www.w3.org/2002/03/xkms#Success" RequestId="..."
xmlns="http://www.w3.org/2002/03/xkms#">
<KeyBinding Id="...">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<KeyUsage>http://www.w3.org/2002/03/xkms#Signature</KeyUsage>
<UseKeyWith Application="urn:ietf:rfc:2633" Identifier="[email protected]" />
<Status StatusValue="http://www.w3.org/2002/03/xkms#Valid">
<ValidReason>http://www.w3.org/2002/03/xkms#Signature</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#IssuerTrust</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#RevocationStatus</ValidReason>
<ValidReason>http://www.w3.org/2002/03/xkms#ValidityInterval</ValidReason>
</Status>
</KeyBinding>
</ValidateResult>