KMIP Cryptographic Services Profile Version 1.0

Candidate OASIS Standard 01

03 February 2015

Specification URIs

This version:

http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/cos01/kmip-cs-profile-v1.0-cos01.doc (Authoritative)

http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/cos01/kmip-cs-profile-v1.0-cos01.html

http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/cos01/kmip-cs-profile-v1.0-cos01.pdf

Previous version:

http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/csprd01/kmip-cs-profile-v1.0-csprd01.doc (Authoritative)

http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/csprd01/kmip-cs-profile-v1.0-csprd01.html

http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/csprd01/kmip-cs-profile-v1.0-csprd01.pdf

Latest version:

http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/kmip-cs-profile-v1.0.doc (Authoritative)

http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/kmip-cs-profile-v1.0.html

http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/kmip-cs-profile-v1.0.pdf

Technical Committee:

OASIS Key Management Interoperability Protocol (KMIP) TC

Chairs:

Saikat Saha (saikat.saha@oracle.com), Oracle

Tony Cox (tjc@cryptsoft.com), Cryptsoft Pty Ltd.

Editor:

Tim Hudson (tjh@cryptsoft.com), Cryptsoft Pty Ltd.

Related work:

This specification is related to:

·         Key Management Interoperability Protocol Profiles Version 1.0. Edited by Robert Griffin and Subhash Sankuratripati. Latest version: http://docs.oasis-open.org/kmip/profiles/v1.0/kmip-profiles-1.0.html.

·         Key Management Interoperability Protocol Profiles Version 1.1. Edited by Robert Griffin and Subhash Sankuratripati. Latest version: http://docs.oasis-open.org/kmip/profiles/v1.1/kmip-profiles-v1.1.html.

·         Key Management Interoperability Protocol Profiles Version 1.2. Edited by Tim Hudson and Robert Lockhart. Latest version: http://docs.oasis-open.org/kmip/profiles/v1.2/kmip-profiles-v1.2.html.

·         Key Management Interoperability Protocol Specification Version 1.1. Edited by Robert Haas and Indra Fitzgerald. Latest version: http://docs.oasis-open.org/kmip/spec/v1.1/kmip-spec-v1.1.html.

·         Key Management Interoperability Protocol Specification Version 1.2. Edited by Kiran Thota and Kelley Burgin. Latest version: http://docs.oasis-open.org/kmip/spec/v1.2/kmip-spec-v1.2.html.

·         Key Management Interoperability Protocol Test Cases Version 1.2. Edited by Tim Hudson and Faisal Faruqui. Latest version: http://docs.oasis-open.org/kmip/testcases/v1.2/kmip-testcases-v1.2.html.

·         Key Management Interoperability Protocol Usage Guide Version 1.2. Edited by Indra Fitzgerald and Judith Furlong. Latest version: http://docs.oasis-open.org/kmip/ug/v1.2/kmip-ug-v1.2.html.

Abstract:

Describes the use of KMIP operations to support cryptographic services being performed by a KMIP server on behalf of a KMIP client for key management operations.

Status:

This document was last revised or approved by the OASIS Key Management Interoperability Protocol (KMIP) TC on the above date. The level of approval is also listed above. Check the “Latest version” location noted above for possible later revisions of this document. Any other numbered Versions and other technical work produced by the Technical Committee (TC) are listed at https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=kmip#technical.

Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at https://www.oasis-open.org/committees/kmip/.

For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (https://www.oasis-open.org/committees/kmip/ipr.php.

Citation format:

When referencing this specification the following citation format should be used:

[kmip-cs-v1.0]

KMIP Cryptographic Services Profile Version 1.0. Edited by Tim Hudson. 03 February 2015. Candidate OASIS Standard 01. http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/cos01/kmip-cs-profile-v1.0-cos01.html. Latest version: http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/kmip-cs-profile-v1.0.html.

 

Notices

Copyright © OASIS Open 2015. All Rights Reserved.

All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.

OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.

OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.

The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see https://www.oasis-open.org/policies-guidelines/trademark for above guidance.

 

Table of Contents

1        Introduction. 6

1.1 Terminology. 6

1.2 Normative References. 6

2        Cryptographic Profiles. 7

2.1 Basic Cryptographic Client Profile. 7

2.2 Basic Cryptographic Server Profile. 7

2.3 Advanced Cryptographic Client Profile. 7

2.4 Advanced Cryptographic Server Profile. 8

2.5 RNG Cryptographic Client Profile. 8

2.6 RNG Cryptographic Server Profile. 8

3        Cryptographic Profile Test Cases. 9

3.1 Mandatory Test Cases KMIP v1.2 - Basic. 9

3.1.1 CS-BC-M-1-12 - Encrypt with New Symmetric Key. 9

3.1.2 CS-BC-M-2-12 - Decrypt with New Symmetric Key. 12

3.1.3 CS-BC-M-3-12 - Encrypt and Decrypt with New Symmetric Key. 16

3.1.4 CS-BC-M-4-12 - Encrypt with Known Symmetric Key. 19

3.1.5 CS-BC-M-5-12 - Decrypt with Known Symmetric Key. 23

3.1.6 CS-BC-M-6-12 - Encrypt and Decrypt with Known Symmetric Key. 26

3.1.7 CS-BC-M-7-12 - Encrypt with Known Symmetric Key with Usage Limits. 30

3.1.8 CS-BC-M-8-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding. 34

3.1.9 CS-BC-M-9-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding. 38

3.1.10 CS-BC-M-10-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC  42

3.1.11 CS-BC-M-11-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and IV  46

3.1.12 CS-BC-M-12-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and IV  51

3.1.13 CS-BC-M-13-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and Random IV  56

3.1.14 CS-BC-M-14-12 - Encrypt and Decrypt with Known Symmetric Key Date Checks. 61

3.2 Mandatory Test Cases KMIP v1.2 - Advanced. 65

3.2.1 CS-AC-M-1-12 - Sign with Known Asymmetric Key. 65

3.2.2 CS-AC-M-2-12 - Signature Verify with Known Asymmetric Key. 69

3.2.3 CS-AC-M-3-12 - Sign and Signature Verify with Known Asymmetric Key. 74

3.2.4 CS-AC-M-4-12 - MAC with Known Key. 82

3.2.5 CS-AC-M-5-12 - MAC Verify with Known Key. 85

3.2.6 CS-AC-M-6-12 - MAC and MAC Verify with Known Key. 88

3.2.7 CS-AC-M-7-12 - HASH. 92

3.2.8 CS-AC-M-8-12 - Sign and Signature Verify with Known Asymmetric Key Date Checks. 94

3.3 Mandatory Test Cases KMIP v1.2 - RNG.. 102

3.3.1 CS-RNG-M-1-12 - RNG Retrieve. 102

3.4 Optional Test Cases KMIP v1.2 - RNG.. 102

3.4.1 CS-RNG-O-1-12 - Seed RNG with Server Accept 102

3.4.2 CS-RNG-O-2-12 - Seed RNG with Server partial Accept 103

3.4.3 CS-RNG-O-3-12 - Seed RNG with Server Ignore. 104

3.4.4 CS-RNG-O-4-12 - Seed RNG with Server Deny. 104

4        Conformance. 106

4.1 Basic Cryptographic Client KMIP v1.2 Profile Conformance. 106

4.2 Basic Cryptographic Server KMIP v1.2 Profile Conformance. 106

4.3 Advanced Cryptographic Client KMIP v1.2 Profile Conformance. 106

4.4 Advanced Cryptographic Server KMIP v1.2 Profile Conformance. 106

4.5 RNG Cryptographic Client KMIP v1.2 Profile Conformance. 106

4.6 RNG Cryptographic Server KMIP v1.2 Profile Conformance. 106

4.7 Permitted Test Case Variations. 106

4.7.1 Variable Items. 106

4.7.2 Variable behavior 108

Appendix A.       Acknowledgments. 109

Appendix B.       KMIP Specification Cross Reference. 112

Appendix C.       Revision History. 117

 

 


1      Introduction

For normative definition of the elements of KMIP see the KMIP Specification [KMIP-SPEC-1_2] and the KMIP Profiles [KMIP-PROF-1_2].

This profile defines the necessary KMIP functionality that a KMIP implementation conforming to this profile SHALL support in order to interoperate in conformance with this profile.

1.1 Terminology

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC2119].

1.2 Normative References

[RFC2119]               Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels”, BCP 14, RFC 2119, March 1997. http://www.ietf.org/rfc/rfc2119.txt.

[KMIP-SPEC-1_2]    Key Management Interoperability Protocol Specification Version 1.2. Edited by Kiran Thota and Kelley Burgin. Latest version: http://docs.oasis-open.org/kmip/spec/v1.2/kmip-spec-v1.2.doc.

[KMIP-PROF-1_2]    Key Management Interoperability Protocol Profiles Version 1.2. Edited by Tim Hudson and Robert Lockhart. Latest version: http://docs.oasis-open.org/kmip/profiles/v1.2/kmip-profiles-v1.2.doc.

2      Cryptographic Profiles

The Basic Cryptographic Client and Server profiles specify the use of KMIP to request encryption and decryption operations from a KMIP server.

The Advanced Cryptographic Client and Server profiles specify the use of KMIP to request encryption, decryption, signature, and verification operations from a KMIP server.

The RNG Cryptographic Client and Server profiles specify the use of KMIP to request random number generator operations from a KMIP server.

2.1 Basic Cryptographic Client Profile

A KMIP client conformant to this profile:

  1. SHALL conform to the KMIP Baseline Client profile in [KMIP-PROF-1_2] and [KMIP-SPEC-1_2]
  2. SHALL support at least one of the Client-to-Server Operation [KMIP-SPEC-1_2]:
    1. Encrypt [KMIP-SPEC-1_2]
    2. Decrypt [KMIP-SPEC-1_2]
  3. MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.1
  4. MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements.

2.2 Basic Cryptographic Server Profile

KMIP servers conformant to this profile under [KMIP-SPEC-1_2]:

  1. SHALL conform to the Baseline Server of [KMIP-PROF-1_2]
  2. SHALL support the Client-to-Server Operation [KMIP-SPEC-1_2]:
    1. Encrypt [KMIP-SPEC-1_2]
    2. Decrypt [KMIP-SPEC-1_2]
  3. MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.2
  4. MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements.

2.3 Advanced Cryptographic Client Profile

A KMIP client conforming to this profile:

  1. SHALL conform to the KMIP Baseline Client profile in [KMIP-PROF-1_2] and [KMIP-SPEC-1_2]
  2. SHALL support at least one of the Client-to-Server Operation [KMIP-SPEC-1_2]:
    1. Encrypt [KMIP-SPEC-1_2]
    2. Decrypt [KMIP-SPEC-1_2]
    3. Sign [KMIP-SPEC-1_2]
    4. Signature Verify [KMIP-SPEC-1_2]
    5. MAC [KMIP-SPEC-1_2]
    6. MAC Verify [KMIP-SPEC-1_2]
    7. RNG Retrieve [KMIP-SPEC-1_2]
    8. RNG Seed [KMIP-SPEC-1_2]
  3. MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.3
  4. MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements.

2.4 Advanced Cryptographic Server Profile

A KMIP server conforming to this profile:

  1. SHALL conform to the KMIP Baseline Server profile in [KMIP-PROF-1_2] and [KMIP-SPEC-1_2]
  2. SHALL support the Client-to-Server Operation [KMIP-SPEC-1_2]:
    1. Encrypt [KMIP-SPEC-1_2]
    2. Decrypt [KMIP-SPEC-1_2]
    3. Sign [KMIP-SPEC-1_2]
    4. Signature Verify [KMIP-SPEC-1_2]
    5. MAC [KMIP-SPEC-1_2]
    6. MAC Verify [KMIP-SPEC-1_2]
    7. RNG Retrieve [KMIP-SPEC-1_2]
    8. RNG Seed [KMIP-SPEC-1_2]
  3. MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.4
  4. MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements.

2.5 RNG Cryptographic Client Profile

A KMIP client conformant to this profile:

  1. SHALL conform to the KMIP Baseline Client profile in [KMIP-PROF-1_2] and [KMIP-SPEC-1_2]
  2. SHALL support at least one of the Client-to-Server Operation [KMIP-SPEC-1_2]:
    1. RNG Retrieve [KMIP-SPEC-1_2]
    2. RNG Seed [KMIP-SPEC-1_2]
  3. MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.5
  4. MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements.

2.6 RNG Cryptographic Server Profile

A KMIP server conforming to this profile:

  1. SHALL conform to the KMIP Baseline Server profile in [KMIP-PROF-1_2] and [KMIP-SPEC-1_2]
  2. SHALL support the Client-to-Server Operation [KMIP-SPEC-1_2]:
    1. RNG Retrieve [KMIP-SPEC-1_2]
    2. RNG Seed [KMIP-SPEC-1_2]
  3. MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.6
  4. MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements.

3      Cryptographic Profile Test Cases

The test cases define a number of request-response pairs for KMIP operations. Each test case is provided in the XML format specified in [KMIP-ENCODE] intended to be both human-readable and usable by automated tools. The time sequence (starting from 0) for each request-response pair is noted and line numbers are provided for ease of cross-reference for a given test sequence.

Each test case has a unique label (the section name) which includes indication of mandatory (-M-) or optional (-O-) status and the protocol version major and minor numbers as part of the identifier.

The test cases may depend on a specific configuration of a KMIP client and server being configured in a manner consistent with the test case assumptions.

Where possible the flow of unique identifiers between tests, the date-time values, and other dynamic items are indicated using symbolic identifiers – in actual request and response messages these dynamic values will be filled in with valid values.

Note: the values for the returned items and the custom attributes are illustrative. Actual values from a real client or server system may vary as specified in section 4.7.

3.1 Mandatory Test Cases KMIP v1.2 - Basic

3.1.1 CS-BC-M-1-12 - Encrypt with New Symmetric Key

Create a symmetric key and perform encrypt using the symmetric key.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

 

0020

0021

0022

0023

 

0024

0025

0026

0027

0028

0029

0030

 

0031

0032

0033

0034

 

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="128"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="CS-BC-M-1-12"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration" value="ECB"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

 

0062

0063

0064

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

 

0077

 

0078

0079

0080

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

 

0095

 

0096

0097

0098

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="fd912d102dbb482f6f6e91bd57119095"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

 

0111

0112

 

0113

0114

0115

0116

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

 

0131

0132

0133

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

 

0146

0147

0148

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

 

0163

0164

0165

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.2 CS-BC-M-2-12 - Decrypt with New Symmetric Key

Create a symmetric key and perform decrypt using the symmetric key.  Note: Create followed by Decrypt is unusual but some applications actually do this relying on Decrypt and Encrypt being able to be used around the 'wrong' way to get the same result.

 

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

 

0020

0021

0022

0023

 

0024

0025

0026

0027

0028

0029

0030

 

0031

0032

0033

0034

 

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="128"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="CS-BC-M-2-12"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration" value="ECB"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

 

0062

0063

0064

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

 

0077

 

0078

0079

0080

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="fd912d102dbb482f6f6e91bd57119095"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

 

0095

 

0096

0097

0098

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

 

0111

0112

 

0113

0114

0115

0116

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

 

0131

0132

0133

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

 

0146

0147

0148

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

 

0163

0164

0165

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.3 CS-BC-M-3-12 - Encrypt and Decrypt with New Symmetric Key

Create a symmetric key and perform both encrypt and decrypt operations using the symmetric key.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

 

0020

0021

0022

0023

 

0024

0025

0026

0027

0028

0029

0030

 

0031

0032

0033

0034

 

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="128"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="CS-BC-M-3-12"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration" value="ECB"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

 

0062

0063

0064

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

 

0077

 

0078

0079

0080

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

 

0095

 

0096

0097

0098

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="fd912d102dbb482f6f6e91bd57119095"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

 

0111

 

0112

0113

0114

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="fd912d102dbb482f6f6e91bd57119095"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

 

0129

 

0130

0131

0132

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

 

0145

0146

 

0147

0148

0149

0150

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

 

0165

0166

0167

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

 

0180

0181

0182

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

 

0197

0198

0199

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.4 CS-BC-M-4-12 - Encrypt with Known Symmetric Key

Register a symmetric key and perform encrypt using the symmetric key.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

 

0032

0033

0034

0035

0036

0037

0038

0039

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-4-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

 

0054

0055

0056

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

 

0069

0070

0071

0072

 

0073

0074

0075

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

 

0090

 

0091

0092

0093

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="d9bcce11b0b437b90239552df3a360c9"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

 

0106

0107

 

0108

0109

0110

0111

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

 

0126

0127

0128

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

 

0141

0142

0143

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

 

0158

0159

0160

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.5 CS-BC-M-5-12 - Decrypt with Known Symmetric Key

Register a symmetric key and perform decrypt using the symmetric key.  Note: Register followed by Decrypt is unusual but some applications actually do this relying on Decrypt and Encrypt being able to be used around the 'wrong' way to get the same result.

 

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

 

0032

0033

0034

0035

0036

0037

0038

0039

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-5-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

 

0054

0055

0056

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

 

0069

0070

0071

0072

 

0073

0074

0075

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="d9bcce11b0b437b90239552df3a360c9"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

 

0090

 

0091

0092

0093

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

 

0106

0107

 

0108

0109

0110

0111

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

 

0126

0127

0128

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

 

0141

0142

0143

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

 

0158

0159

0160

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.6 CS-BC-M-6-12 - Encrypt and Decrypt with Known Symmetric Key

Register a symmetric key and perform both encrypt and decrypt operations using the symmetric key.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

 

0032

0033

0034

0035

0036

0037

0038

0039

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-6-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

 

0054

0055

0056

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

 

0069

0070

0071

0072

 

0073

0074

0075

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

 

0090

 

0091

0092

0093

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="fd912d102dbb482f6f6e91bd57119095"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

 

0106

0107

0108

0109

 

0110

0111

0112

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="fd912d102dbb482f6f6e91bd57119095"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

 

0128

0129

0130

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

 

0143

0144

 

0145

0146

0147

0148

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

 

0163

0164

0165

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

 

0195

0196

0197

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.7 CS-BC-M-7-12 - Encrypt with Known Symmetric Key with Usage Limits

Register a symmetric key and perform encrypt using the symmetric key. Then attempt to perform an encrypt beyond the usage limits. It must fail. This is otherwise the same as CS-BC-M-4-12.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

0032

0033

0034

0035

0036

0037

0038

 

0039

0040

0041

0042

0043

0044

0045

0046

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-7-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Usage Limits"/>

        <AttributeValue>

          <UsageLimitsTotal type="LongInteger" value="16"/>

          <UsageLimitsUnit type="Enumeration" value="Byte"/>

        </AttributeValue>

      </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

 

0061

0062

0063

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

 

0076

0077

0078

0079

 

0080

0081

0082

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

0095

0096

 

0097

 

0098

0099

0100

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="d9bcce11b0b437b90239552df3a360c9"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

 

0113

0114

0115

0116

 

0117

0118

0119

# TIME 2

# Attempt to protect beyond the usage limits. This must fail.

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="DENIED"/>

  </BatchItem>

</ResponseMessage>

 

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

 

0150

0151

0152

0153

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

 

0168

0169

0170

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

 

0183

0184

0185

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

 

0200

0201

0202

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.8 CS-BC-M-8-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding

Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. This is otherwise the same as CS-BC-M-3-12.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

 

0032

0033

0034

0035

0036

0037

0038

0039

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-8-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

 

0054

0055

0056

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

 

0069

0070

0071

0072

0073

 

0074

0075

0076

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      <PaddingMethod type="Enumeration" value="PKCS5"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

 

0091

 

 

0092

0093

0094

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="d9bcce11b0b437b90239552df3a360c90efb6bfed93b4d1ea2123ba4db075ff6"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

 

0107

0108

0109

0110

0111

 

 

0112

0113

0114

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      <PaddingMethod type="Enumeration" value="PKCS5"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="d9bcce11b0b437b90239552df3a360c90efb6bfed93b4d1ea2123ba4db075ff6"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

 

0129

 

0130

0131

0132

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

 

0145

0146

 

0147

0148

0149

0150

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

 

0165

0166

0167

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

 

0180

0181

0182

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

 

0197

0198

0199

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.9 CS-BC-M-9-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding

Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. The input data is non-block size. This is otherwise the same as CS-BC-M-8-12.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

 

0032

0033

0034

0035

0036

0037

0038

0039

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-9-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

 

0054

0055

0056

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

 

0069

0070

0071

0072

0073

 

 

0074

0075

0076

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      <PaddingMethod type="Enumeration" value="PKCS5"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="010203040506070809101112131415160102030405060708091011121314151601"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

 

0091

 

 

0092

0093

0094

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="d9bcce11b0b437b90239552df3a360c9d9bcce11b0b437b90239552df3a360c9be261a7bd1371bb738fe004d500381d0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

 

0107

0108

0109

0110

0111

 

 

0112

0113

0114

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      <PaddingMethod type="Enumeration" value="PKCS5"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="d9bcce11b0b437b90239552df3a360c9d9bcce11b0b437b90239552df3a360c9be261a7bd1371bb738fe004d500381d0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

 

0129

 

 

0130

0131

0132

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="010203040506070809101112131415160102030405060708091011121314151601"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

 

0145

0146

 

0147

0148

0149

0150

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

 

0165

0166

0167

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

 

0180

0181

0182

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

 

0197

0198

0199

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.10 CS-BC-M-10-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC

Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. The input data is non-block size. This is otherwise the same as CS-BC-M-9-12.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

 

0032

0033

0034

0035

0036

0037

0038

0039

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-10-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

 

0054

0055

0056

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

 

0069

0070

0071

0072

0073

 

 

0074

 

0075

0076

0077

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="CBC"/>

      <PaddingMethod type="Enumeration" value="PKCS5"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="010203040506070809101112131415160102030405060708091011121314151601"/>

      <IVCounterNonce type="ByteString"                             value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

 

0092

 

 

0093

0094

0095

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="79abc5c23868ad84d388ce61110a62742bda19d694bbcb757dd06617c0d80fb1df2e71864ad9633d7d797e30860df00d"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

 

0108

0109

0110

0111

0112

 

 

0113

 

0114

0115

0116

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="CBC"/>

      <PaddingMethod type="Enumeration" value="PKCS5"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="79abc5c23868ad84d388ce61110a62742bda19d694bbcb757dd06617c0d80fb1df2e71864ad9633d7d797e30860df00d"/>

      <IVCounterNonce type="ByteString"                             value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

 

0131

 

 

0132

0133

0134

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="010203040506070809101112131415160102030405060708091011121314151601"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

 

0147

0148

 

0149

0150

0151

0152

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

 

0167

0168

0169

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

 

0182

0183

0184

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

 

0199

0200

0201

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.11 CS-BC-M-11-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and IV

Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. The input data is non-block size. This is otherwise the same as CS-BC-M-10-12.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

 

0032

0033

0034

0035

0036

0037

0038

0039

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-11-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

 

0054

0055

0056

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

 

0069

0070

0071

0072

0073

 

 

0074

 

0075

0076

0077

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="CBC"/>

      <PaddingMethod type="Enumeration" value="PKCS5"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="010203040506070809101112131415160102030405060708091011121314151601"/>

      <IVCounterNonce type="ByteString"                             value="FF020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

 

0092

 

 

0093

0094

0095

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

 

 

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

 

0108

0109

0110

0111

0112

 

 

0113

 

0114

0115

0116

# TIME 2

# Decrypt with the IV being specified as all zeros (which does

# not match the Encrypt) will result in the first block being

# incorrect.

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="CBC"/>

      <PaddingMethod type="Enumeration" value="PKCS5"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546"/>

      <IVCounterNonce type="ByteString"                             value="00000000000000000000000000000000"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

 

0131

 

 

0132

0133

0134

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="fe0000000000000000000000000000000102030405060708091011121314151601"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

 

0147

0148

0149

0150

0151

 

 

0152

0153

0154

# TIME 3

# Decrypt without the IV being specified will result in an error

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="CBC"/>

      <PaddingMethod type="Enumeration" value="PKCS5"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="InvalidMessage"/>

    <ResultMessage type="TextString" value="missing-iv"/>

  </BatchItem>

</ResponseMessage>

 

 

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

 

0183

0184

0185

0186

0187

 

 

0188

 

0189

0190

0191

# TIME 4

# Decrypt with the IV being specified

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="CBC"/>

      <PaddingMethod type="Enumeration" value="PKCS5"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546"/>

      <IVCounterNonce type="ByteString"                             value="FF020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

 

0206

 

 

0207

0208

0209

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="010203040506070809101112131415160102030405060708091011121314151601"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

 

0222

0223

 

0224

0225

0226

0227

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

 

0242

0243

0244

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

0256

 

0257

0258

0259

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

0272

0273

 

0274

0275

0276

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.12 CS-BC-M-12-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and IV

Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. The input data is non-block size. The Cryptographic Parameters are associated attributes of the key rather than parameters to the operation. This is otherwise the same as CS-BC-M-11-12.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

 

0028

0029

0030

0031

0032

0033

0034

0035

0036

0037

0038

 

0039

0040

0041

0042

0043

0044

0045

0046

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-12-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

        <AttributeValue>

          <BlockCipherMode type="Enumeration" value="CBC"/>

          <PaddingMethod type="Enumeration" value="PKCS5"/>

        </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

 

0061

0062

0063

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

 

0076

 

 

0077

 

0078

0079

0080

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="010203040506070809101112131415160102030405060708091011121314151601"/>

      <IVCounterNonce type="ByteString"                             value="FF020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

 

0095

 

 

0096

0097

0098

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

 

0111

 

 

0112

0113

0114

# TIME 2

# Decrypt without the IV being specified will result in an error.

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="InvalidMessage"/>

    <ResultMessage type="TextString" value="missing-iv"/>

  </BatchItem>

</ResponseMessage>

 

 

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

 

0143

 

 

0144

 

0145

0146

0147

# TIME 3

# Decrypt with the IV being specified

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546"/>

      <IVCounterNonce type="ByteString"                             value="FF020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

 

 

0163

0164

0165

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="010203040506070809101112131415160102030405060708091011121314151601"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

 

0180

0181

0182

0183

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

 

0198

0199

0200

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

 

0213

0214

0215

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

 

0230

0231

0232

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.13 CS-BC-M-13-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and Random IV

Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. The input data is non-block size. The Cryptographic Parameters are associated attributes of the key rather than parameters to the operation. This is otherwise the same as CS-BC-M-12-12.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

 

0028

0029

0030

0031

0032

0033

0034

0035

0036

0037

0038

0039

 

0040

0041

0042

0043

0044

0045

0046

0047

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-13-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

        <AttributeValue>

          <BlockCipherMode type="Enumeration" value="CBC"/>

          <PaddingMethod type="Enumeration" value="PKCS5"/>

          <RandomIV type="Boolean" value="true"/>

        </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

 

0062

0063

0064

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

 

0077

 

 

0078

0079

0080

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="010203040506070809101112131415160102030405060708091011121314151601"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

 

0095

 

 

0096

 

0097

0098

0099

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546"/>

      <IVCounterNonce type="ByteString"                             value="FF020304050607080910111213141516"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

 

0112

0113

0114

0115

# TIME 2

# Decrypt without the IV being specified will result in an error.

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString" value="$DATA_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="InvalidMessage"/>

    <ResultMessage type="TextString" value="missing-iv"/>

  </BatchItem>

</ResponseMessage>

 

 

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

 

0144

0145

0146

0147

0148

# TIME 3

# Decrypt with the IV being specified

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString" value="$DATA_0"/>

      <IVCounterNonce type="ByteString" value="$IV_COUNTER_NONCE"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

 

0163

 

 

0164

0165

0166

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="010203040506070809101112131415160102030405060708091011121314151601"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

 

0179

0180

 

0181

0182

0183

0184

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

 

0199

0200

0201

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

 

0214

0215

0216

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

 

0231

0232

0233

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.1.14 CS-BC-M-14-12 - Encrypt and Decrypt with Known Symmetric Key Date Checks

Register a symmetric key and perform both encrypt and decrypt operations using the symmetric key outside of the valid Process Start Date and Protect Stop Date to confirm the operations fail.

The Process Start Date is set to a future date. The Protect Stop Date is set to a past date.

This is a modified version of CS-BC-M-6-12.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

 

0028

0029

0030

0031

 

0032

0033

0034

0035

0036

0037

0038

0039

 

0040

0041

0042

0043

0044

0045

0046

0047

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-BC-M-14-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Process Start Date"/>

          <AttributeValue type="DateTime" value="$NOW+3600"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Protect Stop Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

 

0062

0063

0064

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

 

0077

0078

0079

0080

 

0081

0082

0083

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

0095

0096

0097

0098

0099

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Encrypt"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="DENIED"/>

  </BatchItem>

</ResponseMessage>

 

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

 

0112

0113

0114

0115

 

0116

0117

0118

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CryptographicParameters>

      <BlockCipherMode type="Enumeration" value="ECB"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="fd912d102dbb482f6f6e91bd57119095"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Decrypt"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="DENIED"/>

  </BatchItem>

</ResponseMessage>

 

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

 

0147

0148

 

0149

0150

0151

0152

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

 

0167

0168

0169

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

 

0182

0183

0184

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

 

0199

0200

0201

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.2 Mandatory Test Cases KMIP v1.2 - Advanced

3.2.1 CS-AC-M-1-12 - Sign with Known Asymmetric Key

Register an asymmetric key and perform sign using the asymmetric key.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

 

0020

0021

0022

0023

0024

0025

0026

0027

0028

 

0029

0030

0031

0032

0033

0034

0035

0036

0037

0038

0039

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0040

0041

0042

0043

0044

0045

0046

0047

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <PaddingMethod type="Enumeration" value="PSS"/>

            <HashingAlgorithm type="Enumeration" value="SHA_256"/>

            <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-AC-M-1-12-prikey1"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_1"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="308204a50201000282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001028201003b12455d53c1816516c518493f6398aafa72b17dfa894db888a7d48c0a47f62579a4e644f86da711fec850cdd9dbbd17f69a443d2ec1dd60d3c618fa74cde5fdafabd6baa26eb0a3adb4def6480fb1218cd3b083e252e885b6f0729f98b2144d2b72293e1b11d73393bc41f75b15ee3d7569b4995ed1a14425da4319b7b26b0e8fef17c37542ae5c6d5849f87209567f3925a47b016d564859717bc57fcb4522d0aa49ce816e5be7b3088193236ec9efff140858045b73c5d79baf38f7c67f04c5dcf0e3806ad982d1259058c3473e847179a878f2c6b3bd968fb99ea46e9185892f3676e78965c2aed4877ba3917df07c5e927474f19e764ba61dc38d63bf2902818100d5c69c8c3cdc2464744a793713dafb9f1dbc799ff96423fecd3cba794286bce920f4b5c183f99ee9028db6212c6277c4c8297fcfbce7f7c24ca4c51fc7182fb8f4019fb1d5659674c5cbe6d5fa992051341760cd00735729a070a9e54d342beba8ef47ee82d3a01b04cec4a00d4ddb41e35116fc221e854b43a696c0e6419b1b02818100cd5ea7702789064b673540cbff09356ad80bc3d592812eba47610b9fac6aecefe22acae438459cda74e59653d88c04189d34399bf5b14b920e34ef38a7d09fe69593396e8fe735e6f0a6ae4990401041d8a406b6fd86a1161e45f95a3eaa5c1012e6662e44f15f335ac971e1766b2bb9c985109974141b44d37e1e319820a55f02818100b2871237bf9fad38c3316ab7877a6a868063e542a7186d431e8d27c19ac0414584033942e9ff6e2973bb7b2d8b0e94ad1ee82158108fbc8664517a5a467fb963014bd5dcc2b4fb087c23039d11920dbe22fd9f16b4d89e23225cd455adbaf32ef43f185864a36d630309d6853f7714b39aae1ebee3938f87c2707e178c739f9f028181009690bed14b2afaa26d986d592231ee27d71d49065bd2ba1f78157e20229881fd9d23227d0f8479eaefa922fd75d5b16b1a561fa6680b040ca0bdce650b23b917a4b1bb7983a74fad70e1c305cbec2bff1a85a726a1d90260e4f1084f518234dcd3fe770b9520215bd543bb6a4117718754676a34171666a79f26e79c149c5aa102818100a0c985a0a0a791a659f99731134c44f37b2e520a2cea35800ad27241ed360dfde6e8ca614f12047fd08b76ac4d13c056a0699e2f98a1cac91011294d71208f4abab33ba87aa0517f415baca88d6bac006088fa601d349417e1f0c9b23affa4d496618dbc024986ed690bbb7b025768ff9df8ac15416f489f8129c32341a8b44f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

 

0062

0063

0064

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

 

0077

 

0078

0079

0080

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Sign"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

 

0095

 

 

 

 

 

 

 

 

0096

0097

0098

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Sign"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SignatureData type="ByteString"                              value="9d888ed8c169ebc052e21f7392427b0efa78321f64558ac4dba2277f0b22c3a94eb098a608ef2a70931eece25482e5c962a560fe73f83471779a69d85099ff44fe5da16977fe9f92bdd26a153612d57f325c619570577f81eff22ca511c684bc037a579981c899c91da6d1ac34c230fa68db59c3f31bc5add7c75328f9974f342f1bb5e928b89619894fb301002ef60a1d093dfc22f87c442c13cb8a6cd83be0ecc5b18647c51fb92238a90fbd3e4aaf37612ab4b76243bda44db4a48a88b0899fa672d06f7b4c1094858e7257c4851447ca29dbbc11a664c0cd8be7ce7b27173fa8042d54d240ade8ee6069459ec08bf510eaf68e2fc1e50561dc686525ba0f"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

 

0111

0112

 

0113

0114

0115

0116

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

 

0131

0132

0133

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

 

0146

0147

0148

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

 

0163

0164

0165

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.2.2 CS-AC-M-2-12 - Signature Verify with Known Asymmetric Key

Register an asymmetric key and perform signature verify using the asymmetric key.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

 

0021

0022

0023

0024

0025

0026

0027

 

0028

0029

0030

0031

0032

0033

0034

0035

0036

0037

0038

0039

 

 

 

 

 

 

 

 

 

0040

0041

0042

0043

0044

0045

0046

0047

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-AC-M-2-12-pubkey1"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <PaddingMethod type="Enumeration" value="PSS"/>

            <HashingAlgorithm type="Enumeration" value="SHA_256"/>

            <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_1"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

 

0062

0063

0064

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

 

0077

 

0078

 

 

 

 

 

 

 

 

0079

0080

0081

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="SignatureVerify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

      <SignatureData type="ByteString"                              value="2925ebf8c6c9d0585c36a44491dd28f8ffd1098d2275a505a0eba7af452e9496472fd5c4a515d1c0db16c7c59ef76863b571cbf498fb8178ffeb75667e6e51b9b9bbf09d55bba54b42acb947aa5a81dc62751727d7cad4616c0c0bf1dd666f8266f24262c5fa9cbbdc424ef5f5e345e633d111e66eb4afc4001bb02e158b2d5d4573c614655f21a688bee0e9dbde6a58324c08f42ae69697e0c51803f9de6b3df242d2915d9b1a8110ad28143ab7855ef92ede48971b484172de3b0b8957f493a74b3372ee2200f2233607735f90d0b180968ab20d74841fd3dba4fb1f225ea5c6c87f99c2a238db72a536e68be202a092cd032337d451477e568f9a48b638cb"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

0095

 

0096

0097

0098

0099

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="SignatureVerify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <ValidityIndicator type="Enumeration" value="Valid"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

 

0112

 

0113

 

 

 

 

 

 

 

 

0114

0115

0116

# TIME 2

# Check that an invalid data input fails to match the signature

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="SignatureVerify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="FF020304050607080910111213141516"/>

      <SignatureData type="ByteString"                              value="2925ebf8c6c9d0585c36a44491dd28f8ffd1098d2275a505a0eba7af452e9496472fd5c4a515d1c0db16c7c59ef76863b571cbf498fb8178ffeb75667e6e51b9b9bbf09d55bba54b42acb947aa5a81dc62751727d7cad4616c0c0bf1dd666f8266f24262c5fa9cbbdc424ef5f5e345e633d111e66eb4afc4001bb02e158b2d5d4573c614655f21a688bee0e9dbde6a58324c08f42ae69697e0c51803f9de6b3df242d2915d9b1a8110ad28143ab7855ef92ede48971b484172de3b0b8957f493a74b3372ee2200f2233607735f90d0b180968ab20d74841fd3dba4fb1f225ea5c6c87f99c2a238db72a536e68be202a092cd032337d451477e568f9a48b638cb"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

 

0131

0132

0133

0134

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="SignatureVerify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <ValidityIndicator type="Enumeration" value="Invalid"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

 

0147

 

0148

 

 

 

 

 

 

 

 

0149

0150

0151

# TIME 3

# Check that an invalid signature input fails to match the signature

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="SignatureVerify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

      <SignatureData type="ByteString"                              value="FF25ebf8c6c9d0585c36a44491dd28f8ffd1098d2275a505a0eba7af452e9496472fd5c4a515d1c0db16c7c59ef76863b571cbf498fb8178ffeb75667e6e51b9b9bbf09d55bba54b42acb947aa5a81dc62751727d7cad4616c0c0bf1dd666f8266f24262c5fa9cbbdc424ef5f5e345e633d111e66eb4afc4001bb02e158b2d5d4573c614655f21a688bee0e9dbde6a58324c08f42ae69697e0c51803f9de6b3df242d2915d9b1a8110ad28143ab7855ef92ede48971b484172de3b0b8957f493a74b3372ee2200f2233607735f90d0b180968ab20d74841fd3dba4fb1f225ea5c6c87f99c2a238db72a536e68be202a092cd032337d451477e568f9a48b638cb"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

 

0166

0167

0168

0169

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="SignatureVerify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <ValidityIndicator type="Enumeration" value="Invalid"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

 

0182

0183

 

0184

0185

0186

0187

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

 

0202

0203

0204

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

0233

 

0234

0235

0236

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.2.3 CS-AC-M-3-12 - Sign and Signature Verify with Known Asymmetric Key

Register an asymmetric key and perform sign and signature verify using the asymmetric key.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

0017

0018

0019

0020

 

0021

0022

0023

0024

0025

0026

0027

 

0028

0029

0030

0031

0032

0033

0034

0035

0036

0037

0038

0039

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0040

0041

0042

0043

0044

0045

0046

0047

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-AC-M-3-12-prikey1"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <PaddingMethod type="Enumeration" value="PSS"/>

            <HashingAlgorithm type="Enumeration" value="SHA_256"/>

            <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_1"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="308204a50201000282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001028201003b12455d53c1816516c518493f6398aafa72b17dfa894db888a7d48c0a47f62579a4e644f86da711fec850cdd9dbbd17f69a443d2ec1dd60d3c618fa74cde5fdafabd6baa26eb0a3adb4def6480fb1218cd3b083e252e885b6f0729f98b2144d2b72293e1b11d73393bc41f75b15ee3d7569b4995ed1a14425da4319b7b26b0e8fef17c37542ae5c6d5849f87209567f3925a47b016d564859717bc57fcb4522d0aa49ce816e5be7b3088193236ec9efff140858045b73c5d79baf38f7c67f04c5dcf0e3806ad982d1259058c3473e847179a878f2c6b3bd968fb99ea46e9185892f3676e78965c2aed4877ba3917df07c5e927474f19e764ba61dc38d63bf2902818100d5c69c8c3cdc2464744a793713dafb9f1dbc799ff96423fecd3cba794286bce920f4b5c183f99ee9028db6212c6277c4c8297fcfbce7f7c24ca4c51fc7182fb8f4019fb1d5659674c5cbe6d5fa992051341760cd00735729a070a9e54d342beba8ef47ee82d3a01b04cec4a00d4ddb41e35116fc221e854b43a696c0e6419b1b02818100cd5ea7702789064b673540cbff09356ad80bc3d592812eba47610b9fac6aecefe22acae438459cda74e59653d88c04189d34399bf5b14b920e34ef38a7d09fe69593396e8fe735e6f0a6ae4990401041d8a406b6fd86a1161e45f95a3eaa5c1012e6662e44f15f335ac971e1766b2bb9c985109974141b44d37e1e319820a55f02818100b2871237bf9fad38c3316ab7877a6a868063e542a7186d431e8d27c19ac0414584033942e9ff6e2973bb7b2d8b0e94ad1ee82158108fbc8664517a5a467fb963014bd5dcc2b4fb087c23039d11920dbe22fd9f16b4d89e23225cd455adbaf32ef43f185864a36d630309d6853f7714b39aae1ebee3938f87c2707e178c739f9f028181009690bed14b2afaa26d986d592231ee27d71d49065bd2ba1f78157e20229881fd9d23227d0f8479eaefa922fd75d5b16b1a561fa6680b040ca0bdce650b23b917a4b1bb7983a74fad70e1c305cbec2bff1a85a726a1d90260e4f1084f518234dcd3fe770b9520215bd543bb6a4117718754676a34171666a79f26e79c149c5aa102818100a0c985a0a0a791a659f99731134c44f37b2e520a2cea35800ad27241ed360dfde6e8ca614f12047fd08b76ac4d13c056a0699e2f98a1cac91011294d71208f4abab33ba87aa0517f415baca88d6bac006088fa601d349417e1f0c9b23affa4d496618dbc024986ed690bbb7b025768ff9df8ac15416f489f8129c32341a8b44f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

 

0062

0063

0064

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

 

0080

0081

0082

0083

0084

 

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

 

 

 

 

 

 

 

 

 

0103

0104

0105

0106

0107

0108

0109

0110

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-AC-M-3-12-pubkey1"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

        <Attribute>

          <AttributeValue>

            <PaddingMethod type="Enumeration" value="PSS"/>

            <HashingAlgorithm type="Enumeration" value="SHA_256"/>

            <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_1"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

 

0125

0126

0127

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

 

0140

 

0141

0142

0143

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Sign"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

 

0158

0159

0160

0161

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Sign"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SignatureData type="ByteString" value="$SIGNATURE_DATA"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

 

0174

0175

0176

0177

0178

0179

 

0180

0181

0182

0183

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="SignatureVerify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <CryptographicParameters>

      <PaddingMethod type="Enumeration" value="PSS"/>

      <HashingAlgorithm type="Enumeration" value="SHA_256"/>

      <CryptographicAlgorithm type="Enumeration" value="RSA"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

      <SignatureData type="ByteString" value="$SIGNATURE_DATA"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

 

0198

0199

0200

0201

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="SignatureVerify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <ValidityIndicator type="Enumeration" value="Valid"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

 

 

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

 

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

# TIME 4

# Check that changing the hashing algorithm causes the signature verify

# to fail

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="SignatureVerify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <CryptographicParameters>

      <PaddingMethod type="Enumeration" value="PSS"/>

      <HashingAlgorithm type="Enumeration" value="SHA_1"/>

      <CryptographicAlgorithm type="Enumeration" value="RSA"/>

      </CryptographicParameters>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

      <SignatureData type="ByteString" value="$SIGNATURE_DATA"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0224

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="SignatureVerify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <ValidityIndicator type="Enumeration" value="Invalid"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

 

0256

0257

0258

0259

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

0272

0273

 

0274

0275

0276

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

 

0289

0290

0291

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

 

0306

0307

0308

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

0320

 

0321

0322

 

0323

0324

0325

0326

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0327

0328

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

 

0341

0342

0343

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

 

0356

0357

0358

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

 

0373

0374

0375

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

3.2.4 CS-AC-M-4-12 - MAC with Known Key

Register a key and perform MAC operations using the key.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

 

0016

 

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

 

0028

0029

 

0030

0031

0032

0033

0034

0035

0036

0037

 

0038

0039

0040

0041

0042

0043

0044

0045

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt Decrypt MACGenerate MACVerify"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="CS-AC-M-4-12"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-3600"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <CryptographicAlgorithm type="Enumeration"              value="HMAC_SHA256"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0123456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

 

0060

0061

0062

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

 

0075

 

0076

0077

0078

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="MAC"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Data type="ByteString"                                       value="01020304050607080910111213141516"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

 

0093

 

 

0094

0095

0096

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="MAC"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <MACData type="ByteString"                                    value="c911e78196d64c30f631bb079ea37b97a95936d4da764d6a171df030c895ecf9"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

 

0111

0112

0113

0114

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="Unspecified"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

 

0129

0130

0131

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-21T22:18:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

 

0144

0145

0146

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value=