Key Management Interoperability Protocol Test Cases Version 1.2

Committee Note 01

11 November 2014

Specification URIs

This version:

http://docs.oasis-open.org/kmip/testcases/v1.2/cn01/kmip-testcases-v1.2-cn01.doc (Authoritative)

http://docs.oasis-open.org/kmip/testcases/v1.2/cn01/kmip-testcases-v1.2-cn01.html

http://docs.oasis-open.org/kmip/testcases/v1.2/cn01/kmip-testcases-v1.2-cn01.pdf

Previous version:

http://docs.oasis-open.org/kmip/testcases/v1.2/cnprd01/kmip-testcases-v1.2-cnprd01.doc (Authoritative)

http://docs.oasis-open.org/kmip/testcases/v1.2/cnprd01/kmip-testcases-v1.2-cnprd01.html

http://docs.oasis-open.org/kmip/testcases/v1.2/cnprd01/kmip-testcases-v1.2-cnprd01.pdf

Latest version:

http://docs.oasis-open.org/kmip/testcases/v1.2/kmip-testcases-v1.2.doc (Authoritative)

http://docs.oasis-open.org/kmip/testcases/v1.2/kmip-testcases-v1.2.html

http://docs.oasis-open.org/kmip/testcases/v1.2/kmip-testcases-v1.2.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.

Editors:

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

Faisal Faruqui (faisal.faruqui@thalesesec.com), Thales e-Security

Related work:

This document replaces or supersedes:

·         Key Management Interoperability Protocol Test Cases Version 1.1. Edited by Mathias Björkqvist and Tim Hudson. Latest version. http://docs.oasis-open.org/kmip/testcases/v1.1/kmip-testcases-v1.1.html.

This document is related to:

·         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 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 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:

This document is intended for developers and architects who wish to design systems and applications that interoperate using the Key Management Interoperability Protocol specification.

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 document 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/.

Citation format:

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

[kmip-testcases-v1.2]

Key Management Interoperability Protocol Test Cases Version 1.2. Edited by Tim Hudson and Faisal Faruqui. 11 November 2014. OASIS Committee Note 01. http://docs.oasis-open.org/kmip/testcases/v1.2/cn01/kmip-testcases-v1.2-cn01.html. Latest version: http://docs.oasis-open.org/kmip/testcases/v1.2/kmip-testcases-v1.2.html.

 

 

Copyright © OASIS Open 2014.  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.

 

Table of Contents

1       Introduction. 8

1.1 References (non-normative). 8

2       KMIP Test Cases. 9

2.1 KMIP 1.0 Test Cases. 9

2.1.1 TC-311-10 - Create / Destroy. 9

2.1.2 TC-312-10 - Register / Create / Get attributes / Destroy. 11

2.1.3 TC-313-10 - Create / Locate / Get / Destroy. 16

2.1.4 TC-314-10 - Dual Client Test Case, ID Placeholder-linked Locate & Get Batch. 20

2.1.5 TC-315-10 - Register / Destroy Secret Data. 31

2.1.6 TC-32-10 - Asynchronous Locate. 33

2.1.7 TC-41-10 - Revoke Scenario. 41

2.1.8 TC-51-10 - Get Usage Allocation Scenario. 54

2.1.9 TC-61-10 - Import of a Third-party Key. 64

2.1.10 TC-71-10 - Unrecognized Message Extension with Criticality Indicator False. 67

2.1.11 TC-72-10 - Unrecognized Message Extension with Criticality Indicator True. 69

2.1.12 TC-81-10 - Create a Key Pair. 71

2.1.13 TC-82-10 - Register Both Halves of a Key Pair. 75

2.1.14 TC-91-10 - Create a Key, Re-key. 81

2.1.15 TC-92-10 - Existing Key Expired, Re-key with Same Life-cycle. 87

2.1.16 TC-93-10 - Existing Key Compromised, Re-key with Same Life-cycle. 95

2.1.17 TC-94-10 - Create Key, Re-key with New Life-cycle. 102

2.1.18 TC-95-10 - Obtain Lease for Expired Key. 109

2.1.19 TC-101-10 - Create a Key, Archive and Recover it. 118

2.1.20 TC-111-10 - Credential, Operation Policy, Destroy Date. 127

2.1.21 TC-121-10 - Query, Maximum Response Size. 133

2.1.22 TC-131-10 - Register an Asymmetric Key Pair in PKCS1 Format. 135

2.1.23 TC-132-10 - Register an Asymmetric Key Pair and a Corresponding X509 Certificate. 145

2.1.24 TC-134-10 - Register Key Pair, Certify and Re-certify Public Key. 158

2.1.25 TC-NP-1-10 - Put. 175

2.1.26 TC-NP-2-10 - Notify & Put. 179

2.1.27 TC-ECC-1-10 - Register an ECC Key Pair. 186

2.1.28 TC-ECC-2-10 - Register an ECC Key Pair in PKCS8 Format. 194

2.1.29 TC-ECC-3-10 - Register an ECC Key Pair and ECDSA Certificate. 203

2.2 KMIP 1.1 Test Cases. 216

2.2.1 TC-311-11 - Create / Destroy. 216

2.2.2 TC-312-11 - Register / Create / Get attributes / Destroy. 218

2.2.3 TC-313-11 - Create / Locate / Get / Destroy. 223

2.2.4 TC-314-11 - Dual Client Test Case, ID Placeholder-linked Locate & Get Batch. 227

2.2.5 TC-315-11 - Register / Destroy Secret Data. 238

2.2.6 TC-32-11 - Asynchronous Locate. 240

2.2.7 TC-41-11 - Revoke Scenario. 248

2.2.8 TC-51-11 - Get Usage Allocation Scenario. 261

2.2.9 TC-61-11 - Import of a Third-party Key. 271

2.2.10 TC-71-11 - Unrecognized Message Extension with Criticality Indicator False. 275

2.2.11 TC-72-11 - Unrecognized Message Extension with Criticality Indicator True. 277

2.2.12 TC-81-11 - Create a Key Pair. 278

2.2.13 TC-82-11 - Register Both Halves of a Key Pair. 282

2.2.14 TC-91-11 - Create a Key, Re-key. 289

2.2.15 TC-92-11 - Existing Key Expired, Re-key with Same Life-cycle. 295

2.2.16 TC-93-11 - Existing Key Compromised, Re-key with Same Life-cycle. 303

2.2.17 TC-94-11 - Create Key, Re-key with New Life-cycle. 309

2.2.18 TC-95-11 - Obtain Lease for Expired Key. 316

2.2.19 TC-101-11 - Create a Key, Archive and Recover it. 325

2.2.20 TC-111-11 - Credential, Operation Policy, Destroy Date. 335

2.2.21 TC-112-11 - Device Credential, Operation Policy, Destroy Date. 341

2.2.22 TC-121-11 - Query, Maximum Response Size. 348

2.2.23 TC-122-11 - Query Vendor Extensions. 350

2.2.24 TC-131-11 - Register an Asymmetric Key Pair in PKCS1 Format. 351

2.2.25 TC-132-11 - Register an Asymmetric Key Pair and a Corresponding X509 Certificate. 361

2.2.26 TC-133-11 - Create, Re-key Key Pair. 375

2.2.27 TC-134-11 - Register Key Pair, Certify and Re-certify Public Key. 390

2.2.28 TC-141-11 - Key Wrapping using AES Key Wrap and No Encoding. 407

2.2.29 TC-142-11 - Key Wrapping using AES Key Wrap with Attributes. 414

2.2.30 TC-151-11 - Locate a Fresh Object from the Default Group. 420

2.2.31 TC-152-11 - Client-side Group Management. 424

2.2.32 TC-153-11 - Default Object Group Member. 433

2.2.33 TC-161-11 - Discover Versions. 442

2.2.34 TC-171-11 - Handling of Attributes and Attribute Index Values. 445

2.2.35 TC-181-11 - Digests of Symmetric Keys. 450

2.2.36 TC-182-11 - Digests of RSA Private Keys. 459

2.2.37 TC-NP-1-11 - Put. 466

2.2.38 TC-NP-2-11 - Notify & Put. 470

2.2.39 TC-ECC-1-11 - Register an ECC Key Pair. 478

2.2.40 TC-ECC-2-11 - Register an ECC Key Pair in PKCS8 Format. 486

2.2.41 TC-ECC-3-11 - Register an ECC Key Pair and ECDSA Certificate. 494

2.3 KMIP 1.2 Test Cases. 508

2.3.1 TC-311-12 - Create / Destroy. 508

2.3.2 TC-312-12 - Register / Create / Get attributes / Destroy. 510

2.3.3 TC-313-12 - Create / Locate / Get / Destroy. 519

2.3.4 TC-314-12 - Dual Client Test Case, ID Placeholder-linked Locate & Get Batch. 524

2.3.5 TC-315-12 - Register / Destroy Secret Data. 536

2.3.6 TC-32-12 - Asynchronous Locate. 537

2.3.7 TC-41-12 - Revoke Scenario. 545

2.3.8 TC-51-12 - Get Usage Allocation Scenario. 559

2.3.9 TC-61-12 - Import of a Third-party Key. 569

2.3.10 TC-71-12 - Unrecognized Message Extension with Criticality Indicator False. 572

2.3.11 TC-72-12 - Unrecognized Message Extension with Criticality Indicator True. 574

2.3.12 TC-81-12 - Create a Key Pair. 576

2.3.13 TC-82-12 - Register Both Halves of a Key Pair. 580

2.3.14 TC-91-12 - Create a Key, Re-key. 586

2.3.15 TC-92-12 - Existing Key Expired, Re-key with Same Life-cycle. 592

2.3.16 TC-93-12 - Existing Key Compromised, Re-key with Same Life-cycle. 600

2.3.17 TC-94-12 - Create Key, Re-key with New Life-cycle. 607

2.3.18 TC-95-12 - Obtain Lease for Expired Key. 614

2.3.19 TC-101-12 - Create a Key, Archive and Recover it. 622

2.3.20 TC-111-12 - Credential, Operation Policy, Destroy Date. 633

2.3.21 TC-112-12 - Device Credential, Operation Policy, Destroy Date. 639

2.3.22 TC-121-12 - Query, Maximum Response Size. 645

2.3.23 TC-122-12 - Query Vendor Extensions. 648

2.3.24 TC-131-12 - Register an Asymmetric Key Pair in PKCS1 Format. 649

2.3.25 TC-132-12 - Register an Asymmetric Key Pair and a Corresponding X509 Certificate. 659

2.3.26 TC-133-12 - Create, Re-key Key Pair. 673

2.3.27 TC-134-12 - Register Key Pair, Certify and Re-certify Public Key. 688

2.3.28 TC-141-12 - Key Wrapping using AES Key Wrap and No Encoding. 705

2.3.29 TC-142-12 - Key Wrapping using AES Key Wrap with Attributes. 712

2.3.30 TC-151-12 - Locate a Fresh Object from the Default Group. 718

2.3.31 TC-152-12 - Client-side Group Management. 722

2.3.32 TC-153-12 - Default Object Group Member. 731

2.3.33 TC-161-12 - Discover Versions. 740

2.3.34 TC-171-12 - Handling of Attributes and Attribute Index Values. 744

2.3.35 TC-181-12 - Digests of Symmetric Keys. 749

2.3.36 TC-182-12 - Digests of RSA Private Keys. 758

2.3.37 TC-NP-1-12 - Put. 765

2.3.38 TC-NP-2-12 - Notify & Put. 769

2.3.39 TC-ECC-1-12 - Register an ECC Key Pair. 777

2.3.40 TC-ECC-2-12 - Register an ECC Key Pair in PKCS8 Format. 785

2.3.41 TC-ECC-3-12 - Register an ECC Key Pair and ECDSA Certificate. 793

2.3.42 TC-PGP-1-12 - Register PGP Key - RSA.. 807

2.3.43 TC-MDO-1-12 - Register MDO Key. 820

2.3.44 TC-MDO-2-12 - Locate MDO keys by Key Value Present. 824

2.3.45 TC-MDO-3-12 - Register MDO Key using PKCS11 URI 830

2.3.46 TC-SJ-1-12 - Create and Split/Join. 834

2.3.47 TC-SJ-2-12 - Register and Split / Join. 843

2.3.48 TC-SJ-3-12 - Join Split Keys. 855

2.3.49 TC-SJ-4-12 - Register and Split / Join with XOR. 864

Appendix A.    Acknowledgments. 877

Appendix B.     Revision History. 880

 

 


1        Introduction

The purpose of this document is to describe test cases to demonstrate the Key Management Interoperability Protocol (KMIP) [KMIP-SPEC-1_2], [KMIP-SPEC-1_1], and [KMIP-SPEC-1_0]. The test cases illustrate that the concepts within the protocol are sound and how the protocol may be used when implementing KMIP in applications. These test cases are not intended to fully test an implementation of KMIP.  There are test cases for v1.0, v1.1 and v1.2 of the protocol.

1.1 References (non-normative)

 

[KMIP-SPEC-1_0]

Key Management Interoperability Protocol Specification Version 1.0. October 2010. OASIS Standard. http://docs.oasis-open.org/kmip/spec/v1.0/os/kmip-spec-1.0-os.doc.

 

[KMIP-SPEC-1_1]

Key Management Interoperability Protocol Specification Version 1.124 January 2013.  OASIS Standard.  http://docs.oasis-open.org/kmip/spec/v1.1/os/kmip-spec-v1.1-os.doc.

[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-ENCODINGS]

KMIP Additional Message Encodings Version 1.0. Edited by Tim Hudson. Latest version: http://docs.oasis-open.org/kmip/kmip-addtl-msg-enc/v1.0/kmip-addtl-msg-enc-v1.0.doc.

 

2        KMIP 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-ENCODINGS] 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 the protocol version as part of the identifier.

Many of the test cases contained within this document depend on a specific configuration of a KMIP server to match the assumptions of the test case. Support for a test case depends on a server being configured in a manner consistent with the test case assumptions.

The test cases show one possible way to construct the messages, and the messages shown are not necessarily the only conformant constructions as many items within KMIP are optional and server behavior depends on the server's policy. Support for a test case is predicated on a server matching the test case assumptions and the behavior shown in the request-response pairs.

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.

2.1 KMIP 1.0 Test Cases

2.1.1 TC-311-10 - Create / Destroy

In this test case the client issues a Create request, whereby the server creates a new symmetric key and returns the Unique Identifier. To clean up, the client then performs a Destroy operation to destroy 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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </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>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0030

0031

0032

0033

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

 

0045

0046

0047

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:30+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>

 

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

 

0060

0061

0062

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

 

0077

0078

0079

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:31+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>

 

2.1.2 TC-312-10 - Register / Create / Get attributes / Destroy

Here the client first registers a template object and then creates a symmetric key using the registered template. To verify that the attributes of the key were set correctly from the template, the client then issues a Get Attributes command, after which it destroys first the key and then the template.

 

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="0"/>

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

      <TemplateAttribute>

      </TemplateAttribute>

      <Template>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString" value="Group1"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Application Specific Information"/>

          <AttributeValue>

            <ApplicationNamespace type="TextString" value="ssl"/>

            <ApplicationData type="TextString"                      value="www.example.com"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Contact Information"/>

          <AttributeValue type="TextString" value="Joe"/>

        </Attribute>

        <Attribute>

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

          <AttributeValue type="TextString" value="demonstration"/>

        </Attribute>

        <Attribute>

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

          <AttributeValue>

            <NameValue type="TextString" value="Template1"/>

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

          </AttributeValue>

        </Attribute>

      </Template>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:32+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

 

0079

0080

0081

 

0082

0083

0084

0085

 

0086

0087

0088

0089

 

0090

0091

0092

0093

0094

0095

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

      <TemplateAttribute>

        <Name>

          <NameValue type="TextString" value="Template1"/>

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

        </Name>

        <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>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

 

0111

0112

0113

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:33+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_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

 

0126

0127

 

0128

0129

0130

0131

0132

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

      <AttributeName type="TextString" value="Object Group"/>

      <AttributeName type="TextString" value="Application Specific Information"/>

      <AttributeName type="TextString" value="Contact Information"/>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

 

0147

0148

0149

0150

0151

0152

 

0153

0154

0155

 

0156

0157

0158

0159

 

0160

0161

0162

0163

0164

0165

0166

0167

0168

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:34+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="Group1"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Application Specific Information"/>

        <AttributeValue>

          <ApplicationNamespace type="TextString" value="ssl"/>

          <ApplicationData type="TextString"                        value="www.example.com"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Contact Information"/>

        <AttributeValue type="TextString" value="Joe"/>

      </Attribute>

      <Attribute>

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

        <AttributeValue type="TextString" value="demonstration"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="0"/>

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:34+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>

 

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

 

0213

0214

0215

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:34+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>

 

2.1.3 TC-313-10 - Create / Locate / Get / Destroy

This test case tests the Locate and Get operations, in addition to the previously used operations Create and Destroy. A symmetric key is first created, and then a lookup is performed on the Name attribute using the Locate operation. Subsequently, a Get request is issued to retrieve the located key, after which the key on the server is destroyed.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="Key1"/>

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

          </AttributeValue>

        </Attribute>

        <Attribute>

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

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

        </Attribute>

        <Attribute>

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

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

        </Attribute>

        <Attribute>

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

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

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Contact Information"/>

          <AttributeValue type="TextString" value="Joe"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:35+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>

 

0059

0060

0061

0062

0063

0064

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="0"/>

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

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

      </Attribute>

      <Attribute>

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

        <AttributeValue>

          <NameValue type="TextString" value="Key1"/>

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

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:36+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

 

0113

0114

0115

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

 

0131

0132

0133

0134

0135

 

0136

0137

0138

0139

0140

0141

0142

0143

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:36+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

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

      <SymmetricKey>

        <KeyBlock>

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

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="c8e51523f73d6ee9f40eab7cd06825499d8c0bd0739e1046"/>

          </KeyValue>

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

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

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

 

0156

0157

0158

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

 

0173

0174

0175

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:36+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>

 

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

0189

 

0190

0191

0192

0193

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

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

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T10:47:36+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.4 TC-314-10 - Dual Client Test Case, ID Placeholder-linked Locate & Get Batch

This test case has two clients performing operations on the same key. The first client initially registers a template and creates a symmetric key using that template. The second client then does a batched Locate and Get using the ID Placeholder to retrieve the key. The second client thereafter performs a number of operations on the key (Get Attribute List, Get Attribute, Add Attribute, Modify Attribute and Delete Attribute), before the first client finally destroys the key and the template. The first client also tries to Get the key and the template after they have been destroyed, but the Get operation fails in both cases.  This test case demonstrates the fact that it is possible for two clients to cooperate and use the same managed object while only having knowledge of a single pre-agreed Name attribute value and without having to share any other information.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

      <TemplateAttribute>

      </TemplateAttribute>

      <Template>

        <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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="Template1"/>

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

          </AttributeValue>

        </Attribute>

      </Template>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:25+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>

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

 

0068

0069

0070

0071

0072

0073

 

0074

0075

0076

0077

 

0078

0079

0080

0081

 

0082

0083

0084

0085

0086

0087

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

      <TemplateAttribute>

        <Name>

          <NameValue type="TextString" value="Template1"/>

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

        </Name>

        <Attribute>

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

          <AttributeValue>

            <NameValue type="TextString" value="Key1"/>

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

          </AttributeValue>

        </Attribute>

        <Attribute>

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

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

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Contact Information"/>

          <AttributeValue type="TextString" value="Foo"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0088

0089

0090

0091

0092

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

 

0103

0104

0105

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:27+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_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

 

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

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

  </RequestHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="0e9e1875336e415e"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

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

      </Attribute>

      <Attribute>

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

        <AttributeValue>

          <NameValue type="TextString" value="Key1"/>

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

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="cfef21dddf1cf5e3"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

 

0154

0155

0156

0157

0158

0159

0160

0161

0162

 

0163

0164

0165

0166

0167

 

0168

0169

0170

0171

0172

0173

0174

0175

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:28+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="0e9e1875336e415e"/>

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="cfef21dddf1cf5e3"/>

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

    <ResponsePayload>

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

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

      <SymmetricKey>

        <KeyBlock>

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

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="755d03c639648fb5828d5f1cc9fe9b57"/>

          </KeyValue>

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

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

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

 

0188

0189

0190

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

 

0205

 

0206

 

0207

0208

0209

0210

0211

0212

0213

 

0214

0215

0216

0217

0218

0219

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:28+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

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

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

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

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

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

      <AttributeName type="TextString" value="Unique Identifier"/>

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

      <AttributeName type="TextString" value="Lease Time"/>

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

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Contact Information"/>

      <AttributeName type="TextString" value="Last Change Date"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

 

0232

0233

0234

0235

0236

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

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

      <AttributeName type="TextString" value="Contact Information"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0237

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

 

0251

0252

0253

0254

0255

 

0256

0257

0258

0259

 

0260

0261

0262

0263

0264

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:28+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue>

          <NameValue type="TextString" value="Key1"/>

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

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Contact Information"/>

        <AttributeValue type="TextString" value="Foo"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0265

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

 

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

 

0289

0290

0291

0292

0293

0294

0295

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="7a92dda525eb158a"/>

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="7230f6e4d3bea249"/>

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

 

0311

0312

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

 

0323

0324

0325

0326

0327

0328

0329

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:29+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="7a92dda525eb158a"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="7230f6e4d3bea249"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

 

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

 

0354

0355

0356

0357

0358

0359

0360

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="ba3ea60548ecb699"/>

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="321984e716274a3d"/>

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

 

0376

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

 

0388

0389

0390

0391

0392

0393

0394

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:30+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="ba3ea60548ecb699"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="321984e716274a3d"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

 

0408

0409

0410

0411

0412

0413

0414

0415

 

0416

0417

0418

0419

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="d5c6df842daeecd8"/>

    <RequestPayload>

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

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

    </RequestPayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="572d4f0d433dab10"/>

    <RequestPayload>

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

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0420

0421

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

 

0435

0436

0437

0438

0439

0440

0441

0442

0443

0444

0445

0446

 

0447

0448

0449

0450

0451

0452

0453

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:30+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="d5c6df842daeecd8"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="572d4f0d433dab10"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0454

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

 

0466

0467

0468

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0469

0470

0471

0472

0473

0474

0475

0476

0477

0478

0479

0480

0481

0482

 

0483

0484

0485

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:31+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>

 

0486

0487

0488

0489

0490

0491

0492

0493

0494

0495

0496

0497

 

0498

0499

0500

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0501

0502

0503

0504

0505

0506

0507

0508

0509

0510

0511

0512

0513

0514

0515

0516

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:31+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

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

    <ResultMessage type="TextString" value="Object does not exist"/>

  </BatchItem>

</ResponseMessage>

 

0517

0518

0519

0520

0521

0522

0523

0524

0525

0526

0527

0528

 

0529

0530

0531

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0532

0533

0534

0535

0536

0537

0538

0539

0540

0541

0542

0543

0544

0545

 

0546

0547

0548

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:31+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>

 

0549

0550

0551

0552

0553

0554

0555

0556

0557

0558

0559

0560

 

0561

0562

0563

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0564

0565

0566

0567

0568

0569

0570

0571

0572

0573

0574

0575

0576

0577

 

0578

0579

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:31+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

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

    <ResultMessage type="TextString" value="No Cryptographic Object found with given Unique Identifier"/>

  </BatchItem>

</ResponseMessage>

 

2.1.5 TC-315-10 - Register / Destroy Secret Data

In this test case the client issues a Register request containing a Secret Data object, whereby the server registers the object and returns the Unique Identifier. To clean up, the client then performs a Destroy operation to destroy the object.

 

0001

0002

0003

0004

0005

0006

0007

0008

 

0009

0010

0011

0012

 

0013

0014

0015

 

0016

 

0017

 

0018

0019

0020

0021

0022

0023

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

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

  </RequestHeader> <BatchItem>

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

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

      <TemplateAttribute>

        <Attribute>

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

        </Attribute>

      </TemplateAttribute> <SecretData>

        <SecretDataType type="Enumeration"                          value="Password"/> <KeyBlock>

          <KeyFormatType type="Enumeration"                         value="Opaque"/> <KeyValue>

            <KeyMaterial type="ByteString"                          value="53656372657450617373776f7264"/>

          </KeyValue>

        </KeyBlock>

      </SecretData>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0024

0025

0026

0027

0028

0029

0030

0031

0032

0033

0034

0035

0036

0037

 

0038

0039

0040

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-15T10:41:21+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>

 

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

 

0053

0054

0055

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

 

0070

0071

0072

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-15T10:41:21+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>

 

2.1.6 TC-32-10 - Asynchronous Locate

This test case tests the asynchronous capabilities of KMIP using the Locate operation. A key is created and then a Locate request is sent containing the Name of the created key and with the message header Asynchronous Indicator-field set to True. If the server returns an asynchronous response to the Locate, the client then polls the server until the operation is ready. If the server responded asynchronously, a subsequent Locate operation that is also handled asynchronously is then Canceled, before the key is finally destroyed.

This test case shows the use of two clients with the same assumptions as in the test case described in Section . Since the client is unable to force the server to respond asynchronously, it is possible for a server to respond synchronously to the requests issued at times 1 and 4, in which case the expected response are the ones shown at times 2 and 5, respectively. In the case of the server not responding asynchronously to the Locate requests, the client is permitted to skip the requests illustrated at time 7 and 8.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="Key1"/>

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

          </AttributeValue>

        </Attribute>

        <Attribute>

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

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

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString" value="Group1"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:32+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>

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

 

0080

0081

0082

0083

0084

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

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

      </Attribute>

      <Attribute>

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

        <AttributeValue>

          <NameValue type="TextString" value="Key1"/>

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

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:32+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

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="0"/>

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:32+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <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="0"/>

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

0165

0166

 

0167

0168

0169

0170

0171

0172

0173

0174

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:33+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

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

      <SymmetricKey>

        <KeyBlock>

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

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="bef01f82dfb4682a01c2a08413834aab"/>

          </KeyValue>

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

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

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

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

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="Group1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

 

0211

0212

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:33+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

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="0"/>

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:33+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <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="0"/>

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <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

0277

0278

0279

 

0280

0281

0282

0283

0284

0285

0286

0287

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:33+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

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

      <SymmetricKey>

        <KeyBlock>

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

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="bef01f82dfb4682a01c2a08413834aab"/>

          </KeyValue>

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

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

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

 

0309

0310

0311

0312

0313

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

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

      </Attribute>

      <Attribute>

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

        <AttributeValue>

          <NameValue type="TextString" value="Key1"/>

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

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

 

0327

0328

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:33+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

 

0341

0342

0343

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

0357

 

0358

0359

0360

0361

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:33+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

      <AsynchronousCorrelationValue type="ByteString"               value="4d6bbfc35fe57fba"/>

      <CancellationResult type="Enumeration" value="Canceled"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

 

0374

0375

0376

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

 

0391

0392

0393

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:34+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>

 

2.1.7 TC-41-10 - Revoke Scenario

This test case tests the revocation aspect of the key life cycle support in KMIP. A key is created and a Get Attribute for the State-attribute reveals that the key is in Pre-active state. The Activation Date is then set, which changes the state to Active. The key is then revoked with a revocation reason of Compromised and the state subsequently changed to Compromised, but this does not stop a client from being able to add, modify and delete attributes or even get the key (since we assume here that the out-of-band registration has been used to make the server aware of the fact that the client is capable of interpreting the attributes of the key and determining what it is allowed to do with the key). To clean up, the created key is finally destroyed.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="Key1"/>

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

          </AttributeValue>

        </Attribute>

        <Attribute>

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

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

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:35+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>

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

 

0067

0068

0069

0070

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

0081

0082

0083

0084

 

0085

0086

0087

0088

0089

0090

0091

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:35+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

      <Attribute>

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

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

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0092

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

 

0104

0105

0106

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

 

0121

0122

0123

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:35+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0124

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

 

0136

0137

0138

0139

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0140

0141

0142

0143

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:35+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

      <Attribute>

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

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

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

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="0"/>

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

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

      </Attribute>

      <Attribute>

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

        <AttributeValue>

          <NameValue type="TextString" value="Key1"/>

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

        </AttributeValue>

      </Attribute>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:35+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

 

0215

0216

0217

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

 

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

0243

0244

0245

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:35+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

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

      <SymmetricKey>

        <KeyBlock>

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

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="ef7833ab15f5a1ee5874bc0d9bbc4be7"/>

          </KeyValue>

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

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

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

 

0258

0259

 

0260

0261

 

0262

0263

0264

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </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="KeyCompromise"/>

      </RevocationReason>

      <CompromiseOccurrenceDate type="DateTime" value="1970-01-01T00:00:06+00:00"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0265

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

0278

 

0279

0280

0281

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:35+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>

 

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

0293

 

0294

0295

0296

0297

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

0314

0315

0316

0317

0318

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:36+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

      <Attribute>

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

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

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0319

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

 

0331

0332

0333

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

 

0348

 

0349

 

0350

0351

 

0352

0353

0354

0355

0356

0357

0358

0359

0360

 

0361

0362

0363

0364

0365

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:36+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

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

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

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

      <AttributeName type="TextString" value="Compromise Occurrence Date"/>

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

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

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

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

      <AttributeName type="TextString" value="Revocation Reason"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

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

      <AttributeName type="TextString" value="Lease Time"/>

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

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Last Change Date"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

 

0378

0379

0380

0381

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

 

0396

0397

0398

0399

0400

0401

0402

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:36+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

      <Attribute>

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

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

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0403

0404

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

0415

 

0416

0417

0418

0419

0420

0421

0422

0423

0424

0425

0426

 

0427

0428

0429

0430

0431

0432

0433

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="9d407ffb45c95672"/>

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="d62107c3158409d8"/>

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0434

0435

0436

0437

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

 

0449

0450

0451

0452

0453

0454

0455

0456

0457

0458

0459

0460

 

0461

0462

0463

0464

0465

0466

0467

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:36+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="9d407ffb45c95672"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="d62107c3158409d8"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0468

0469

0470

0471

0472

0473

0474

0475

0476

0477

0478

0479

0480

 

0481

0482

0483

0484

0485

0486

0487

0488

0489

0490

0491

 

0492

0493

0494

0495

0496

0497

0498

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="47fb42cceca3f6ec"/>

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="08019a230a05e9e1"/>

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0499

0500

0501

0502

0503

0504

0505

0506

0507

0508

0509

0510

0511

0512

0513

 

0514

0515

0516

0517

0518

0519

0520

0521

0522

0523

0524

0525

 

0526

0527

0528

0529

0530

0531

0532

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:37+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="47fb42cceca3f6ec"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="08019a230a05e9e1"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0533

0534

0535

0536

0537

0538

0539

0540

0541

0542

0543

0544

0545

 

0546

0547

0548

0549

0550

0551

0552

0553

 

0554

0555

0556

0557

# TIME 12

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="3e2c080fa8806057"/>

    <RequestPayload>

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

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

    </RequestPayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="9d55988d43d23b82"/>

    <RequestPayload>

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

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0558

0559

0560

0561

0562

0563

0564

0565

0566

0567

0568

0569

0570

0571

0572

 

0573

0574

0575

0576

0577

0578

0579

0580

0581

0582

0583

0584

 

0585

0586

0587

0588

0589

0590

0591

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:37+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="3e2c080fa8806057"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="9d55988d43d23b82"/>

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0592

0593

0594

0595

0596

0597

0598

0599

0600

0601

0602

0603

 

0604

0605

0606

# TIME 13

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0607

0608

0609

0610

0611

0612

0613

0614

0615

0616

0617

0618

0619

0620

0621

 

0622

0623

0624

0625

0626

 

0627

0628

0629

0630

0631

0632

0633

0634

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:37+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

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

      <SymmetricKey>

        <KeyBlock>

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

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="ef7833ab15f5a1ee5874bc0d9bbc4be7"/>

          </KeyValue>

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

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

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0635

0636

0637

0638

0639

0640

0641

0642

0643

0644

0645

0646

 

0647

0648

0649

# TIME 14

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0650

0651

0652

0653

0654

0655

0656

0657

0658

0659

0660

0661

0662

0663

 

0664

0665

0666

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:38+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>

 

2.1.8 TC-51-10 - Get Usage Allocation Scenario

This test case tests the usage management functionality of KMIP. A key is created and the Activation Date and Protect Stop Date attributes are set in such a way as to allow the Get Usage Allocation operation to be performed. The value of the Usage Limits attribute is set to 1000 bytes, and two subsequent requests for 500 bytes succeed (one of them also verifying the amount that can be received using the Check operation), while a third fails since the usage allocation has been used up. The key is finally revoked and destroyed. This test case shows the use of multiple clients (Client-A, Client-B and Client-C).

 

 

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

# TIME 0

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="Key1"/>

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

          </AttributeValue>

        </Attribute>

        <Attribute>

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

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

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:46+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>

 

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

 

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

 

0079

0080

0081

0082

0083

0084

0085

# TIME 1

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="d7fe2477e364ae1a"/>

    <RequestPayload>

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

      <Attribute>

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

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

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="9696012991bc8a59"/>

    <RequestPayload>

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

      <Attribute>

        <AttributeName type="TextString" value="Protect Stop Date"/>

        <AttributeValue type="DateTime" value="$NOW+600"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

0111

0112

 

0113

0114

0115

0116

0117

0118

0119

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:47+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="d7fe2477e364ae1a"/>

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

    <ResponsePayload>

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

      <Attribute>

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

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

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="9696012991bc8a59"/>

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

    <ResponsePayload>

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

      <Attribute>

        <AttributeName type="TextString" value="Protect Stop Date"/>

        <AttributeValue type="DateTime" value="$NOW+600"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

# TIME 2

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue>

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

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

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0142

0143

0144

0145

0146

0147

0148

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:48+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue>

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

          <UsageLimitsCount type="LongInteger" value="1000"/>

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

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

 

0187

0188

0189

0190

0191

# TIME 3

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

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

      </Attribute>

      <Attribute>

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

        <AttributeValue>

          <NameValue type="TextString" value="Key1"/>

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

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

 

0206

0207

0208

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:48+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

 

0221

0222

0223

# TIME 4

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0224

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

 

0239

0240

0241

0242

0243

 

0244

0245

0246

0247

0248

0249

0250

0251

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:48+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

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

      <SymmetricKey>

        <KeyBlock>

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

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="674b32b1a3266df1253b0f2c4440b0b0"/>

          </KeyValue>

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

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

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

 

0266

0267

0268

0269

0270

0271

0272

0273

 

0274

0275

0276

0277

# TIME 5

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

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

  </RequestHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="19d4f3dc9635307a"/>

    <RequestPayload>

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

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="20c8dffd55bdeee8"/>

    <RequestPayload>

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

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

 

0293

0294

0295

0296

0297

0298

0299

0300

 

0301

0302

0303

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:49+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="19d4f3dc9635307a"/>

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="20c8dffd55bdeee8"/>

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

 

0316

0317

0318

0319

# TIME 6

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

 

0334

0335

0336

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:49+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0337

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

 

0357

0358

0359

0360

0361

# TIME 7

# [Client-C]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

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

      </Attribute>

      <Attribute>

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

        <AttributeValue>

          <NameValue type="TextString" value="Key1"/>

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

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

 

0376

0377

0378

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:49+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

 

0391

0392

0393

# TIME 8

# [Client-C]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0394

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

 

0409

0410

0411

0412

0413

 

0414

0415

0416

0417

0418

0419

0420

0421

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:49+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

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

      <SymmetricKey>

        <KeyBlock>

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

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="674b32b1a3266df1253b0f2c4440b0b0"/>

          </KeyValue>

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

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

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

 

0434

0435

0436

0437

# TIME 9

# [Client-C]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

0450

0451

 

0452

0453

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:49+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

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

    <ResultMessage type="TextString" value="Unable to allocate requested amount"/>

  </BatchItem>

</ResponseMessage>

 

 

0454

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

 

0468

0469

 

0470

0471

0472

0473

0474

0475

0476

0477

 

0478

0479

0480

# TIME 10

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

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

  </RequestHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="727a212bc674b4ea"/>

    <RequestPayload>

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

      <RevocationReason>

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

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="1d0ebf826109b0a5"/>

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0481

0482

0483

0484

0485

0486

0487

0488

0489

0490

0491

0492

0493

0494

0495

 

0496

0497

0498

0499

0500

0501

0502

0503

 

0504

0505

0506

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-11T12:21:51+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="727a212bc674b4ea"/>

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

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

    <UniqueBatchItemID type="ByteString" value="1d0ebf826109b0a5"/>

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

    <ResponsePayload>

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

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.9 TC-61-10 - Import of a Third-party Key

This test case tests the import of a foreign key using the Register operation. To validate that the registered key is treated the same as a locally created key, an attribute is added to the key and then modified. Finally, the key is destroyed.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </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"/>

        </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>

0032

0033

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

 

0046

0047

0048

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:42+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>

 

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

 

0061

0062

0063

0064

0065

0066

0067

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

0081

 

0082

0083

0084

0085

0086

0087

0088

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:42+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0089

0090

0091

0092

0093

0094

0095

0096

0097

0098

0099

0100

 

0101

0102

0103

0104

0105

0106

0107

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0108

0109

0110

0111

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:42+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

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

      <Attribute>

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

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </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="0"/>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2009-11-12T11:10:42+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>

 

2.1.10 TC-71-10 - Unrecognized Message Extension with Criticality Indicator False

A create request is issued and the request contains a Message Extension with the Criticality Indicator set to false. The server does not understand the extension, but since it is non-critical, the create request is processed normally. Subsequently, the created key is deleted.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </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 Length"/>

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

        </Attribute>

        <Attribute>

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

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

        </Attribute>

        <Attribute>

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

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

        </Attribute>

        <Attribute>

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

          <AttributeValue type="TextString" value="TC-71-10"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

    <MessageExtension>

      <VendorIdentification type="TextString" value="Acme"/>

      <CriticalityIndicator type="Boolean" value="false"/>

      <VendorExtension>

        <TTLV tag="0x540001" type="TextString" value="na"/>

      </VendorExtension>

    </MessageExtension>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:26:04+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>

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

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

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0074

0075

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

 

0088

0089

0090

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:26:04+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>

 

2.1.11 TC-72-10 - Unrecognized Message Extension with Criticality Indicator True

A create request is issued and the request contains a Message Extension with the Criticality Indicator set to true. The server does not understand the extension, and since it is critical, the create request fails and an error is returned.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </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 Length"/>

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

        </Attribute>

        <Attribute>

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

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

        </Attribute>

        <Attribute>

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

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

        </Attribute>

        <Attribute>

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

          <AttributeValue type="TextString" value="TC-72-10"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

    <MessageExtension>

      <VendorIdentification type="TextString" value="Acme"/>

      <CriticalityIndicator type="Boolean" value="true"/>

      <VendorExtension>

        <TTLV tag="0x540001" type="TextString" value="na"/>

      </VendorExtension>

    </MessageExtension>

  </BatchItem>

</RequestMessage>

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:26:05+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

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

    <ResultMessage type="TextString" value="Critical Message Extension not recognized"/>

  </BatchItem>

</ResponseMessage>

 

2.1.12 TC-81-10 - Create a Key Pair

Create a new private/public key pair. Make sure they are linked correctly by issuing Locate commands with the assigned Unique Identifiers. Finally delete both key halves.

 

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

0048

0049

0050

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

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

  </RequestHeader>

  <BatchItem>

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

    <RequestPayload>

      <CommonTemplateAttribute>

        <Attribute>

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

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

        </Attribute>

        <Attribute>

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

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

        </Attribute>

      </CommonTemplateAttribute>

      <PrivateKeyTemplateAttribute>

        <Attribute>

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

          <AttributeValue>

            <NameValue type="TextString" value="PrivateKey1"/>

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

          </AttributeValue>

        </Attribute>

        <Attribute>

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

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

        </Attribute>

      </PrivateKeyTemplateAttribute>

      <PublicKeyTemplateAttribute>

        <Attribute>

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

          <AttributeValue>

            <NameValue type="TextString" value="PublicKey1"/>

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

          </AttributeValue>

        </Attribute>

        <Attribute>

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

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

        </Attribute>

      </PublicKeyTemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

 

0065

 

0066

0067

0068

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

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

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

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:35:06+00:00"/>

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

  </ResponseHeader>

  <BatchItem>

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

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

    <ResponsePayload>

      <PrivateKeyUniqueIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

      <PublicKeyUniqueIdentifier type="TextString"                  value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

 

0108

0109

0110

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:35:07+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

 

0131

0132

0133

0134

0135

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

 

0150

0151

0152

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:35:07+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

 

0165

0166

0167

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

 

0182

0183

0184

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:35:07+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>

 

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

 

0197

0198

0199

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

 

0214

0215

0216

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:35:07+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>

 

2.1.13 TC-82-10 - Register Both Halves of a Key Pair

Register a private key and a public key and set the Link attribute to point to each other. Verify the links were set correctly by locating the keys based on the link attributes, and then delete both objects.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_8"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100930451c9ecd94f5bb9da17dd09381bd23be43eca8c7539f301fc8a8cd5d5274c3e7699dbdc711c97a7aa91e2c50a82bd0b1034f0df493dec16362427e58acce7f6ce0f9bcc617bbd8c90d0094a2703ba0d09eb19d1005f2fb265526aac75af32f8bc782cded2a57f811e03eaf67a944de5e78413dca8f232d074e6dcea4cec9f02030100010281800b6a7d736199ea48a420e4537ca0c7c046784dcbeaa63baebc0bc132787449cde8d7cad0c0c863c0fefb06c3062befc50033ecf87b4e33a9be7bcbc8f1511ae215e80deb5d8af2bd31319d7821196640935a0cd67c94599579f2100d65e038831fdafb0dbe2bbdac00a696e67e756350e1c99ace11a36dabac3ed3e730960059024100ddf672fbcc5bda3d73affc4e791e0c03390224405d69ccaabc749faa0dcd4c2583c71dde8941a7b9aa030f52ef1451466c074d4d338fe677892acd9e10fd35bd024100a98fbc3ed6b4c6f860f97165ac2f7bb6f2e2cb192a9abd49795be5bcf37d8ee69a6e169c24e5c32e4e7fa33265461407f952ba49e204818a2f785f113f922b8b0240253f9470390d39049303777ddbc9750e9d64849ce0903eae704dc9f589b7680deb9d609fd5bcd4decd6f120542e5cff5d76f2a43c8615fb5b3a9213463797aa9024100a1ddf023c0cd94c019bb26d09b9e3ca8fa971cb16aa58b9baf79d6081a1dbba452ba53653e2804ba98ff69e8bb1b3a161ea225ea501463216a8dab9b88a75e5f02406178646e112cf79d921a8a843f17f6e7ff974f688122365bf6690cdfc996e1890952eb3820dd1890ec1c8619e87a2bd38f9d03b37fac742efb748c7885942c39"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="1024"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0032

0033

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

 

0046

0047

0048

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:49:37+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>

 

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

 

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

0074

0075

0076

0077

0078

 

 

 

 

 

0079

0080

0081

0082

0083

0084

0085

0086

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30819f300d06092a864886f70d010101050003818d0030818902818100930451c9ecd94f5bb9da17dd09381bd23be43eca8c7539f301fc8a8cd5d5274c3e7699dbdc711c97a7aa91e2c50a82bd0b1034f0df493dec16362427e58acce7f6ce0f9bcc617bbd8c90d0094a2703ba0d09eb19d1005f2fb265526aac75af32f8bc782cded2a57f811e03eaf67a944de5e78413dca8f232d074e6dcea4cec9f0203010001"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="1024"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0087

0088

0089

0090

0091

0092

0093

0094

0095

0096

0097

0098

0099

0100

 

0101

0102

0103

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:49:38+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>

 

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

 

0116

0117

0118

0119

0120

 

0121

0122

0123

0124

0125

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

 

0140

0141

0142

0143

0144

 

0145

0146

0147

0148

0149

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:49:38+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

0172

0173

0174

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

 

0189

0190

0191

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:49:38+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

 

0212

0213

0214

0215

0216

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:49:39+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

 

0246

0247

0248

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0249

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

 

0263

0264

0265

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:49:39+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>

 

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

 

0278

0279

0280

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

 

0295

0296

0297

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T08:49:39+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>

 

2.1.14 TC-91-10 - Create a Key, Re-key

Create a symmetric key with a specific name, and then use Locate to find the key. After using Re-key to create a new key, verify that the name was removed from the existing key and copied to the new key. Also verify that the key material for the old key is still retrievable. To clean up, both keys are deleted.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T09:07:06+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>

 

0055

0056

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="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

 

0090

0091

0092

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T09:07:06+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

 

0105

0106

0107

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

 

0122

0123

0124

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T09:07:07+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

 

0141

0142

0143

0144

0145

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

 

0160

0161

0162

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T09:07:07+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

 

0175

0176

0177

0178

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

 

0193

0194

0195

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T09:07:07+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

 

0208

0209

0210

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

 

0226

0227

0228

0229

0230

 

0231

0232

0233

0234

0235

0236

0237

0238

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T09:07:07+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="bc25617991c49d06536008d076017462"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

 

0251

0252

0253

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

 

0268

0269

0270

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T09:07:08+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>

 

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

 

0283

0284

0285

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

 

0300

0301

0302

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T09:07:08+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>

 

2.1.15 TC-92-10 - Existing Key Expired, Re-key with Same Life-cycle

Create a new symmetric key. Then add the Activation Date and Deactivation Date attributes based on the timestamp in the response to the Create request. The Activation Date is set to the current time and the Deactivation Date to a time in the near future. Repeated Get Attribute calls are performed to verify that the state is first 'Active', then subsequently 'Deactivated'. Then issue a Re-key request, including an Offset value of zero leading to the Activation Date of the replacement key to be set to the same value as the Initial Date of the replacement key. Verify from the response that the Activation Date and Deactivation Date attributes were set correctly (if they are not returned, issue a Get Attribute request). Do a Get Attribute operation to verify that the state of the new key is 'Active'. To clean up, both keys are deleted.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T13:01: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>

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

 

0069

0070

0071

 

0072

0073

0074

0075

0076

0077

0078

0079

 

0080

0081

0082

 

0083

0084

0085

0086

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="bac4a9cecc650259"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="2009-02-11T13:01:59+00:00"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="582c952324f4552f"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="2010-02-11T13:03:59+00:00"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0087

0088

0089

0090

0091

0092

0093

0094

0095

0096

0097

0098

0099

0100

0101

 

0102

0103

0104

 

0105

0106

0107

0108

0109

0110

0111

0112

0113

 

0114

0115

0116

 

0117

0118

0119

0120

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T13:01:59+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="bac4a9cecc650259"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="2009-02-11T13:01:59+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="582c952324f4552f"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="2010-02-11T13:03:59+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

 

0133

0134

0135

0136

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

 

0151

0152

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T13:01:59+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

0172

0173

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

 

0188

0189

0190

0191

0192

0193

0194

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T13:04:00+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Deactivated"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

 

0207

0208

0209

0210

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Offset type="Interval" value="0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

 

0225

0226

0227

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T13:04:00+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

 

0240

0241

0242

0243

0244

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Activation Date"/>

      <AttributeName type="TextString" value="Deactivation Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

0258

 

0259

0260

0261

 

0262

0263

0264

0265

 

0266

0267

0268

0269

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T13:04:00+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="2009-04-17T13:01:58+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="2010-04-17T13:03:58+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0270

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

 

0282

0283

0284

0285

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

 

0300

0301

0302

0303

0304

0305

0306

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T13:04:00+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

 

0319

0320

0321

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

0334

0335

 

0336

0337

0338

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T13:04:00+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>

 

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

 

0353

0354

 

0355

0356

0357

0358

0359

0360

0361

0362

 

0363

0364

0365

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="7012417aa1b7394b"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="3f8f4f1759704555"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

0379

0380

 

0381

0382

0383

0384

0385

0386

0387

0388

 

0389

0390

0391

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T13:04:00+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="7012417aa1b7394b"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="3f8f4f1759704555"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.16 TC-93-10 - Existing Key Compromised, Re-key with Same Life-cycle

Create a new symmetric key with the Activation Date in the past. Do a Get Attribute operation on the State attribute to verify the key is 'Active'. Then revoke the key as compromised, verify that the state has changed to 'Compromised'. Create a replacement key using Re-key with the offset set to '0' to indicate that the times are to be copied from the existing key. Do a Get Attribute operation to verify that the state of the new key is 'Active'. To clean up, both keys are deleted.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="Activation Date"/>

          <AttributeValue type="DateTime" value="2010-02-11T14:12:23+00:00"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T14:12:24+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>

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

0074

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0075

0076

0077

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T14:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="0"/>

    </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="KeyCompromise"/>

      </RevocationReason>

      <CompromiseOccurrenceDate type="DateTime" value="2010-02-11T14:12:24+00:00"/>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T14:12:25+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

0147

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

0165

0166

0167

0168

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T14:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Compromised"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T14:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0201

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="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

 

0231

0232

0233

0234

0235

0236

0237

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T14:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

 

0250

0251

0252

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

 

0267

0268

0269

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T14:12:25+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>

 

0270

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

 

0284

0285

 

0286

0287

0288

0289

0290

0291

0292

0293

 

0294

0295

0296

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="7131695cf636735e"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="1845bcbbf09b5a66"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

0314

0315

0316

0317

0318

0319

 

0320

0321

0322

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T14:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="7131695cf636735e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="1845bcbbf09b5a66"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.17 TC-94-10 - Create Key, Re-key with New Life-cycle

Create a symmetric key with a specific name, then use Locate to find the key. After using Re-key to create a new key, verify that the name was removed from the existing key and copied to the new key. To clean up, both keys are deleted.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:38:29+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>

 

0055

0056

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="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

 

0090

0091

0092

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:38:30+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

 

0105

0106

0107

0108

 

0109

0110

0111

 

0112

 

0113

0114

0115

 

0116

 

0117

0118

0119

 

0120

 

0121

0122

0123

0124

0125

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="2006-01-01T11:00:00+00:00"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Process Start Date"/>

          <AttributeValue type="DateTime" value="2006-01-01T11:00:00+00:00"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Protect Stop Date"/>

          <AttributeValue type="DateTime" value="2020-01-01T11:00:00+00:00"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Deactivation Date"/>

          <AttributeValue type="DateTime" value="2020-01-01T11:00:00+00:00"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

 

0140

0141

0142

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:38:31+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

 

0155

0156

0157

0158

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

 

0173

0174

0175

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:38:31+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

 

0188

0189

0190

0191

0192

0193

0194

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Activation Date"/>

      <AttributeName type="TextString" value="Process Start Date"/>

      <AttributeName type="TextString" value="Protect Stop Date"/>

      <AttributeName type="TextString" value="Deactivation Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

 

0209

0210

0211

 

0212

0213

0214

 

0215

 

0216

0217

0218

0219

 

0220

0221

0222

0223

 

0224

0225

0226

0227

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:38:31+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="2006-01-01T11:00:00+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Process Start Date"/>

        <AttributeValue type="DateTime" value="2006-01-01T11:00:00+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Protect Stop Date"/>

        <AttributeValue type="DateTime" value="2020-01-01T11:00:00+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="2020-01-01T11:00:00+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

 

0244

0245

0246

0247

0248

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0249

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

 

0263

0264

0265

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:38:31+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

 

0278

0279

0280

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

 

0295

0296

0297

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:38:32+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>

 

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

 

0314

0315

0316

0317

0318

0319

0320

0321

 

0322

0323

0324

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="3dc816bb39869d07"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="32b517312fd5b558"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0325

0326

0327

0328

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

 

0340

0341

0342

0343

0344

0345

0346

0347

 

0348

0349

0350

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:38:32+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="3dc816bb39869d07"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="32b517312fd5b558"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.18 TC-95-10 - Obtain Lease for Expired Key

Create a symmetric key with a specific name and obtain a lease. Revoke the key with state 'Compromised' and re-key the key. Try to obtain a lease on the old key which fails due to a server policy which does not allow giving out leases for compromised keys. Locate the new key with the original name. Get the new key and obtain a lease.

 

 

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

# TIME 0

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="2010-02-11T15:45:48+00:00"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:49+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>

 

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

# TIME 1

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:49+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="f43c7798aacb22b1411a8773c199708b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

 

0114

0115

0116

# TIME 2

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:50+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <LeaseTime type="Interval" value="16"/>

      <LastChangeDate type="DateTime" value="2010-02-11T15:45:49+00:00"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

 

0150

0151

 

0152

0153

0154

# TIME 3

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="KeyCompromise"/>

      </RevocationReason>

      <CompromiseOccurrenceDate type="DateTime" value="2010-02-11T15:45:50+00:00"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

 

0169

0170

0171

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:50+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>

 

 

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

 

0184

0185

0186

# TIME 4

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

 

0201

0202

0203

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:51+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

 

0216

0217

0218

# TIME 5

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

 

0233

0234

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:51+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="CO is in state Compromised, no lease given"/>

  </BatchItem>

</ResponseMessage>

 

 

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

 

0251

0252

0253

0254

0255

# TIME 6

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

 

0270

0271

0272

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:51+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

 

0285

0286

0287

# TIME 7

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

 

0303

0304

0305

0306

0307

 

0308

0309

0310

0311

0312

0313

0314

0315

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:51+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="173e9499f7c573712afb9883b5df2bce"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

 

0328

0329

0330

# TIME 8

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

0344

 

0345

0346

 

0347

0348

0349

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:51+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <LeaseTime type="Interval" value="0"/>

      <LastChangeDate type="DateTime" value="2010-02-11T15:45:51+00:00"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0350

0351

0352

0353

0354

0355

0356

0357

0358

0359

0360

0361

 

0362

0363

0364

# TIME 9

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

 

0379

0380

0381

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:51+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>

 

 

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

 

0396

0397

 

0398

0399

0400

0401

0402

0403

0404

0405

 

0406

0407

0408

# TIME 10

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="3748b9e243205ba7"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="04eaf416d0beb50d"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0409

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

0421

0422

0423

 

0424

0425

0426

0427

0428

0429

0430

0431

 

0432

0433

0434

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-11T15:45:51+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="3748b9e243205ba7"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="04eaf416d0beb50d"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.19 TC-101-10 - Create a Key, Archive and Recover it

Create a symmetric key with a specified name, then use Locate to find the key and get the key. Archive the key (asynchronous operation, use Poll until it completes) and use Get and Locate on it, but both fail. Add the Storage Status Mask to the Locate-command, indicating to the server to search in both online and archived storage. The Locate finds the key. Recover the key from the archive (also asynchronous), both Locate and Get succeed.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="archiveKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:11+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>

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

 

0075

0076

0077

0078

0079

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="archiveKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:14+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

0136

0137

0138

0139

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:15+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="c3200b1291ba648db9089ded3073de74"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

 

0153

0154

0155

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Archive"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:15+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Archive"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </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="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Poll"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Archive"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

 

0215

0216

0217

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:20+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ObjectArchived"/>

    <ResultMessage type="TextString" value="Object is archived"/>

  </BatchItem>

</ResponseMessage>

 

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

 

0246

0247

0248

0249

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Archive Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

 

0264

0265

0266

 

0267

0268

0269

0270

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:20+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Archive Date"/>

        <AttributeValue type="DateTime" value="2010-02-12T09:30:18+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

 

0291

0292

0293

0294

0295

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="archiveKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:20+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0312

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

 

0324

0325

0326

0327

0328

0329

0330

0331

0332

 

0333

0334

0335

0336

0337

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <StorageStatusMask type="Integer" value="ArchivalStorage OnLineStorage"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="archiveKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

 

0352

0353

0354

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:20+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

 

0368

0369

0370

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Recover"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0371

0372

0373

0374

0375

0376

0377

0378

0379

0380

0381

0382

0383

 

0384

0385

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:20+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Recover"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

0396

0397

 

0398

0399

0400

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Poll"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0401

0402

0403

0404

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

 

0415

0416

0417

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Recover"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0418

0419

0420

0421

0422

0423

0424

0425

0426

0427

0428

0429

 

0430

0431

0432

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0433

0434

0435

0436

0437

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

 

0448

0449

0450

0451

0452

 

0453

0454

0455

0456

0457

0458

0459

0460

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="c3200b1291ba648db9089ded3073de74"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0461

0462

0463

0464

0465

0466

0467

0468

0469

0470

0471

0472

 

0473

0474

0475

# TIME 12

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0476

0477

0478

0479

0480

0481

0482

0483

0484

0485

0486

0487

0488

0489

 

0490

0491

0492

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-12T09:30:28+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>

 

2.1.20 TC-111-10 - Credential, Operation Policy, Destroy Date

Pass a Credential object of type Username and Password in the message header in all requests for identification purposes (how the Credential object is used is defined in [KMIP-Spec]). Create a symmetric key and set the Operation Policy Name attribute to 'default'. Using another Username and Password Credential, attempt to perform a Get operation batched with a Get Attribute List on the created symmetric key - according to the Default Operation Policy, both these request SHALL fail, and with the Batch Error Continuation Option set to 'Continue', the client SHALL also receive both response payloads. Using the initially used Credential, destroy the object and get the Destroy Date attribute. The message exchanges in this test case are based on a certain server policy (e.g. handling of Credentials) that in some aspects differs from the policy assumed in earlier test cases (e.g. in this test case, the Destroy Date is retained). The message exchanges shown in this test case assume that both Credentials used in this example are for valid users of the server.

 

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

 

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <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="PolicyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Operation Policy Name"/>

          <AttributeValue type="TextString" value="default"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration" value="CBC"/>

            <PaddingMethod type="Enumeration" value="PKCS5"/>

            <HashingAlgorithm type="Enumeration" value="SHA_1"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

 

0073

0074

0075

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-16T13:44:43+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>

 

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="4cbb6751574c4da8"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Operation Policy Name"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="0ea05ee703da997b"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

 

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

 

0137

0138

0139

0140

0141

 

0142

0143

0144

0145

0146

0147

0148

0149

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-16T13:44:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="4cbb6751574c4da8"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Operation Policy Name"/>

        <AttributeValue type="TextString" value="default"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="0ea05ee703da997b"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="c520fca4e681f7bffb3523d71427d594"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0150

0151

0152

0153

0154

0155

0156

0157

0158

 

0159

0160

0161

0162

0163

0164

0165

 

0166

0167

0168

0169

0170

0171

0172

0173

 

0174

0175

0176

0177

0178

0179

0180

 

0181

0182

0183

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Barney"/>

          <Password type="TextString" value="secret2"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchErrorContinuationOption type="Enumeration"                value="Continue"/>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="e3e72d5a352687d8"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <UniqueBatchItemID type="ByteString" value="a9a1d60b0c62ecaf"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-16T13:44:45+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="e3e72d5a352687d8"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Access denied"/>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <UniqueBatchItemID type="ByteString" value="a9a1d60b0c62ecaf"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Access denied"/>

  </BatchItem>

</ResponseMessage>

 

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

 

0229

0230

0231

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

 

0246

0247

0248

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-16T13:44:45+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>

 

0249

0250

0251

0252

0253

0254

0255

0256

0257

 

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

 

0270

0271

0272

0273

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Destroy Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

 

0288

0289

0290

 

0291

0292

0293

0294

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-03-16T13:44:46+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Destroy Date"/>

        <AttributeValue type="DateTime" value="2010-03-16T13:44:45+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.21 TC-121-10 - Query, Maximum Response Size

Perform a Query operation, querying the Operations and Objects supported by the server, with a restriction on the Maximum Response Size set in the request header. Since the resulting Query response is too big, an error is returned. Increase the Maximum Response Size, resubmit the Query request, and get a successful response.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

0016

0017

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <MaximumResponseSize type="Integer" value="256"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <RequestPayload>

      <QueryFunction type="Enumeration" value="QueryOperations"/>

      <QueryFunction type="Enumeration" value="QueryObjects"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

 

0032

0033

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-15T09:49:30+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ResponseTooLarge"/>

    <ResultMessage type="TextString" value="Response size: 568, Maximum Response Size indicated in request: 256"/>

  </BatchItem>

</ResponseMessage>

 

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <MaximumResponseSize type="Integer" value="2048"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <RequestPayload>

      <QueryFunction type="Enumeration" value="QueryOperations"/>

      <QueryFunction type="Enumeration" value="QueryObjects"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2010-02-15T09:49:30+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <Operation type="Enumeration" value="Create"/>

      <Operation type="Enumeration" value="CreateKeyPair"/>

      <Operation type="Enumeration" value="Register"/>

      <Operation type="Enumeration" value="ReKey"/>

      <Operation type="Enumeration" value="Locate"/>

      <Operation type="Enumeration" value="Check"/>

      <Operation type="Enumeration" value="Get"/>

      <Operation type="Enumeration" value="GetAttributes"/>

      <Operation type="Enumeration" value="GetAttributeList"/>

      <Operation type="Enumeration" value="AddAttribute"/>

      <Operation type="Enumeration" value="ModifyAttribute"/>

      <Operation type="Enumeration" value="DeleteAttribute"/>

      <Operation type="Enumeration" value="ObtainLease"/>

      <Operation type="Enumeration" value="GetUsageAllocation"/>

      <Operation type="Enumeration" value="Activate"/>

      <Operation type="Enumeration" value="Revoke"/>

      <Operation type="Enumeration" value="Destroy"/>

      <Operation type="Enumeration" value="Archive"/>

      <Operation type="Enumeration" value="Recover"/>

      <Operation type="Enumeration" value="Query"/>

      <Operation type="Enumeration" value="Cancel"/>

      <Operation type="Enumeration" value="Poll"/>

      <ObjectType type="Enumeration" value="Certificate"/>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <ObjectType type="Enumeration" value="Template"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.22 TC-131-10 - Register an Asymmetric Key Pair in PKCS1 Format

Register a private key in the PKCS_1 key format, then register the corresponding public key, also in PKCS_1 format, with the Link attribute pointing to the previously registered private key. Thereafter add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in PKCS_1 key format, then destroy both the private and the public 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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="TC-131-10-prikey1"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-131-10-pubkey1"/>

        </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>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

0257

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

0272

 

0273

0274

0275

0276

0277

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0278

0279

0280

0281

0282

0283

0284

0285

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

 

0298

0299

0300

0301

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

 

0317

0318

0319

0320

0321

 

 

 

 

 

 

 

 

 

0322

0323

0324

0325

0326

0327

0328

0329

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

 

0342

0343

0344

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

0357

0358

 

0359

0360

0361

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

 

0374

0375

0376

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

 

0391

0392

0393

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

2.1.23 TC-132-10 - Register an Asymmetric Key Pair and a Corresponding X509 Certificate

Register a public/private key pair in the PKCS_1 key format and a corresponding X509 certificate. Add the appropriate links between the registered objects.  Make sure the certificate was registered and the attributes set correctly by listing and retrieving the attributes. Get the keys and certificate, and finally destroy all the registered objects.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="TC-132-10-pubkey1"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-132-10-prikey1"/>

        </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>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

0132

0133

 

0134

0135

0136

0137

0138

 

0139

0140

0141

0142

0143

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0144

0145

0146

0147

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-132-10-cert1"/>

        </Attribute>

      </TemplateAttribute>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="30820312308201faa003020102020101300d06092a864886f70d0101050500303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950301e170d3130313130313233353935395a170d3230313130313233353935395a303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d495030820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a321301f301d0603551d0e0416041404e57bd2c431b2e816e180a19823fac858273f6b300d06092a864886f70d01010505000382010100a876adbc6c8e0ff017216e195fea76bff61a567c9a13dc50d13fec12a4273c441547cfabcb5d61d991e966319df72c0d41ba826a45112ff26089a2344f4d71cf7c921b4bdfaef1600d1baaa15336057e014b8b496d4fae9e8a6c1da9aeb6cbc960cbf2fae77f587ec4bb282045338845b88dd9aeea53e482a36e734e4f5f03b9d0dfc4cafc6bb34ea9053e52bd609ee01e86d9b09fb51120c19834a997b09ce08d79e81311762f974bb1c8c09186c4d78933e0db38e905084877e147c78af52fae07192ff166d19fa94a11cc11b27ed050f7a27fae13b205a574c4ee00aa8bd65d0d7057c985c839ef336a441ed53a53c6b6b696f1bdeb5f7ea811ebb25a7f86"/>

      </Certificate>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

 

0183

0184

0185

0186

0187

0188

0189

0190

0191

 

0192

0193

0194

0195

0196

 

0197

0198

0199

0200

0201

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="31f81bfb0f0492bd"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="ba865701c7837be2"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

 

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

 

0232

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="31f81bfb0f0492bd"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="ba865701c7837be2"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

 

0255

0256

0257

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

 

0273

0274

0275

0276

 

0277

0278

0279

0280

0281

0282

0283

 

0284

0285

0286

0287

0288

0289

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="x-ID"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

 

0302

 

0303

0304

0305

0306

 

0307

0308

0309

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

 

0324

0325

 

0326

0327

 

0328

0329

0330

0331

0332

 

0333

0334

 

0335

0336

0337

0338

 

0339

0340

 

0341

0342

0343

0344

0345

0346

0347

0348

 

0349

0350

0351

0352

0353

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Identifier"/>

        <AttributeValue>

          <Issuer type="TextString"                                 value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

          <SerialNumber type="TextString" value="1"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Issuer"/>

        <AttributeValue>

          <CertificateIssuerDistinguishedName type="TextString"     value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Subject"/>

        <AttributeValue>

          <CertificateSubjectDistinguishedName type="TextString"    value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Type"/>

        <AttributeValue type="Enumeration" value="X_509"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Cryptographic Length"/>

        <AttributeValue type="Integer" value="2048"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0354

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

 

0366

0367

0368

0369

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0370

0371

0372

0373

0374

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

 

0385

0386

0387

0388

0389

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0390

0391

0392

0393

0394

0395

0396

0397

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

0409

 

0410

0411

0412

0413

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0414

0415

0416

0417

0418

0419

0420

0421

0422

0423

0424

0425

0426

0427

0428

 

0429

0430

0431

0432

0433

 

 

 

 

 

 

 

 

 

0434

0435

0436

0437

0438

0439

0440

0441

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0442

0443

0444

0445

0446

0447

0448

0449

0450

0451

0452

0453

 

0454

0455

0456

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

0468

0469

0470

0471

 

0472

0473

0474

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0475

0476

0477

0478

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="30820312308201faa003020102020101300d06092a864886f70d0101050500303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950301e170d3130313130313233353935395a170d3230313130313233353935395a303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d495030820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a321301f301d0603551d0e0416041404e57bd2c431b2e816e180a19823fac858273f6b300d06092a864886f70d01010505000382010100a876adbc6c8e0ff017216e195fea76bff61a567c9a13dc50d13fec12a4273c441547cfabcb5d61d991e966319df72c0d41ba826a45112ff26089a2344f4d71cf7c921b4bdfaef1600d1baaa15336057e014b8b496d4fae9e8a6c1da9aeb6cbc960cbf2fae77f587ec4bb282045338845b88dd9aeea53e482a36e734e4f5f03b9d0dfc4cafc6bb34ea9053e52bd609ee01e86d9b09fb51120c19834a997b09ce08d79e81311762f974bb1c8c09186c4d78933e0db38e905084877e147c78af52fae07192ff166d19fa94a11cc11b27ed050f7a27fae13b205a574c4ee00aa8bd65d0d7057c985c839ef336a441ed53a53c6b6b696f1bdeb5f7ea811ebb25a7f86"/>

      </Certificate>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0479

0480

0481

0482

0483

0484

0485

0486

0487

0488

0489

0490

 

0491

0492

0493

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0494

0495

0496

0497

0498

0499

0500

0501

0502

0503

0504

0505

0506

0507

 

0508

0509

0510

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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>

 

0511

0512

0513

0514

0515

0516

0517

0518

0519

0520

0521

0522

 

0523

0524

0525

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0526

0527

0528

0529

0530

0531

0532

0533

0534

0535

0536

0537

0538

0539

 

0540

0541

0542

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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>

 

0543

0544

0545

0546

0547

0548

0549

0550

0551

0552

0553

0554

 

0555

0556

0557

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0558

0559

0560

0561

0562

0563

0564

0565

0566

0567

0568

0569

0570

0571

 

0572

0573

0574

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.24 TC-134-10 - Register Key Pair, Certify and Re-certify Public Key

Register a public/private key pair on the server. Request the server to have a certificate created using the Certify operation. Retrieve the certificate and its attributes, then execute the Re-certify operation to re-certify the public key. Finally, destroy all the objects.

The new KMIP 1.1 certificate DN attributes are retrieved as are the original (deprecated) KMIP 1.0 certificate DN attributes.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="TC-134-10-pubkey1"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-134-10-prikey1"/>

        </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>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0172

0173

0174

 

0175

0176

0177

0178

0179

0180

 

0181

 

0182

0183

0184

0185

0186

0187

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Certify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CertificateRequestType type="Enumeration" value="PKCS_10"/>

      <CertificateRequest type="ByteString"                         value="3082028130820169020100303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e7430820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a000300d06092a864886f70d010105050003820101002d90f5492c3df1771df4e87e1087cb952197319a9696e2d588efda580d8d3304427b997cd921ad7c674aea413fba85fd61e6a481de9ab2e8a4ff43c02655015d3437f783fe0c781519cd08ffd3c007c7fade9632fe5659e2cac35bd6aaf3e13dc18097d996df01b66fc5e26ca109380863a209125cc0fd79533f327fa1cad444d89d3ff81b92a91428c469c846090fd1324846e12d01671962c332a7826152daaf486cc867185c2e27caf2f009898db07fe4b45c518192aa493d8f8c0198db67f90672ab6de05a08032941377f473d80716d85adc6182003ab34942302214eb3895f15403f2616adfd6bb5e6aa47fa38c9dfc73f4de80ddb91bdb04d21c82ba6"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-134-10-certificate1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Certify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0220

0221

0222

0223

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="30820277308201e0a0030201020209009bba23d1b6a48f97300d06092a864886f70d01010b0500303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950301e170d3133303631383038353535375a170d3134303631383038353535375a303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e7430820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001300d06092a864886f70d01010b050003818100c4fe08d5bd74239648c7faabaed0978527ac01a0fd17b8a65c0d92501c4eab3f487511062eafedc1024e74dc6bfdaae7f66d1fdda7574f6db3f03c6de83586b52c593a4671001a0531bc43eff4849880b07924b7a9a0236d5d64d82d4d8e42dcd3a72c80728804f9ba7f0e80c3fe3eb09cb3ed7fbfbb2167c99be513ff9db0b6"/>

      </Certificate>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

 

0271

 

0272

0273

0274

0275

 

0276

0277

0278

0279

0280

0281

0282

0283

 

0284

0285

0286

0287

0288

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Name"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Last Change Date"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

 

0301

 

0302

0303

0304

0305

 

0306

0307

0308

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

 

0323

0324

 

0325

0326

 

0327

0328

0329

0330

0331

 

0332

0333

 

0334

0335

0336

0337

 

0338

0339

 

0340

0341

0342

0343

0344

0345

0346

0347

 

0348

0349

0350

0351

0352

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Identifier"/>

        <AttributeValue>

          <Issuer type="TextString"                                 value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

          <SerialNumber type="TextString" value="9BBA23D1B6A48F97"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Issuer"/>

        <AttributeValue>

          <CertificateIssuerDistinguishedName type="TextString"     value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Subject"/>

        <AttributeValue>

          <CertificateSubjectDistinguishedName type="TextString"    value="CN=Client,OU=KMIP,O=ACME,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Type"/>

        <AttributeValue type="Enumeration" value="X_509"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Cryptographic Length"/>

        <AttributeValue type="Integer" value="2048"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0353

0354

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

 

0365

0366

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0367

0368

0369

 

0370

0371

0372

0373

0374

0375

 

0376

 

0377

0378

0379

0380

0381

0382

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReCertify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <CertificateRequestType type="Enumeration" value="PKCS_10"/>

      <CertificateRequest type="ByteString"                         value="3082028130820169020100303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e7430820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a000300d06092a864886f70d010105050003820101002d90f5492c3df1771df4e87e1087cb952197319a9696e2d588efda580d8d3304427b997cd921ad7c674aea413fba85fd61e6a481de9ab2e8a4ff43c02655015d3437f783fe0c781519cd08ffd3c007c7fade9632fe5659e2cac35bd6aaf3e13dc18097d996df01b66fc5e26ca109380863a209125cc0fd79533f327fa1cad444d89d3ff81b92a91428c469c846090fd1324846e12d01671962c332a7826152daaf486cc867185c2e27caf2f009898db07fe4b45c518192aa493d8f8c0198db67f90672ab6de05a08032941377f473d80716d85adc6182003ab34942302214eb3895f15403f2616adfd6bb5e6aa47fa38c9dfc73f4de80ddb91bdb04d21c82ba6"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-134-10-certificate2"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

0396

 

0397

0398

0399

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReCertify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0400

0401

0402

0403

0404

0405

0406

0407

0408

0409

0410

0411

 

0412

0413

0414

0415

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0416

0417

0418

0419

0420

0421

0422

0423

0424

0425

0426

0427

0428

0429

 

0430

0431

0432

0433

0434

 

0435

0436

0437

0438

0439

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

0450

0451

 

0452

0453

0454

0455

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

0468

0469

 

0470

0471

0472

0473

0474

 

0475

0476

0477

0478

0479

0480

0481

0482

 

0483

0484

0485

0486

0487

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_3"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0488

0489

0490

0491

0492

0493

0494

0495

0496

0497

0498

0499

 

0500

0501

0502

0503

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0504

0505

0506

0507

0508

0509

0510

0511

0512

0513

0514

0515

0516

0517

 

0518

0519

0520

0521

0522

 

0523

0524

0525

0526

0527

0528

0529

 

0530

 

0531

0532

0533

0534

0535

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration"                              value="ReplacementObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_3"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0536

0537

0538

0539

0540

0541

0542

0543

0544

0545

0546

0547

 

0548

0549

 

0550

0551

0552

0553

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0554

0555

0556

0557

0558

0559

0560

0561

0562

0563

0564

0565

0566

0567

 

0568

0569

0570

0571

0572

 

0573

0574

0575

0576

0577

0578

0579

0580

 

0581

0582

0583

0584

 

0585

0586

 

0587

0588

0589

0590

0591

0592

0593

 

0594

 

0595

0596

0597

0598

0599

0600

0601

 

0602

 

0603

0604

0605

0606

0607

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="ReplacedObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Identifier"/>

        <AttributeValue>

          <Issuer type="TextString"                                 value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

          <SerialNumber type="TextString" value="CF77F7A23282BC12"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-134-10-certificate1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-134-10-certificate2"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0608

0609

0610

0611

0612

0613

0614

0615

0616

0617

0618

0619

 

0620

0621

0622

# TIME 12

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0623

0624

0625

0626

0627

0628

0629

0630

0631

0632

0633

0634

0635

0636

 

0637

0638

0639

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0640

0641

0642

0643

0644

0645

0646

0647

0648

0649

0650

0651

 

0652

0653

0654

# TIME 13

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0655

0656

0657

0658

0659

0660

0661

0662

0663

0664

0665

0666

0667

0668

 

0669

0670

0671

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0672

0673

0674

0675

0676

0677

0678

0679

0680

0681

0682

0683

 

0684

0685

0686

# TIME 14

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0687

0688

0689

0690

0691

0692

0693

0694

0695

0696

0697

0698

0699

0700

 

0701

0702

0703

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0704

0705

0706

0707

0708

0709

0710

0711

0712

0713

0714

0715

 

0716

0717

0718

# TIME 15

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0719

0720

0721

0722

0723

0724

0725

0726

0727

0728

0729

0730

0731

0732

 

0733

0734

0735

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.25 TC-NP-1-10 - Put

In this test case the client issues a Create request, whereby the server creates a new symmetric key and returns the Unique Identifier. To clean up, the client then performs a Destroy operation to destroy the key.

The server sends Put messages to the client via a separate channel.

 

 

 

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

# TIME 0

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="x-ID"/>

          <AttributeValue type="TextString" value="TC-NP-1-10"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:13:47+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>

 

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

 

0064

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

0111

0112

 

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

# TIME 1

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PutFunction type="Enumeration" value="New"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="7546ef6cd37c49806824984477987d1e"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

      <Attribute>

        <AttributeName type="TextString" value="x-ID"/>

        <AttributeValue type="TextString" value="TC-NP-1-10"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <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="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="7549ecda2cd1569974c3748f223fbc947ce9cabce581497522e4b75e9d6ede81"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Initial Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:13:48+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:13:48+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Lease Time"/>

        <AttributeValue type="Interval" value="3600"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:13:48+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

 

0153

0154

0155

# TIME 2

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

0172

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:13:48+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>

 

2.1.26 TC-NP-2-10 - Notify & Put

This test case tests the import of key using the Register operation. To validate that the registered key is treated the same as a locally created key, an attribute is added to the key and then modified. Finally, the key is destroyed.

The server sends Notify and Put messages to the client via a separate channel.

 

 

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

# TIME 0

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-NP-2-10"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="1122456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+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>

 

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

 

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

0111

0112

0113

 

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

# TIME 1

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PutFunction type="Enumeration" value="New"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="1122456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

      <Attribute>

        <AttributeName type="TextString" value="x-ID"/>

        <AttributeValue type="TextString" value="TC-NP-2-10"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <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="Encrypt"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="47c01d3851ce2f254d18928526b6126de30cef9a34a4cfbd4648ec3ed21a9e86"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Initial Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Lease Time"/>

        <AttributeValue type="Interval" value="3600"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

 

0154

0155

0156

0157

0158

0159

0160

# TIME 2

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

 

0175

0176

0177

0178

0179

0180

0181

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

 

0194

0195

0196

0197

0198

0199

0200

 

0201

0202

0203

0204

# TIME 3

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

 

0233

0234

0235

0236

0237

0238

0239

# TIME 4

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

0257

0258

0259

0260

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

0272

 

0273

0274

0275

0276

0277

0278

0279

 

0280

0281

0282

0283

# TIME 5

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0284

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

0314

# TIME 6

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

0328

 

0329

0330

0331

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+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>

 

 

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

 

0344

0345

0346

 

0347

0348

0349

0350

0351

0352

0353

0354

# TIME 7

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Destroyed"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.1.27 TC-ECC-1-10 - Register an ECC Key Pair

EC recommended curve is P-256 (secp256r1)

- Private Key format ECPrivateKey - http://tools.ietf.org/html/rfc5915

- Public Key format SubjectPublicKeyInfo - http://tools.ietf.org/html/rfc5480

Register a EC private key in the ECPrivateKey key format, then register the corresponding public key, in X.509 (SubjectPublicKeyInfo) format, with the Link attribute pointing to the previously registered private key. Then add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in default format, then destroy both the private and the public key.

 

 -----BEGIN EC PRIVATE KEY-----

 MHcCAQEEIJEqDiCPXdc0sYUYR+RlnEWIsW2fO8GtpRDqLJadr570oAoGCCqGSM49

 AwEHoUQDQgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc7vPx+ibYVGpkQvPBOX6Smq2N

 yrJbKCyooc8AvvfLGKD16kRJOjCm0iOyWw==

 -----END EC PRIVATE KEY-----

 

 -----BEGIN PUBLIC KEY-----

 MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc

 7vPx+ibYVGpkQvPBOX6Smq2NyrJbKCyooc8AvvfLGKD16kRJOjCm0iOyWw==

 -----END PUBLIC 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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="TC-ECC-1-10-prikey1"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30770201010420912a0e208f5dd734b1851847e4659c4588b16d9f3bc1ada510ea2c969daf9ef4a00a06082a8648ce3d030107a14403420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-1-10-pubkey1"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

0273

0274

0275

0276

 

 

 

 

0277

0278

0279

0280

0281

0282

0283

0284

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30770201010420912a0e208f5dd734b1851847e4659c4588b16d9f3bc1ada510ea2c969daf9ef4a00a06082a8648ce3d030107a14403420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

 

0297

0298

0299

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

 

0315

0316

0317

0318

0319

 

 

 

0320

0321

0322

0323

0324

0325

0326

0327

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

       <PublicKey>

      <KeyBlock>

        <KeyFormatType type="Enumeration" value="X_509"/>

        <KeyValue>

          <KeyMaterial type="ByteString"                                 value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

        </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

        <CryptographicLength type="Integer" value="256"/>

      </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0328

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

 

0340

0341

0342

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

 

0357

0358

0359

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

 

0372

0373

0374

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

 

0389

0390

0391

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

2.1.28 TC-ECC-2-10 - Register an ECC Key Pair in PKCS8 Format

EC recommended curve is P-256 (secp256r1)

- Public Key format SubjectPublicKeyInfo - http://tools.ietf.org/html/rfc5480

Register a EC private key in PKCS8 key format (with passphrase 'secret' using pbeWithSHAAnd3-KeyTripleDES-CBC), then register the corresponding public key, in X.509 (SubjectPublicKeyInfo) format, with the Link attribute pointing to the previously registered private key. Then add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in default format, then destroy both the private and the public key.

 

 -----BEGIN ENCRYPTED PRIVATE KEY-----

 MIGxMBwGCiqGSIb3DQEMAQMwDgQIqCAF0cAFXb4CAggABIGQkUySNQqsjKPKtl9y

 g/n+qhaBSsolURUH4PBYVpWVUNzqKQhz0MD8/gfBSz1DOU9s7mC97LVgWaEqJTad

 sOgPsJL3Z4IUuNTWNOMLZtY3jDz4z4grmyYM2c/aJj9eYVu0Ufp6n1lCsdU6HFpn

 urzWFAsRK+Yt+zpokG+raOooO8kIz59Fm30ziZPZF4G74GMM

 -----END ENCRYPTED PRIVATE KEY-----

 

 -----BEGIN PUBLIC KEY-----

 MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc

 7vPx+ibYVGpkQvPBOX6Smq2NyrJbKCyooc8AvvfLGKD16kRJOjCm0iOyWw==

 -----END PUBLIC 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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="TC-ECC-2-10-prikey1"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_8"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3081b1301c060a2a864886f70d010c0103300e04082f2656a33657313902020800048190eadf76e9cee21053b01c53e175b0e8c4d627c17da1b2df47d8cfb35a0d7252a9a6488660d61235be735178d0ca8548871567c22803d8f6f6009f05c26429c83ab72d0f2e7e7870befc3ec746f52d0eccafe34b72a791e9535b34f584b96dc124034e8a82df0b5c3e70018f2d4745d66ae6da9398234ebda2ca4d02992613cb377b9651282c4f3fd0c5a3c5bc33cc3ae0"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-2-10-pubkey1"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

0273

0274

0275

0276

 

 

 

 

 

 

0277

0278

0279

0280

0281

0282

0283

0284

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_8"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3081b1301c060a2a864886f70d010c0103300e04082f2656a33657313902020800048190eadf76e9cee21053b01c53e175b0e8c4d627c17da1b2df47d8cfb35a0d7252a9a6488660d61235be735178d0ca8548871567c22803d8f6f6009f05c26429c83ab72d0f2e7e7870befc3ec746f52d0eccafe34b72a791e9535b34f584b96dc124034e8a82df0b5c3e70018f2d4745d66ae6da9398234ebda2ca4d02992613cb377b9651282c4f3fd0c5a3c5bc33cc3ae0"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

 

0297

0298

0299

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

 

0315

0316

0317

0318

0319

 

 

 

0320

0321

0322

0323

0324

0325

0326

0327

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

       <PublicKey>

      <KeyBlock>

        <KeyFormatType type="Enumeration" value="X_509"/>

        <KeyValue>

          <KeyMaterial type="ByteString"                                 value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

        </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

        <CryptographicLength type="Integer" value="256"/>

      </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0328

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

 

0340

0341

0342

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

 

0357

0358

0359

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

 

0372

0373

0374

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

 

0389

0390

0391

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

2.1.29 TC-ECC-3-10 - Register an ECC Key Pair and ECDSA Certificate

EC recommended curve is P-256 (secp256r1)

- Private Key format ECPrivateKey - http://tools.ietf.org/html/rfc5915

- Public Key format SubjectPublicKeyInfo - http://tools.ietf.org/html/rfc5480

Register a EC private key in the ECPrivateKey key format, then register the corresponding public key, in X.509 (SubjectPublicKeyInfo) format, and a corresponding ECDSA certificate, with the Link attribute pointing to the previously registered private key. Return the attribute values for the ECDSA certificate showing the correct server parsing of the certificate. Then add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in default format, then destroy both the private and the public key.

 

 -----BEGIN EC PRIVATE KEY-----

 MHcCAQEEIJEqDiCPXdc0sYUYR+RlnEWIsW2fO8GtpRDqLJadr570oAoGCCqGSM49

 AwEHoUQDQgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc7vPx+ibYVGpkQvPBOX6Smq2N

 yrJbKCyooc8AvvfLGKD16kRJOjCm0iOyWw==

 -----END EC PRIVATE KEY-----

 

 -----BEGIN PUBLIC KEY-----

 MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc

 7vPx+ibYVGpkQvPBOX6Smq2NyrJbKCyooc8AvvfLGKD16kRJOjCm0iOyWw==

 -----END PUBLIC KEY-----

 

 -----BEGIN CERTIFICATE-----

 MIIB1zCCAX2gAwIBAgIJANraFqWNKSTZMAoGCCqGSM49BAMCMEgxCzAJBgNVBAYT

 AlVTMQ0wCwYDVQQKDARURVNUMQ4wDAYDVQQLDAVPQVNJUzEaMBgGA1UEAwwRS01J

 UC1FQy1zZWNwMjU2cjEwHhcNMTMwNjI2MDM1NDQzWhcNMjMwNjI0MDM1NDQzWjBI

 MQswCQYDVQQGEwJVUzENMAsGA1UECgwEVEVTVDEOMAwGA1UECwwFT0FTSVMxGjAY

 BgNVBAMMEUtNSVAtRUMtc2VjcDI1NnIxMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD

 QgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc7vPx+ibYVGpkQvPBOX6Smq2NyrJbKCyo

 oc8AvvfLGKD16kRJOjCm0iOyW6NQME4wHQYDVR0OBBYEFMdL251FazsUho/ZyIZ9

 4Pzf79STMB8GA1UdIwQYMBaAFMdL251FazsUho/ZyIZ94Pzf79STMAwGA1UdEwQF

 MAMBAf8wCgYIKoZIzj0EAwIDSAAwRQIgI19fyzdd1gavOhIaeHbOnBoV0ldEmg6q

 YA+OEmaQS98CIQCpuF4UPYklouuwi8hDTVavL3MAX/9Cm82CRf1fshp7RQ==

 -----END CERTIFICATE-----

 

 

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="TC-ECC-3-10-prikey1"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30770201010420912a0e208f5dd734b1851847e4659c4588b16d9f3bc1ada510ea2c969daf9ef4a00a06082a8648ce3d030107a14403420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-3-10-pubkey1"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

0132

0133

 

0134

0135

0136

0137

0138

 

0139

0140

0141

0142

0143

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0144

0145

0146

0147

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-3-10-cert1"/>

        </Attribute>

      </TemplateAttribute>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="308201d73082017da003020102020900dada16a58d2924d9300a06082a8648ce3d0403023048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d736563703235367231301e170d3133303632363033353434335a170d3233303632343033353434335a3048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d7365637032353672313059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25ba350304e301d0603551d0e04160414c74bdb9d456b3b14868fd9c8867de0fcdfefd493301f0603551d23041830168014c74bdb9d456b3b14868fd9c8867de0fcdfefd493300c0603551d13040530030101ff300a06082a8648ce3d04030203480030450220235f5fcb375dd606af3a121a7876ce9c1a15d257449a0eaa600f8e1266904bdf022100a9b85e143d8925a2ebb08bc8434d56af2f73005fff429bcd8245fd5fb21a7b45"/>

      </Certificate>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

 

0183

0184

0185

0186

0187

0188

0189

0190

0191

 

0192

0193

0194

0195

0196

 

0197

0198

0199

0200

0201

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="01"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="02"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

 

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

 

0232

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="01"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="02"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

 

0255

0256

0257

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

0273

0274

0275

0276

 

0277

0278

0279

 

0280

0281

0282

0283

0284

0285

0286

0287

0288

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="x-ID"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="State"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

 

0301

0302

 

0303

0304

0305

0306

0307

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

0320

0321

 

0322

0323

0324

0325

0326

0327

 

0328

0329

 

0330

0331

0332

0333

0334

 

0335

0336

 

0337

0338

0339

0340

 

0341

0342

 

0343

0344

0345

0346

0347

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Type"/>

        <AttributeValue type="Enumeration" value="X_509"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Identifier"/>

        <AttributeValue>

          <Issuer type="TextString" value="CN=KMIP-EC-secp256r1,OU=OASIS,O=TEST,C=US"/>

          <SerialNumber type="TextString" value="DADA16A58D2924D9"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Issuer"/>

        <AttributeValue>

          <CertificateIssuerDistinguishedName type="TextString" value="CN=KMIP-EC-secp256r1,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Subject"/>

        <AttributeValue>

          <CertificateSubjectDistinguishedName type="TextString" value="CN=KMIP-EC-secp256r1,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0348

0349

0350

0351

0352

0353

0354

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

 

0368

0369

0370

0371

0372

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0373

0374

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

 

0387

0388

0389

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0390

0391

0392

0393

0394

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

0409

 

0410

0411

0412

0413

0414

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0415

0416

0417

0418

0419

0420

0421

0422

0423

0424

0425

0426

0427

0428

 

0429

0430

0431

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0432

0433

0434

0435

0436

0437

0438

0439

0440

0441

0442

0443

 

0444

0445

0446

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0447

0448

0449

0450

0451

0452

0453

0454

0455

0456

0457

0458

0459

0460

0461

 

0462

0463

0464

0465

0466

 

 

 

 

 

 

0467

0468

0469

0470

0471

0472

0473

0474

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3081b1301c060a2a864886f70d010c0103300e04082f2656a33657313902020800048190eadf76e9cee21053b01c53e175b0e8c4d627c17da1b2df47d8cfb35a0d7252a9a6488660d61235be735178d0ca8548871567c22803d8f6f6009f05c26429c83ab72d0f2e7e7870befc3ec746f52d0eccafe34b72a791e9535b34f584b96dc124034e8a82df0b5c3e70018f2d4745d66ae6da9398234ebda2ca4d02992613cb377b9651282c4f3fd0c5a3c5bc33cc3ae0"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0475

0476

0477

0478

0479

0480

0481

0482

0483

0484

0485

0486

 

0487

0488

0489

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0490

0491

0492

0493

0494

0495

0496

0497

0498

0499

0500

0501

0502

0503

0504

 

0505

0506

0507

0508

0509

 

 

 

0510

0511

0512

0513

0514

0515

0516

0517

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

       <PublicKey>

      <KeyBlock>

        <KeyFormatType type="Enumeration" value="X_509"/>

        <KeyValue>

          <KeyMaterial type="ByteString"                                 value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

        </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

        <CryptographicLength type="Integer" value="256"/>

      </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0518

0519

0520

0521

0522

0523

0524

0525

0526

0527

0528

0529

 

0530

0531

0532

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0533

0534

0535

0536

0537

0538

0539

0540

0541

0542

0543

0544

0545

0546

 

0547

0548

0549

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0550

0551

0552

0553

0554

0555

0556

0557

0558

0559

0560

0561

 

0562

0563

0564

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0565

0566

0567

0568

0569

0570

0571

0572

0573

0574

0575

0576

0577

0578

 

0579

0580

0581

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0582

0583

0584

0585

0586

0587

0588

0589

0590

0591

0592

0593

 

0594

0595

0596

# TIME 12

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0597

0598

0599

0600

0601

0602

0603

0604

0605

0606

0607

0608

0609

0610

 

0611

0612

0613

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

 

2.2 KMIP 1.1 Test Cases

2.2.1 TC-311-11 - Create / Destroy

In this test case the client issues a Create request, whereby the server creates a new symmetric key and returns the Unique Identifier. To clean up, the client then performs a Destroy operation to destroy 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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="x-ID"/>

          <AttributeValue type="TextString" value="TC-311-11"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:21+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>

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

 

0064

0065

0066

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

 

0081

0082

0083

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:21+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>

 

2.2.2 TC-312-11 - Register / Create / Get attributes / Destroy

Here the client first registers a template object and then creates a symmetric key using the registered template. To verify that the attributes of the key were set correctly from the template, the client then issues a Get Attributes command, after which it destroys first the key and then the template.

 

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

0048

0049

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="Template"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-312-11"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-312-11-template1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <Template>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString" value="Group1"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Application Specific Information"/>

          <AttributeValue>

            <ApplicationNamespace type="TextString" value="ssl"/>

            <ApplicationData type="TextString"                      value="www.example.com"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Contact Information"/>

          <AttributeValue type="TextString" value="Joe"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-Purpose"/>

          <AttributeValue type="TextString" value="demonstration"/>

        </Attribute>

      </Template>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

 

0064

0065

0066

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:21+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>

 

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Name>

          <NameValue type="TextString" value="TC-312-11-template1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </Name>

        <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="TC-312-11-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

 

0122

0123

0124

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:22+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_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0125

0126

0127

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Object Group"/>

      <AttributeName type="TextString" value="Application Specific Information"/>

      <AttributeName type="TextString" value="Contact Information"/>

      <AttributeName type="TextString" value="x-Purpose"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

 

0158

0159

0160

0161

0162

0163

 

0164

0165

0166

 

0167

0168

0169

0170

 

0171

0172

0173

0174

0175

0176

0177

0178

0179

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:22+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="Group1"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Application Specific Information"/>

        <AttributeValue>

          <ApplicationNamespace type="TextString" value="ssl"/>

          <ApplicationData type="TextString"                        value="www.example.com"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Contact Information"/>

        <AttributeValue type="TextString" value="Joe"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="x-Purpose"/>

        <AttributeValue type="TextString" value="demonstration"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0180

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

 

0192

0193

0194

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

 

0209

0210

0211

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:22+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>

 

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

 

0224

0225

0226

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

 

0241

0242

0243

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:22+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>

 

2.2.3 TC-313-11 - Create / Locate / Get / Destroy

This test case tests the Locate and Get operations, in addition to the previously used operations Create and Destroy. A symmetric key is first created, and then a lookup is performed on the Name attribute using the Locate operation. Subsequently, a Get request is issued to retrieve the located key, after which the key on the server is destroyed.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-313-11-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="DES3"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="168"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:22+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>

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

 

0075

0076

0077

0078

0079

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-313-11-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:22+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

0136

0137

0138

0139

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="7367578051012a6d134a855e25c8cd5e4ca131455729d3c8"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="DES3"/>

          <CryptographicLength type="Integer" value="168"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

 

0152

0153

0154

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

 

0169

0170

0171

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+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>

 

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

 

0186

0187

0188

0189

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.4 TC-314-11 - Dual Client Test Case, ID Placeholder-linked Locate & Get Batch

This test case has two clients performing operations on the same key. The first client initially registers a template and creates a symmetric key using that template. The second client then does a batched Locate and Get using the ID Placeholder to retrieve the key. The second client thereafter performs a number of operations on the key (Get Attribute List, Get Attribute, Add Attribute, Modify Attribute and Delete Attribute), before the first client finally destroys the key and the template. The first client also tries to Get the key and the template after they have been destroyed, but the Get operation fails in both cases.  This test case demonstrates the fact that it is possible for two clients to cooperate and use the same managed object while only having knowledge of a single pre-agreed Name attribute value and without having to share any other information.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="Template"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-314-11-template1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <Template>

        <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>

      </Template>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+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>

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

 

0068

0069

0070

0071

0072

0073

 

0074

0075

0076

0077

 

0078

0079

0080

0081

 

0082

0083

0084

0085

0086

0087

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Name>

          <NameValue type="TextString" value="TC-314-11-template1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </Name>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-314-11-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Contact Information"/>

          <AttributeValue type="TextString" value="Foo"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0088

0089

0090

0091

0092

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

 

0103

0104

0105

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+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_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

 

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="aa21f8c659d6e10d"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-314-11-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="495a95f165854d1e"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

 

0154

0155

0156

0157

0158

0159

0160

0161

0162

 

0163

0164

0165

0166

0167

 

0168

0169

0170

0171

0172

0173

0174

0175

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="aa21f8c659d6e10d"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="495a95f165854d1e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="d351910f1d7934d6e2ae17576564e2bc"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

 

0188

0189

0190

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

 

0205

 

0206

 

0207

0208

0209

0210

0211

0212

0213

 

0214

0215

0216

0217

0218

0219

0220

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Cryptographic Algorithm"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Name"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Contact Information"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="Fresh"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

 

0233

0234

0235

0236

0237

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Name"/>

      <AttributeName type="TextString" value="Contact Information"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

 

0252

0253

0254

0255

0256

 

0257

0258

0259

0260

 

0261

0262

0263

0264

0265

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-314-11-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Contact Information"/>

        <AttributeValue type="TextString" value="Foo"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

0278

 

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

 

0290

0291

0292

0293

0294

0295

0296

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="32d84369c120488e"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="519cf4f0ec1ac13f"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

 

0324

0325

0326

0327

0328

0329

0330

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="32d84369c120488e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="519cf4f0ec1ac13f"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

 

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

 

0355

0356

0357

0358

0359

0360

0361

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="fce08e45995686b6"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="dc2bfda88f39f5fc"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

 

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

 

0389

0390

0391

0392

0393

0394

0395

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="fce08e45995686b6"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="dc2bfda88f39f5fc"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

 

0409

0410

0411

0412

0413

0414

0415

0416

 

0417

0418

0419

0420

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="ba8d4889753b7414"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="x-attribute1"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="88fa2f142c615edb"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="x-attribute2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0421

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

 

0436

0437

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

 

0448

0449

0450

0451

0452

0453

0454

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="ba8d4889753b7414"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="88fa2f142c615edb"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

 

0467

0468

0469

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0470

0471

0472

0473

0474

0475

0476

0477

0478

0479

0480

0481

0482

0483

 

0484

0485

0486

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+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>

 

0487

0488

0489

0490

0491

0492

0493

0494

0495

0496

0497

0498

 

0499

0500

0501

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0502

0503

0504

0505

0506

0507

0508

0509

0510

0511

0512

0513

0514

0515

 

0516

0517

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ItemNotFound"/>

    <ResultMessage type="TextString" value="No Cryptographic Object found with given Unique Identifier"/>

  </BatchItem>

</ResponseMessage>

 

0518

0519

0520

0521

0522

0523

0524

0525

0526

0527

0528

0529

 

0530

0531

0532

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0533

0534

0535

0536

0537

0538

0539

0540

0541

0542

0543

0544

0545

0546

 

0547

0548

0549

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

0550

0551

0552

0553

0554

0555

0556

0557

0558

0559

0560

0561

 

0562

0563

0564

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0565

0566

0567

0568

0569

0570

0571

0572

0573

0574

0575

0576

0577

0578

 

0579

0580

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ItemNotFound"/>

    <ResultMessage type="TextString" value="No Cryptographic Object found with given Unique Identifier"/>

  </BatchItem>

</ResponseMessage>

 

2.2.5 TC-315-11 - Register / Destroy Secret Data

In this test case the client issues a Register request containing a Secret Data object, whereby the server registers the object and returns the Unique Identifier. To clean up, the client then performs a Destroy

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SecretData"/>

      <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="TC-315-11"/>

        </Attribute>

      </TemplateAttribute>

      <SecretData>

        <SecretDataType type="Enumeration" value="Password"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Opaque"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="53656372657450617373776f7264"/>

          </KeyValue>

        </KeyBlock>

      </SecretData>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

 

0064

0065

0066

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

 

0081

0082

0083

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

2.2.6 TC-32-11 - Asynchronous Locate

This test case tests the asynchronous capabilities of KMIP using the Locate operation. A key is created and then a Locate request is sent containing the Name of the created key and with the message header Asynchronous Indicator-field set to True. If the server returns an asynchronous response to the Locate, the client then polls the server until the operation is ready. If the server responded asynchronously, a subsequent Locate operation that is also handled asynchronously is then Canceled, before the key is finally destroyed.

This test case shows the use of two clients with the same assumptions as in the test case described in Section . Since the client is unable to force the server to respond asynchronously, it is possible for a server to respond synchronously to the requests issued at times 1 and 4, in which case the expected response are the ones shown at times 2 and 5, respectively. In the case of the server not responding asynchronously to the Locate requests, the client is permitted to skip the requests illustrated at time 7 and 8.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-32-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString" value="Group1"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

 

0080

0081

0082

0083

0084

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-32-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Poll"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

0165

0166

 

0167

0168

0169

0170

0171

0172

0173

0174

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="cc9e3b20f5c4fc4d1298f68d0b7de65b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="Group1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

 

0211

0212

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Poll"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <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

0277

0278

0279

 

0280

0281

0282

0283

0284

0285

0286

0287

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="cc9e3b20f5c4fc4d1298f68d0b7de65b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

 

0309

0310

0311

0312

0313

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-32-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

 

0327

0328

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

 

0341

0342

0343

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Cancel"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

0357

 

0358

0359

0360

0361

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Cancel"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

      <CancellationResult type="Enumeration" value="Canceled"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

 

0374

0375

0376

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

 

0391

0392

0393

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

2.2.7 TC-41-11 - Revoke Scenario

This test case tests the revocation aspect of the key life cycle support in KMIP. A key is created and a Get Attribute for the State-attribute reveals that the key is in Pre-active state. The Activation Date is then set, which changes the state to Active. The key is then revoked with a revocation reason of Compromised and the state subsequently changed to Compromised, but this does not stop a client from being able to add, modify and delete attributes or even get the key (since we assume here that the out-of-band registration has been used to make the server aware of the fact that the client is capable of interpreting the attributes of the key and determining what it is allowed to do with the key). To clean up, the created key is finally destroyed.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-41-11-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

 

0067

0068

0069

0070

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

0081

0082

0083

0084

 

0085

0086

0087

0088

0089

0090

0091

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0092

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

 

0104

0105

0106

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Activate"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

 

0121

0122

0123

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Activate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0124

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

 

0136

0137

0138

0139

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0140

0141

0142

0143

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-41-11-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

 

0215

0216

0217

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

 

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

0243

0244

0245

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="9c7d7c4fd2076f1909a6ba4342cab1de"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

 

0258

0259

 

0260

0261

 

0262

0263

0264

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="KeyCompromise"/>

      </RevocationReason>

      <CompromiseOccurrenceDate type="DateTime" value="1970-01-01T00:00:06+00:00"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0265

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

0278

 

0279

0280

0281

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

0293

 

0294

0295

0296

0297

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

0314

0315

0316

0317

0318

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Compromised"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0319

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

 

0331

0332

0333

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

 

0348

 

0349

 

0350

0351

 

0352

0353

0354

0355

0356

0357

0358

0359

0360

 

0361

0362

0363

0364

0365

0366

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Cryptographic Algorithm"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="Compromise Occurrence Date"/>

      <AttributeName type="TextString" value="Compromise Date"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Activation Date"/>

      <AttributeName type="TextString" value="Revocation Reason"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Name"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="Fresh"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

 

0379

0380

0381

0382

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

0396

 

0397

0398

0399

0400

0401

0402

0403

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Compromised"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0404

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

0415

0416

 

0417

0418

0419

0420

0421

0422

0423

0424

0425

0426

0427

 

0428

0429

0430

0431

0432

0433

0434

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="23a177faa569463c"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="9b898dc0577f8080"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0435

0436

0437

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

 

0450

0451

0452

0453

0454

0455

0456

0457

0458

0459

0460

0461

 

0462

0463

0464

0465

0466

0467

0468

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="23a177faa569463c"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="9b898dc0577f8080"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0469

0470

0471

0472

0473

0474

0475

0476

0477

0478

0479

0480

0481

 

0482

0483

0484

0485

0486

0487

0488

0489

0490

0491

0492

 

0493

0494

0495

0496

0497

0498

0499

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="0752c951bb9926cc"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="33f55c8d7e6cafbf"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0500

0501

0502

0503

0504

0505

0506

0507

0508

0509

0510

0511

0512

0513

0514

 

0515

0516

0517

0518

0519

0520

0521

0522

0523

0524

0525

0526

 

0527

0528

0529

0530

0531

0532

0533

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="0752c951bb9926cc"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="33f55c8d7e6cafbf"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0534

0535

0536

0537

0538

0539

0540

0541

0542

0543

0544

0545

0546

 

0547

0548

0549

0550

0551

0552

0553

0554

 

0555

0556

0557

0558

# TIME 12

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="a3eb249b495e8ad2"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="x-attribute1"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="c1fe7b3b4c977730"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="x-attribute2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0559

0560

0561

0562

0563

0564

0565

0566

0567

0568

0569

0570

0571

0572

0573

 

0574

0575

0576

0577

0578

0579

0580

0581

0582

0583

0584

0585

 

0586

0587

0588

0589

0590

0591

0592

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="a3eb249b495e8ad2"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="c1fe7b3b4c977730"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0593

0594

0595

0596

0597

0598

0599

0600

0601

0602

0603

0604

 

0605

0606

0607

# TIME 13

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0608

0609

0610

0611

0612

0613

0614

0615

0616

0617

0618

0619

0620

0621

0622

 

0623

0624

0625

0626

0627

 

0628

0629

0630

0631

0632

0633

0634

0635

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="9c7d7c4fd2076f1909a6ba4342cab1de"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0636

0637

0638

0639

0640

0641

0642

0643

0644

0645

0646

0647

 

0648

0649

0650

# TIME 14

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0651

0652

0653

0654

0655

0656

0657

0658

0659

0660

0661

0662

0663

0664

 

0665

0666

0667

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

2.2.8 TC-51-11 - Get Usage Allocation Scenario

This test case tests the usage management functionality of KMIP. A key is created and the Activation Date and Protect Stop Date attributes are set in such a way as to allow the Get Usage Allocation operation to be performed. The value of the Usage Limits attribute is set to 1000 bytes, and two subsequent requests for 500 bytes succeed (one of them also verifying the amount that can be received using the Check operation), while a third fails since the usage allocation has been used up. The key is finally revoked and destroyed. This test case shows the use of multiple clients (Client-A, Client-B and Client-C).

 

 

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

# TIME 0

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-51-11-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

 

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

 

0079

0080

0081

0082

0083

0084

0085

# TIME 1

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="369f6802ee57532b"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="$NOW-3600"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="b7ca806e52825bf4"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Protect Stop Date"/>

        <AttributeValue type="DateTime" value="$NOW+600"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

0111

0112

 

0113

0114

0115

0116

0117

0118

0119

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="369f6802ee57532b"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="$NOW-3600"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="b7ca806e52825bf4"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Protect Stop Date"/>

        <AttributeValue type="DateTime" value="$NOW+600"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

# TIME 2

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Usage Limits"/>

        <AttributeValue>

          <UsageLimitsTotal type="LongInteger" value="1000"/>

          <UsageLimitsUnit type="Enumeration" value="Byte"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0142

0143

0144

0145

0146

0147

0148

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Usage Limits"/>

        <AttributeValue>

          <UsageLimitsTotal type="LongInteger" value="1000"/>

          <UsageLimitsCount type="LongInteger" value="1000"/>

          <UsageLimitsUnit type="Enumeration" value="Byte"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

 

0187

0188

0189

0190

0191

# TIME 3

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-51-11-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

 

0206

0207

0208

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

 

0221

0222

0223

# TIME 4

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0224

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

 

0239

0240

0241

0242

0243

 

0244

0245

0246

0247

0248

0249

0250

0251

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="50f31013c771af4448110f695efa9ec7"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

 

0266

0267

0268

0269

0270

0271

0272

0273

 

0274

0275

0276

0277

# TIME 5

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Check"/>

    <UniqueBatchItemID type="ByteString" value="d35a294f9425f06e"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetUsageAllocation"/>

    <UniqueBatchItemID type="ByteString" value="80454d8ce4f738fe"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

 

0293

0294

0295

0296

0297

0298

0299

0300

 

0301

0302

0303

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Check"/>

    <UniqueBatchItemID type="ByteString" value="d35a294f9425f06e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetUsageAllocation"/>

    <UniqueBatchItemID type="ByteString" value="80454d8ce4f738fe"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

 

0316

0317

0318

0319

# TIME 6

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetUsageAllocation"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

 

0334

0335

0336

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetUsageAllocation"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0337

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

 

0357

0358

0359

0360

0361

# TIME 7

# [Client-C]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-51-11-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

 

0376

0377

0378

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

 

0391

0392

0393

# TIME 8

# [Client-C]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0394

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

 

0409

0410

0411

0412

0413

 

0414

0415

0416

0417

0418

0419

0420

0421

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="50f31013c771af4448110f695efa9ec7"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

 

0434

0435

0436

0437

# TIME 9

# [Client-C]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetUsageAllocation"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

0450

0451

 

0452

0453

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetUsageAllocation"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Unable to allocate requested amount"/>

  </BatchItem>

</ResponseMessage>

 

 

0454

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

 

0468

0469

 

0470

0471

0472

0473

0474

0475

0476

0477

 

0478

0479

0480

# TIME 10

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="79b998c5f29465f4"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="b0633f0e41187345"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0481

0482

0483

0484

0485

0486

0487

0488

0489

0490

0491

0492

0493

0494

0495

 

0496

0497

0498

0499

0500

0501

0502

0503

 

0504

0505

0506

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="79b998c5f29465f4"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="b0633f0e41187345"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.9 TC-61-11 - Import of a Third-party Key

This test case tests the import of a foreign key using the Register operation. To validate that the registered key is treated the same as a locally created key, an attribute is added to the key and then modified. Finally, the key is destroyed.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-61-11"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

 

0065

0066

0067

0068

0069

0070

0071

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0072

0073

0074

0075

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

 

0086

0087

0088

0089

0090

0091

0092

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0093

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0112

0113

0114

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

 

0145

0146

0147

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

2.2.10 TC-71-11 - Unrecognized Message Extension with Criticality Indicator False

A create request is issued and the request contains a Message Extension with the Criticality Indicator set to false. The server does not understand the extension, but since it is non-critical, the create request is processed normally. Subsequently, the created key is deleted.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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 Length"/>

          <AttributeValue type="Integer" value="128"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-71-11"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

    <MessageExtension>

      <VendorIdentification type="TextString" value="Acme"/>

      <CriticalityIndicator type="Boolean" value="false"/>

      <VendorExtension>

        <TTLV tag="0x540001" type="TextString" value="na"/>

      </VendorExtension>

    </MessageExtension>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0074

0075

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

 

0088

0089

0090

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

2.2.11 TC-72-11 - Unrecognized Message Extension with Criticality Indicator True

A create request is issued and the request contains a Message Extension with the Criticality Indicator set to true. The server does not understand the extension, and since it is critical, the create request fails and an error is returned.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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 Length"/>

          <AttributeValue type="Integer" value="128"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-72-11"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

    <MessageExtension>

      <VendorIdentification type="TextString" value="Acme"/>

      <CriticalityIndicator type="Boolean" value="true"/>

      <VendorExtension>

        <TTLV tag="0x540001" type="TextString" value="na"/>

      </VendorExtension>

    </MessageExtension>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="FeatureNotSupported"/>

    <ResultMessage type="TextString" value="Critical Message Extension not recognized"/>

  </BatchItem>

</ResponseMessage>

 

2.2.12 TC-81-11 - Create a Key Pair

Create a new private/public key pair. Make sure they are linked correctly by issuing Locate commands with the assigned Unique Identifiers. Finally delete both key halves.

 

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

0048

0049

0050

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="CreateKeyPair"/>

    <RequestPayload>

      <CommonTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="RSA"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="1024"/>

        </Attribute>

      </CommonTemplateAttribute>

      <PrivateKeyTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-81-11-privatekey1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Sign"/>

        </Attribute>

      </PrivateKeyTemplateAttribute>

      <PublicKeyTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-81-11-publickey1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify"/>

        </Attribute>

      </PublicKeyTemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

 

0065

 

0066

0067

0068

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="CreateKeyPair"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <PrivateKeyUniqueIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

      <PublicKeyUniqueIdentifier type="TextString"                  value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

 

0108

0109

0110

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

 

0131

0132

0133

0134

0135

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

 

0150

0151

0152

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

 

0165

0166

0167

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

 

0182

0183

0184

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

 

0197

0198

0199

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

 

0214

0215

0216

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

2.2.13 TC-82-11 - Register Both Halves of a Key Pair

Register a private key and a public key and set the Link attribute to point to each other. Verify the links were set correctly by locating the keys based on the link attributes, and then delete both objects.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-82-11-prikey"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_8"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100930451c9ecd94f5bb9da17dd09381bd23be43eca8c7539f301fc8a8cd5d5274c3e7699dbdc711c97a7aa91e2c50a82bd0b1034f0df493dec16362427e58acce7f6ce0f9bcc617bbd8c90d0094a2703ba0d09eb19d1005f2fb265526aac75af32f8bc782cded2a57f811e03eaf67a944de5e78413dca8f232d074e6dcea4cec9f02030100010281800b6a7d736199ea48a420e4537ca0c7c046784dcbeaa63baebc0bc132787449cde8d7cad0c0c863c0fefb06c3062befc50033ecf87b4e33a9be7bcbc8f1511ae215e80deb5d8af2bd31319d7821196640935a0cd67c94599579f2100d65e038831fdafb0dbe2bbdac00a696e67e756350e1c99ace11a36dabac3ed3e730960059024100ddf672fbcc5bda3d73affc4e791e0c03390224405d69ccaabc749faa0dcd4c2583c71dde8941a7b9aa030f52ef1451466c074d4d338fe677892acd9e10fd35bd024100a98fbc3ed6b4c6f860f97165ac2f7bb6f2e2cb192a9abd49795be5bcf37d8ee69a6e169c24e5c32e4e7fa33265461407f952ba49e204818a2f785f113f922b8b0240253f9470390d39049303777ddbc9750e9d64849ce0903eae704dc9f589b7680deb9d609fd5bcd4decd6f120542e5cff5d76f2a43c8615fb5b3a9213463797aa9024100a1ddf023c0cd94c019bb26d09b9e3ca8fa971cb16aa58b9baf79d6081a1dbba452ba53653e2804ba98ff69e8bb1b3a161ea225ea501463216a8dab9b88a75e5f02406178646e112cf79d921a8a843f17f6e7ff974f688122365bf6690cdfc996e1890952eb3820dd1890ec1c8619e87a2bd38f9d03b37fac742efb748c7885942c39"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="1024"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-82-11-pubkey"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30819f300d06092a864886f70d010101050003818d0030818902818100930451c9ecd94f5bb9da17dd09381bd23be43eca8c7539f301fc8a8cd5d5274c3e7699dbdc711c97a7aa91e2c50a82bd0b1034f0df493dec16362427e58acce7f6ce0f9bcc617bbd8c90d0094a2703ba0d09eb19d1005f2fb265526aac75af32f8bc782cded2a57f811e03eaf67a944de5e78413dca8f232d074e6dcea4cec9f0203010001"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="1024"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

 

0271

0272

0273

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

 

0286

0287

0288

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

 

0303

0304

0305

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

2.2.14 TC-91-11 - Create a Key, Re-key

Create a symmetric key with a specific name, and then use Locate to find the key. After using Re-key to create a new key, verify that the name was removed from the existing key and copied to the new key. Also verify that the key material for the old key is still retrievable. To clean up, both keys are deleted.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-91-11-rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0055

0056

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-91-11-rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

 

0090

0091

0092

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

 

0105

0106

0107

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

 

0122

0123

0124

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

 

0141

0142

0143

0144

0145

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-91-11-rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

 

0160

0161

0162

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

 

0175

0176

0177

0178

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

 

0193

0194

0195

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

 

0208

0209

0210

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

 

0226

0227

0228

0229

0230

 

0231

0232

0233

0234

0235

0236

0237

0238

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="9ca9840291a65889043c37707da997e8"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

 

0251

0252

0253

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

 

0268

0269

0270

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

 

0283

0284

0285

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

 

0300

0301

0302

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

2.2.15 TC-92-11 - Existing Key Expired, Re-key with Same Life-cycle

Create a new symmetric key. Then add the Activation Date and Deactivation Date attributes based on the timestamp in the response to the Create request. The Activation Date is set to the current time and the Deactivation Date to a time in the near future. Repeated Get Attribute calls are performed to verify that the state is first 'Active', then subsequently 'Deactivated'. Then issue a Re-key request, including an Offset value of zero leading to the Activation Date of the replacement key to be set to the same value as the Initial Date of the replacement key. Verify from the response that the Activation Date and Deactivation Date attributes were set correctly (if they are not returned, issue a Get Attribute request). Do a Get Attribute operation to verify that the state of the new key is 'Active'. To clean up, both keys are deleted.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-92-11-rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:27+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>

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

 

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

 

0079

0080

0081

0082

0083

0084

0085

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="606051f958d79b0f"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="$NOW"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="7cb12802f6a52cf1"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="$NOW+120"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

0111

0112

 

0113

0114

0115

0116

0117

0118

0119

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:27+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="606051f958d79b0f"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="$NOW"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="7cb12802f6a52cf1"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="$NOW+120"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

 

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

# TIME 2

# [REPEAT] until GetAttributes response shows State changed to Deactivated

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

 

0150

0151

0152

0153

0154

0155

0156

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

 

0169

0170

0171

0172

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

 

0187

0188

0189

0190

0191

0192

0193

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Deactivated"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

 

0206

0207

0208

0209

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Offset type="Interval" value="0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

 

0224

0225

0226

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

 

0239

0240

0241

0242

0243

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Activation Date"/>

      <AttributeName type="TextString" value="Deactivation Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

 

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="$NOW"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="$NOW+120"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0269

0270

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

 

0281

0282

0283

0284

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

 

0299

0300

0301

0302

0303

0304

0305

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

 

0318

0319

0320

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

0334

 

0335

0336

0337

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+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>

 

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

 

0352

0353

 

0354

0355

0356

0357

0358

0359

0360

0361

 

0362

0363

0364

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="955dfbb9abbec308"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="6ce5ea0c8334b076"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

0379

 

0380

0381

0382

0383

0384

0385

0386

0387

 

0388

0389

0390

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="955dfbb9abbec308"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="6ce5ea0c8334b076"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.16 TC-93-11 - Existing Key Compromised, Re-key with Same Life-cycle

Create a new symmetric key with the Activation Date in the past. Do a Get Attribute operation on the State attribute to verify the key is 'Active'. Then revoke the key as compromised, verify that the state has changed to 'Compromised'. Create a replacement key using Re-key with the offset set to '0' to indicate that the times are to be copied from the existing key. Do a Get Attribute operation to verify that the state of the new key is 'Active'. To clean up, both keys are deleted.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-93-11-rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+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>

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

0074

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0075

0076

0077

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="1"/>

    </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="KeyCompromise"/>

      </RevocationReason>

      <CompromiseOccurrenceDate type="DateTime" value="$NOW"/>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+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

0147

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

0165

0166

0167

0168

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Compromised"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0201

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

 

0231

0232

0233

0234

0235

0236

0237

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

 

0250

0251

0252

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

 

0267

0268

0269

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+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>

 

0270

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

 

0284

0285

 

0286

0287

0288

0289

0290

0291

0292

0293

 

0294

0295

0296

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="c95bbfd6ad466474"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="4e6a3e943e1dda87"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

0314

0315

0316

0317

0318

0319

 

0320

0321

0322

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="c95bbfd6ad466474"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="4e6a3e943e1dda87"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.17 TC-94-11 - Create Key, Re-key with New Life-cycle

Create a symmetric key with a specific name, then use Locate to find the key. After using Re-key to create a new key, verify that the name was removed from the existing key and copied to the new key. To clean up, both keys are deleted.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-94-11-rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+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>

 

0055

0056

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-94-11-rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

 

0090

0091

0092

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

 

0105

0106

0107

0108

0109

0110

0111

 

0112

0113

0114

0115

 

0116

0117

0118

0119

 

0120

0121

0122

0123

0124

0125

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-31536000"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Process Start Date"/>

          <AttributeValue type="DateTime" value="$NOW-31536000"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Protect Stop Date"/>

          <AttributeValue type="DateTime" value="$NOW+31536000"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Deactivation Date"/>

          <AttributeValue type="DateTime" value="$NOW+31536000"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

 

0140

0141

0142

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

 

0155

0156

0157

0158

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

 

0173

0174

0175

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

 

0188

0189

0190

0191

0192

0193

0194

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Activation Date"/>

      <AttributeName type="TextString" value="Process Start Date"/>

      <AttributeName type="TextString" value="Protect Stop Date"/>

      <AttributeName type="TextString" value="Deactivation Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

 

0209

0210

0211

0212

0213

0214

 

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="$NOW-31536000"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Process Start Date"/>

        <AttributeValue type="DateTime" value="$NOW-31536000"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Protect Stop Date"/>

        <AttributeValue type="DateTime" value="$NOW+31536000"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="$NOW+31536000"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

 

0244

0245

0246

0247

0248

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-94-11-rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0249

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

 

0263

0264

0265

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

 

0278

0279

0280

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

 

0295

0296

0297

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+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>

 

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

 

0314

0315

0316

0317

0318

0319

0320

0321

 

0322

0323

0324

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="64bf984d81eee045"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="6e140354775e324d"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0325

0326

0327

0328

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

 

0340

0341

0342

0343

0344

0345

0346

0347

 

0348

0349

0350

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="64bf984d81eee045"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="6e140354775e324d"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.18 TC-95-11 - Obtain Lease for Expired Key

Create a symmetric key with a specific name and obtain a lease. Revoke the key with state 'Compromised' and re-key the key. Try to obtain a lease on the old key which fails due to a server policy which does not allow giving out leases for compromised keys. Locate the new key with the original name. Get the new key and obtain a lease.

 

 

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

# TIME 0

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-95-11-rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+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>

 

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

# TIME 1

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="ef5a0e97a29b32034c66efbf26ad3e42"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

 

0114

0115

0116

# TIME 2

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <LeaseTime type="Interval" value="0"/>

      <LastChangeDate type="DateTime" value="$NOW"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

 

0150

0151

0152

0153

0154

# TIME 3

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="KeyCompromise"/>

      </RevocationReason>

      <CompromiseOccurrenceDate type="DateTime" value="$NOW"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

 

0169

0170

0171

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+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>

 

 

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

 

0184

0185

0186

# TIME 4

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

 

0201

0202

0203

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

 

0216

0217

0218

# TIME 5

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

 

0233

0234

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="CO is in state Compromised, no lease given"/>

  </BatchItem>

</ResponseMessage>

 

 

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

 

0251

0252

0253

0254

0255

# TIME 6

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-95-11-rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

 

0270

0271

0272

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

 

0285

0286

0287

# TIME 7

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

 

0303

0304

0305

0306

0307

 

0308

0309

0310

0311

0312

0313

0314

0315

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="525d4b0bbb66bcb538029d49a6f569a5"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

 

0328

0329

0330

# TIME 8

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

0344

 

0345

0346

0347

0348

0349

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <LeaseTime type="Interval" value="0"/>

      <LastChangeDate type="DateTime" value="$NOW"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0350

0351

0352

0353

0354

0355

0356

0357

0358

0359

0360

0361

 

0362

0363

0364

# TIME 9

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

 

0379

0380

0381

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+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>

 

 

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

 

0396

0397

 

0398

0399

0400

0401

0402

0403

0404

0405

 

0406

0407

0408

# TIME 10

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="e00004346ea64da4"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="0376ca8cdcc8a2f1"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0409

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

0421

0422

0423

 

0424

0425

0426

0427

0428

0429

0430

0431

 

0432

0433

0434

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="e00004346ea64da4"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="0376ca8cdcc8a2f1"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.19 TC-101-11 - Create a Key, Archive and Recover it

Create a symmetric key with a specified name, then use Locate to find the key and get the key. Archive the key (asynchronous operation, use Poll until it completes) and use Get and Locate on it, but both fail (Get returns an error and Locate returns no Unique Identifiers). Add the Storage Status Mask to the Locate-command, indicating to the server to search in both online and archived storage. The Locate then finds the archived key. Recover the key (asynchronous operation, use Poll until it completes) from the archive, then repeat the Get operation which will now succeed.

Since the client is unable to force the server to respond asynchronously, it is possible for a server to respond synchronously to the requests issued at times 3 and 9, in which case the expected responses are the ones shown at times 4 and 10 respectively.

Note: a server may perform Archive and Recover operations synchronously and not require the use of Poll for the client to wait for the operation to complete

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-101-11-archiveKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+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>

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

 

0074

 

0075

0076

0077

0078

0079

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-101-11-archiveKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

0136

0137

0138

0139

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0b4c9fb659c5ce09ec12c3233d526f45"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

 

0153

0154

0155

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Archive"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Archive"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

 

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

 

0183

0184

0185

# TIME 4

# [REPEAT] until Archive response is returned

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Poll"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:30+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Archive"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

 

0215

0216

0217

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:32+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ObjectArchived"/>

    <ResultMessage type="TextString" value="Object is archived"/>

  </BatchItem>

</ResponseMessage>

 

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

 

0246

0247

0248

0249

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Archive Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

 

0264

0265

0266

 

0267

0268

0269

0270

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:32+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Archive Date"/>

        <AttributeValue type="DateTime" value="2012-04-27T08:14:30+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

 

0290

 

0291

0292

0293

0294

0295

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-101-11-archiveKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:33+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0312

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

 

0324

0325

0326

0327

0328

0329

0330

0331

 

0332

 

0333

0334

0335

0336

0337

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <StorageStatusMask type="Integer" value="ArchivalStorage OnLineStorage"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-101-11-archiveKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

 

0352

0353

0354

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:33+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

 

0368

0369

0370

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Recover"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0371

0372

0373

0374

0375

0376

0377

0378

0379

0380

0381

0382

0383

 

0384

0385

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:33+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Recover"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

 

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

0396

0397

 

0398

0399

0400

# TIME 10

# [REPEAT] until Recover response is returned

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Poll"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0401

0402

0403

0404

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

 

0415

0416

0417

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Recover"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0418

0419

0420

0421

0422

0423

0424

0425

0426

0427

0428

0429

 

0430

0431

0432

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0433

0434

0435

0436

0437

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

 

0448

0449

0450

0451

0452

 

0453

0454

0455

0456

0457

0458

0459

0460

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0b4c9fb659c5ce09ec12c3233d526f45"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0461

0462

0463

0464

0465

0466

0467

0468

0469

0470

0471

0472

 

0473

0474

0475

# TIME 12

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0476

0477

0478

0479

0480

0481

0482

0483

0484

0485

0486

0487

0488

0489

 

0490

0491

0492

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+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>

 

2.2.20 TC-111-11 - Credential, Operation Policy, Destroy Date

Pass a Credential object of type Username and Password in the message header in all requests for identification purposes. Create a symmetric key and set the Operation Policy Name attribute to 'default'. Using another Username and Password Credential, attempt to perform a Get operation batched with a Get Attribute List on the created symmetric key - according to the Default Operation Policy, both these request SHALL fail, and with the Batch Error Continuation Option set to 'Continue', the client SHALL also receive both response payloads. Using the first (correct) Credential, Destroy the object and then get the Destroy Date attribute.

The message exchanges shown in this test case assume that the first Credential (Fred) is valid and the second credential (Barney) is either invalid or does not have access to the newly created key (which should always be true under the 'default' Operation Policy).

Note: a server can elect to not return meta-data for destroyed objects and in those circumstances the Get Attributes operation may fail.

 

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

 

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <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="TC-111-11-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Operation Policy Name"/>

          <AttributeValue type="TextString" value="default"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration" value="CBC"/>

            <PaddingMethod type="Enumeration" value="PKCS5"/>

            <HashingAlgorithm type="Enumeration" value="SHA_1"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

 

0073

0074

0075

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+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>

 

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="55d88770e2556dab"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Operation Policy Name"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="eb864ee01f1f98cd"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

 

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

 

0137

0138

0139

0140

0141

 

0142

0143

0144

0145

0146

0147

0148

0149

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="55d88770e2556dab"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Operation Policy Name"/>

        <AttributeValue type="TextString" value="default"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="eb864ee01f1f98cd"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30e55f4b230b34ce8afc476c66f8351b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0150

0151

0152

0153

0154

0155

0156

0157

0158

 

0159

0160

0161

0162

0163

0164

0165

 

0166

0167

0168

0169

0170

0171

0172

0173

 

0174

0175

0176

0177

0178

0179

0180

 

0181

0182

0183

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Barney"/>

          <Password type="TextString" value="secret2"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchErrorContinuationOption type="Enumeration"                value="Continue"/>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="4f0e6d3dba3d0495"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <UniqueBatchItemID type="ByteString" value="9b937e7cd50b233b"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="4f0e6d3dba3d0495"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Access denied"/>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <UniqueBatchItemID type="ByteString" value="9b937e7cd50b233b"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Access denied"/>

  </BatchItem>

</ResponseMessage>

 

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

 

0229

0230

0231

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

 

0246

0247

0248

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+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>

 

0249

0250

0251

0252

0253

0254

0255

0256

0257

 

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

 

0270

0271

0272

0273

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Destroy Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

 

0288

0289

0290

 

0291

0292

0293

0294

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Destroy Date"/>

        <AttributeValue type="DateTime" value="2012-04-27T08:14:35+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.21 TC-112-11 - Device Credential, Operation Policy, Destroy Date

Pass a Credential object of type Device Credential in the message header in all requests for identification purposes. Create a symmetric key and set the Operation Policy Name attribute to 'default'. Using another Credential, attempt to perform a Get operation batched with a Get Attribute List on the created symmetric key. According to the Default Operation Policy, both these request SHALL fail, and with the Batch Error Continuation Option set to 'Continue', the client SHALL also receive both response payloads. Using the first Credential, Destroy the object and get the Destroy Date attribute.  The message exchanges shown in this test case assume that the first Credential (devID2233) is valid and the second credential (devID4444) is either invalid or does not have access to the newly created key (which should always be true under the 'default' Operation Policy).

Note: a server can elect to not return meta-data for destroyed objects and in those circumstances the Get Attributes operation may fail.

 

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

 

0048

0049

0050

0051

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration" value="Device"/>

        <CredentialValue>

          <DeviceSerialNumber type="TextString"                     value="serNum123456"/>

          <Password type="TextString" value="secret"/>

          <DeviceIdentifier type="TextString" value="devID2233"/>

          <NetworkIdentifier type="TextString" value="netID9000"/>

          <MachineIdentifier type="TextString" value="machineID1"/>

          <MediaIdentifier type="TextString" value="mediaID313"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <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="TC-112-11-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Operation Policy Name"/>

          <AttributeValue type="TextString" value="default"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration" value="CBC"/>

            <PaddingMethod type="Enumeration" value="PKCS5"/>

            <HashingAlgorithm type="Enumeration" value="SHA_1"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

 

0077

0078

0079

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+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>

 

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

0111

0112

0113

 

0114

0115

0116

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration" value="Device"/>

        <CredentialValue>

          <DeviceSerialNumber type="TextString"                     value="serNum123456"/>

          <Password type="TextString" value="secret"/>

          <DeviceIdentifier type="TextString" value="devID2233"/>

          <NetworkIdentifier type="TextString" value="netID9000"/>

          <MachineIdentifier type="TextString" value="machineID1"/>

          <MediaIdentifier type="TextString" value="mediaID313"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="e705e27dc0ba7789"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Operation Policy Name"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="50a7f741a1119826"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

 

0132

0133

 

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

 

0145

0146

0147

0148

0149

 

0150

0151

0152

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="e705e27dc0ba7789"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Operation Policy Name"/>

        <AttributeValue type="TextString" value="default"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="50a7f741a1119826"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="acfeaffdbdd17d0e63624a22083ee4b6"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

 

0169

0170

0171

0172

 

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

0183

0184

0185

 

0186

0187

0188

0189

0190

0191

0192

 

0193

0194

0195

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration" value="Device"/>

        <CredentialValue>

          <DeviceSerialNumber type="TextString"                     value="serNum101010"/>

          <Password type="TextString" value="passwd"/>

          <DeviceIdentifier type="TextString" value="devID4444"/>

          <NetworkIdentifier type="TextString" value="netID9"/>

          <MachineIdentifier type="TextString"                      value="machineID1111"/>

          <MediaIdentifier type="TextString" value="mediaID0000"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchErrorContinuationOption type="Enumeration"                value="Continue"/>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="1154049d742c498e"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <UniqueBatchItemID type="ByteString" value="8ae55c6e91d97b05"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="1154049d742c498e"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Access denied"/>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <UniqueBatchItemID type="ByteString" value="8ae55c6e91d97b05"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Access denied"/>

  </BatchItem>

</ResponseMessage>

 

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

 

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

 

0245

0246

0247

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration" value="Device"/>

        <CredentialValue>

          <DeviceSerialNumber type="TextString"                     value="serNum123456"/>

          <Password type="TextString" value="secret"/>

          <DeviceIdentifier type="TextString" value="devID2233"/>

          <NetworkIdentifier type="TextString" value="netID9000"/>

          <MachineIdentifier type="TextString" value="machineID1"/>

          <MediaIdentifier type="TextString" value="mediaID313"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

 

0262

0263

0264

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+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>

 

0265

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

 

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

 

0290

0291

0292

0293

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration" value="Device"/>

        <CredentialValue>

          <DeviceSerialNumber type="TextString"                     value="serNum123456"/>

          <Password type="TextString" value="secret"/>

          <DeviceIdentifier type="TextString" value="devID2233"/>

          <NetworkIdentifier type="TextString" value="netID9000"/>

          <MachineIdentifier type="TextString" value="machineID1"/>

          <MediaIdentifier type="TextString" value="mediaID313"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Destroy Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

 

0308

0309

0310

 

0311

0312

0313

0314

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Destroy Date"/>

        <AttributeValue type="DateTime" value="2012-04-27T08:14:35+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.22 TC-121-11 - Query, Maximum Response Size

Perform a Query operation, querying the Operations and Objects supported by the server, with a restriction on the Maximum Response Size set in the request header. Since the resulting Query response is too large, an error is returned. Increase the Maximum Response Size, resubmit the Query request, and get a successful response.

Note: the list of object types supported and operations will vary depending on the server implementation. The server can report the Vendor Identification in whatever TextString form the vendor selects. The server may return vendor specific tags in the Server Information structure indicating additional vendor-specific information about the server.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

0016

0017

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <MaximumResponseSize type="Integer" value="256"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <RequestPayload>

      <QueryFunction type="Enumeration" value="QueryOperations"/>

      <QueryFunction type="Enumeration" value="QueryObjects"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

 

0032

0033

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ResponseTooLarge"/>

    <ResultMessage type="TextString" value="Response size: 648, Maximum Response Size indicated in request: 256"/>

  </BatchItem>

</ResponseMessage>

 

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <MaximumResponseSize type="Integer" value="2048"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <RequestPayload>

      <QueryFunction type="Enumeration" value="QueryOperations"/>

      <QueryFunction type="Enumeration" value="QueryObjects"/>

      <QueryFunction type="Enumeration"                             value="QueryServerInformation"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <Operation type="Enumeration" value="Create"/>

      <Operation type="Enumeration" value="CreateKeyPair"/>

      <Operation type="Enumeration" value="Register"/>

      <Operation type="Enumeration" value="ReKey"/>

      <Operation type="Enumeration" value="Certify"/>

      <Operation type="Enumeration" value="ReCertify"/>

      <Operation type="Enumeration" value="Locate"/>

      <Operation type="Enumeration" value="Check"/>

      <Operation type="Enumeration" value="Get"/>

      <Operation type="Enumeration" value="GetAttributes"/>

      <Operation type="Enumeration" value="GetAttributeList"/>

      <Operation type="Enumeration" value="AddAttribute"/>

      <Operation type="Enumeration" value="ModifyAttribute"/>

      <Operation type="Enumeration" value="DeleteAttribute"/>

      <Operation type="Enumeration" value="ObtainLease"/>

      <Operation type="Enumeration" value="GetUsageAllocation"/>

      <Operation type="Enumeration" value="Activate"/>

      <Operation type="Enumeration" value="Revoke"/>

      <Operation type="Enumeration" value="Destroy"/>

      <Operation type="Enumeration" value="Archive"/>

      <Operation type="Enumeration" value="Recover"/>

      <Operation type="Enumeration" value="Query"/>

      <Operation type="Enumeration" value="Cancel"/>

      <Operation type="Enumeration" value="Poll"/>

      <Operation type="Enumeration" value="ReKeyKeyPair"/>

      <Operation type="Enumeration" value="DiscoverVersions"/>

      <ObjectType type="Enumeration" value="Certificate"/>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <ObjectType type="Enumeration" value="Template"/>

      <ObjectType type="Enumeration" value="SecretData"/>

      <VendorIdentification type="TextString" value="SOME-VENDOR-NAME"/>

      <ServerInformation>

      </ServerInformation>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.23 TC-122-11 - Query Vendor Extensions

Query the server for a list and map of vendor extension tags it recognizes.

Note: Extension Type is an Integer as there is no corresponding enumerated type for the Item Type field.

 

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <RequestPayload>

      <QueryFunction type="Enumeration" value="QueryExtensionList"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

0032

0033

0034

0035

0036

0037

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ExtensionInformation>

        <ExtensionName type="TextString" value="ACME LOCATION"/>

      </ExtensionInformation>

      <ExtensionInformation>

        <ExtensionName type="TextString" value="ACME ZIP CODE"/>

      </ExtensionInformation>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <RequestPayload>

      <QueryFunction type="Enumeration" value="QueryExtensionMap"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ExtensionInformation>

        <ExtensionName type="TextString" value="ACME LOCATION"/>

        <ExtensionTag type="Integer" value="5548545"/>

        <ExtensionType type="Integer" value="7"/>

      </ExtensionInformation>

      <ExtensionInformation>

        <ExtensionName type="TextString" value="ACME ZIP CODE"/>

        <ExtensionTag type="Integer" value="5548546"/>

        <ExtensionType type="Integer" value="2"/>

      </ExtensionInformation>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.24 TC-131-11 - Register an Asymmetric Key Pair in PKCS1 Format

Register a private key in the PKCS_1 key format, then register the corresponding public key, also in PKCS_1 format, with the Link attribute pointing to the previously registered private key. Thereafter add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in PKCS_1 key format, then destroy both the private and the public 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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-131-11-prikey1"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-131-11-pubkey1"/>

        </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>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

0257

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

0272

 

0273

0274

0275

0276

0277

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0278

0279

0280

0281

0282

0283

0284

0285

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

 

0298

0299

0300

0301

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

 

0317

0318

0319

0320

0321

 

 

 

 

 

 

 

 

 

0322

0323

0324

0325

0326

0327

0328

0329

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

 

0342

0343

0344

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

0357

0358

 

0359

0360

0361

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

 

0374

0375

0376

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

 

0391

0392

0393

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

2.2.25 TC-132-11 - Register an Asymmetric Key Pair and a Corresponding X509 Certificate

Register a public/private key pair in the PKCS_1 key format and a corresponding X509 certificate. Add the appropriate links between the registered objects.  Make sure the certificate was registered and the attributes set correctly by listing and retrieving the attributes. Get the keys and certificate, and finally destroy all the registered objects.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-132-11-pubkey1"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-132-11-prikey1"/>

        </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>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

0132

0133

 

0134

0135

0136

0137

0138

 

0139

0140

0141

0142

0143

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0144

0145

0146

0147

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-132-11-cert1"/>

        </Attribute>

      </TemplateAttribute>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="30820312308201faa003020102020101300d06092a864886f70d0101050500303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950301e170d3130313130313233353935395a170d3230313130313233353935395a303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d495030820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a321301f301d0603551d0e0416041404e57bd2c431b2e816e180a19823fac858273f6b300d06092a864886f70d01010505000382010100a876adbc6c8e0ff017216e195fea76bff61a567c9a13dc50d13fec12a4273c441547cfabcb5d61d991e966319df72c0d41ba826a45112ff26089a2344f4d71cf7c921b4bdfaef1600d1baaa15336057e014b8b496d4fae9e8a6c1da9aeb6cbc960cbf2fae77f587ec4bb282045338845b88dd9aeea53e482a36e734e4f5f03b9d0dfc4cafc6bb34ea9053e52bd609ee01e86d9b09fb51120c19834a997b09ce08d79e81311762f974bb1c8c09186c4d78933e0db38e905084877e147c78af52fae07192ff166d19fa94a11cc11b27ed050f7a27fae13b205a574c4ee00aa8bd65d0d7057c985c839ef336a441ed53a53c6b6b696f1bdeb5f7ea811ebb25a7f86"/>

      </Certificate>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

 

0183

0184

0185

0186

0187

0188

0189

0190

0191

 

0192

0193

0194

0195

0196

 

0197

0198

0199

0200

0201

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="31f81bfb0f0492bd"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="ba865701c7837be2"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

 

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

 

0232

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="31f81bfb0f0492bd"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="ba865701c7837be2"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

 

0255

0256

0257

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

 

0273

0274

 

0275

 

0276

 

0277

 

0278

0279

0280

0281

0282

 

0283

0284

0285

0286

0287

0288

0289

 

0290

0291

0292

0293

0294

0295

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Certificate Length"/>

      <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

      <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

      <AttributeName type="TextString" value="X.509 Certificate Subject"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="Fresh"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="x-ID"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

 

0308

 

0309

0310

0311

0312

 

0313

 

0314

0315

0316

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

 

0331

0332

 

0333

0334

 

0335

0336

0337

0338

0339

 

0340

0341

 

0342

0343

0344

0345

 

0346

0347

 

0348

0349

0350

0351

0352

0353

0354

0355

 

0356

 

0357

0358

0359

 

0360

0361

0362

0363

0364

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Identifier"/>

        <AttributeValue>

          <Issuer type="TextString"                                 value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

          <SerialNumber type="TextString" value="1"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Issuer"/>

        <AttributeValue>

          <CertificateIssuerDistinguishedName type="TextString"     value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Subject"/>

        <AttributeValue>

          <CertificateSubjectDistinguishedName type="TextString"    value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Type"/>

        <AttributeValue type="Enumeration" value="X_509"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Digital Signature Algorithm"/>

        <AttributeValue type="Enumeration"                          value="SHA_1WithRSAEncryption"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Cryptographic Length"/>

        <AttributeValue type="Integer" value="2048"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

 

0377

0378

0379

0380

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

 

0396

0397

0398

0399

0400

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0401

0402

0403

0404

0405

0406

0407

0408

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0409

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

 

0421

0422

0423

0424

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

0436

0437

0438

0439

 

0440

0441

0442

0443

0444

 

 

 

 

 

 

 

 

 

0445

0446

0447

0448

0449

0450

0451

0452

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0453

0454

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

 

0465

0466

0467

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0468

0469

0470

0471

0472

0473

0474

0475

0476

0477

0478

0479

0480

0481

0482

 

0483

0484

0485

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0486

0487

0488

0489

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="30820312308201faa003020102020101300d06092a864886f70d0101050500303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950301e170d3130313130313233353935395a170d3230313130313233353935395a303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d495030820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a321301f301d0603551d0e0416041404e57bd2c431b2e816e180a19823fac858273f6b300d06092a864886f70d01010505000382010100a876adbc6c8e0ff017216e195fea76bff61a567c9a13dc50d13fec12a4273c441547cfabcb5d61d991e966319df72c0d41ba826a45112ff26089a2344f4d71cf7c921b4bdfaef1600d1baaa15336057e014b8b496d4fae9e8a6c1da9aeb6cbc960cbf2fae77f587ec4bb282045338845b88dd9aeea53e482a36e734e4f5f03b9d0dfc4cafc6bb34ea9053e52bd609ee01e86d9b09fb51120c19834a997b09ce08d79e81311762f974bb1c8c09186c4d78933e0db38e905084877e147c78af52fae07192ff166d19fa94a11cc11b27ed050f7a27fae13b205a574c4ee00aa8bd65d0d7057c985c839ef336a441ed53a53c6b6b696f1bdeb5f7ea811ebb25a7f86"/>

      </Certificate>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0490

0491

0492

0493

0494

0495

0496

0497

0498

0499

0500

0501

 

0502

0503

0504

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0505

0506

0507

0508

0509

0510

0511

0512

0513

0514

0515

0516

0517

0518

 

0519

0520

0521

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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>

 

0522

0523

0524

0525

0526

0527

0528

0529

0530

0531

0532

0533

 

0534

0535

0536

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0537

0538

0539

0540

0541

0542

0543

0544

0545

0546

0547

0548

0549

0550

 

0551

0552

0553

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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>

 

0554

0555

0556

0557

0558

0559

0560

0561

0562

0563

0564

0565

 

0566

0567

0568

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0569

0570

0571

0572

0573

0574

0575

0576

0577

0578

0579

0580

0581

0582

 

0583

0584

0585

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.26 TC-133-11 - Create, Re-key Key Pair

Create a public/private key pair on the server and retrieve the keys in PKCS_1 format. Re-key the key pair and retrieve the new public/private key pair in transparent format. To verify that the links are set correctly, the Link attributes are retrieved. Finally, all the keys are destroyed.

Note: a server is not required to support conversion between key formats so returning keys in Transparent form when registerd in PKCS_1 may not be supported.

 

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

0048

0049

0050

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="CreateKeyPair"/>

    <RequestPayload>

      <CommonTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="RSA"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="2048"/>

        </Attribute>

      </CommonTemplateAttribute>

      <PrivateKeyTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-133-11-privateKey1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Sign"/>

        </Attribute>

      </PrivateKeyTemplateAttribute>

      <PublicKeyTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-133-11-publicKey1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify"/>

        </Attribute>

      </PublicKeyTemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

 

0065

 

0066

0067

0068

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:39+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="CreateKeyPair"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <PrivateKeyUniqueIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

      <PublicKeyUniqueIdentifier type="TextString"                  value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

 

0081

0082

0083

0084

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

0111

0112

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:39+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_1"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="308204a30201000282010100b0612bccafdd11d41819a274526d68dbf3c3f25667c402a0e0e8e4cce007ea6b6ea53699e8bd7ccab7d5ae66c00b28fd678b81ba1d4e841c3a36caf13f852004633f80d840be7aad9bcdeabde11514b6ab3bce602e11305cf5e9c34ebee32c3c468b9b146502738c0ae82e63ab8bd1fc4db0c6a09eb0c9f6e01b9cc8d22317aedab328209a1dc5d2ce8529d81521c41730c1c8c76249d233e89096ca44dfeb469e3532bb90d6691c6932d0c63dbb7647c6e64337b719a1f100b1366cff3bbb213b17c716beb2c9ad88b3b76abacc378c4898636480fff1108e1fa1e7573c096606e21b18a05245ebd976701bb676dc2962a328d39385ef7571bc48ae134b374102030100010282010037b71a3cd838bf0efe65ea9950085b9d4f4d5059d70165cb2800a975c636f9e7e1d5b27fbfb34b9e459fec2d6cf0998c228f40f567988bc6d6e4c40a9d04126f1062d8f276d134b36e8a0762df9ce72424c70993fc3955cba7aaa61553db32f7ff58ce2e0d124f29a7b05c2703e370fb80171d47539988d2c14c37a4802cb1a7f5685bcc78865480ca4e5d367cafc8b533e610620f94f54a082effc4c4e50998410dd32fa7dedae895200b56437fe177f47d1b373b5e8e0c62f64b3a19e5918be83e90a1bbe195a4b516f3ceae6db35b0e4427858631dcbce6b1e49cf12345297df41e54d2cbc2834c34e37bb92888e4659d232a4f3d22edeb9bff43b7881c7902818100eab386180dec393c70c8b00c5fae6a10e6b620ae82e5096ce11bf4c539a015165a7481227e91492748159d85317d1e81b780cca1cf19630a10987b940663a2496a4ead2ed4bfb7017dc813e7a49017aa278b8ac1381ef27fde54ed4a1ee1e74812dcaee514cb9d48590eb3972b26ba2f21de0aab64cfc1dbcba32561f5f31d6f02818100c062be5756e93ebe005be752a5b7be2d35b342e483ff266cc9f595edbcffff603c8e03dcd9350a19fabf434077f9543088132f0e843c2da6fe4f1cedee49a5eb9a8aea1219a41c1db39252196137a041def9edcff43aa9280d90be137dbf48777e6055695f58fcc9cd6b07924fdab47a5553f5ad7b82d52553f6ec3f647ffe4f0281804221676d2baf1dc97bf5f034ec58d6a6007bdce58f183df9a1cc20c1d9a4d38c42dc84ee553f569f6cde3a4e274d9be4ecf1abb70405a1345accbc354f3f8fa0a4059b2290eb9c031d8fdc9bee70735a8c5df330d241560ed574948fc7f7db1521cb70b43791cfb56cf28983d4b2cacf30f9c183dd99f4839bf3523b31f3d89d0281806cbe63c0928bbcbf410cb1b071a36e87b776e034b2b7a24c93cb913794414f64625613b0ddc5b134061bde33ae9cec0d929ce5585b3e78bf8fb7c02e6d268bf6a4a028b69a6fbcc4bd1fd3f02c9778aa43131a6d152ba339d491201f7c5086f1a429679dec1b2ca814c88ebb11101a3b9bc79d72b601b9e12398cae8fa31aed90281810099777cd45f0d1a862888eb2cf7ac14d22d75b88e99adf66f15cccbd29979bf5eaa90bb8c29b29a8be1257425a9a2db2f493df4a740c7fbc138e4b4d80f24e7ca11d63528d900ba2dd5c44da59e2d601544ec92681161f17b86c838694a49a978f76ff05287bfce0704c6f3f9fa87551d0cf1a970b2cb130b5320783a36ea8613"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

 

0125

0126

0127

0128

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

 

0144

0145

0146

0147

0148

 

 

 

 

 

 

 

 

 

0149

0150

0151

0152

0153

0154

0155

0156

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:39+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_1"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3082010a0282010100b0612bccafdd11d41819a274526d68dbf3c3f25667c402a0e0e8e4cce007ea6b6ea53699e8bd7ccab7d5ae66c00b28fd678b81ba1d4e841c3a36caf13f852004633f80d840be7aad9bcdeabde11514b6ab3bce602e11305cf5e9c34ebee32c3c468b9b146502738c0ae82e63ab8bd1fc4db0c6a09eb0c9f6e01b9cc8d22317aedab328209a1dc5d2ce8529d81521c41730c1c8c76249d233e89096ca44dfeb469e3532bb90d6691c6932d0c63dbb7647c6e64337b719a1f100b1366cff3bbb213b17c716beb2c9ad88b3b76abacc378c4898636480fff1108e1fa1e7573c096606e21b18a05245ebd976701bb676dc2962a328d39385ef7571bc48ae134b37410203010001"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

 

0169

0170

0171

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKeyKeyPair"/>

    <RequestPayload>

      <PrivateKeyUniqueIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

 

0186

 

0187

0188

0189

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKeyKeyPair"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <PrivateKeyUniqueIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

      <PublicKeyUniqueIdentifier type="TextString"                  value="$UNIQUE_IDENTIFIER_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

 

0208

 

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

 

0222

0223

0224

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="f409f9adc43f836f"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-133-11-privateKey1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="396c4d8b5bde0667"/>

    <RequestPayload>

      <KeyFormatType type="Enumeration"                             value="TransparentRSAPrivateKey"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

 

0240

0241

0242

0243

0244

0245

0246

0247

0248

 

0249

0250

0251

 

0252

0253

0254

 

 

 

 

 

 

 

 

0255

 

 

 

 

 

 

 

 

0256

 

0257

 

 

 

 

 

0258

 

 

 

 

 

0259

 

 

 

 

 

0260

 

 

 

 

 

0261

 

 

 

 

 

0262

0263

0264

0265

0266

0267

0268

0269

0270

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="f409f9adc43f836f"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="396c4d8b5bde0667"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration"                         value="TransparentRSAPrivateKey"/>

          <KeyValue>

            <KeyMaterial>

              <Modulus type="BigInteger"                            value="0000000000000000eab4492bbb2364359408c57b8af47003572c81aaed719ed92d9b13c741cc196b717d1c98f0c250580e37ac3ade11a7cd1aaede3a0424b53d33200510ce7eef71ded7e96e585d1d7ba3767a8dbfad4d2701b5831a34552a827fc2cd398e659fd5063e1dfd28a994b0e6a7449bbad8dcf40e22943b841aa9e58519fa3575b4409abfeb57f5723b45f7ce4e5277a2d0acccbcd49608d6ff8a7c933d4d70a9e8c8df24829b58404a5af1b0d4c8668c35e3549e28204f2249bfc13b20c05ab0252c975e53f604f68c6e498c7b14adb72debac91221a8eb1ad581080144eb8900b4bf9d9792be37ec6191ad183e2b60b80174eecb66ca08c3ac07f51ba1c056130ec69"/>

              <PrivateExponent type="BigInteger"                    value="42e22587e4c86d2227916855907f9ffc13b7872c228622725960bbfe286df5407d12de376744b8889f64961c20747f911f6d7dbea2b7a33e51776a7a239e60b5de7f40f2451423f6bbda638a497925675c41519f0212d30e65422a21a0c6ad0993c1d7e1f0d8829af6dfebd94521cfb56ce1c5c4401d2915531cd804ac0a35ee57d2a43ffd7671aeaad0ab090f17f8419073445ac6fb218bd3c7c5beb9f3e7bf41e4e5f9632d8492eb0cb2ada41083e040535ae409ad866d1998a0335f253cda2d21a95b2feebacee64b969aaccab322fa0ecbc75c3f0c15c267dbf431abedecae191b72000b612e41e65eb93c9f08eef67740b84ba32d9c5697ed91e1c8ccd1"/>

              <PublicExponent type="BigInteger"                     value="0000000000010001"/>

              <P type="BigInteger"                                  value="0000000000000000f88c737435b8b3f5bdb2b2eb73dd5a665e2ee56c64e055169038f754ed3021d3e72ae82234dacd4a5fa12edeb4874b70c5915bba4571bef55964389d8a4b8a79b628771bb4d634fbd18a27ab5fb6973309c4af9e27d269b1c4054b62012d1c52847e3679f71f91cf7ff6b646c9edaafe5b46845fc1190fa0ef80b8a45de63973"/>

              <Q type="BigInteger"                                  value="0000000000000000f1bd952150d189707c316486f205429680230505581b40ed503901bef82cec4e2a0a564c58365e8c82b7d34a0305d407194b1d15c273015d1212969906267322827303b276d0c7585a21ee6758a74e95bfecc5b544686325754e5d2602f0d5734c58f870aa2ca00e08122e940e4d6d0e11611d47966482df8845b8ff88d1fbb3"/>

              <PrimeExponentP type="BigInteger"                     value="0000000000000000e9717156eac62a305b15a63ac33e5a13dfce0829c0ad7afd904410f9b1350df0ab247f96f131b8b36c1245a562c5d833793cc77cb290dd1c2ff393c1540d1368b1905c1ea7c0b14efb45d9707a9b5273db6ee2cb96f767d2511befeb82d34dd0ab24a821f1dbb2e5c3788347058db696e43fdd40da6aa16534ce1f9e319b74c5"/>

              <PrimeExponentQ type="BigInteger"                     value="0000000000000000eb6294819a364dc3afca507e6dcedd65ba635f12331666842d6734e204b989671adc71e768c5980eed819d4525e858ea88a07133ace15ae48b227a6d8a658a1a823707d49088fe72736132c882b4767aae2518e64633f6c69490b776b9ca53ad2f1c3add4976a66ac34521019d639adae5e5502352b7900fa49b6f65b28df4ad"/>

              <CRTCoefficient type="BigInteger"                     value="0000000000000000cc75a52cab58eb65878acf7c19070c0a495d5376f40b86531b98b1e3b44e28d39db55898db8aa317ce214814efdd00c1d234d4c27168710a1a68cfdae310f1a56e17e1a51f43d069137beeb7a6aeef4da2b3dfde54d222e24c77209dc5c8c831b8f09f816d3ee628e76e93bae2594229a59b36ea1f507be2db99ae358896956e"/>

            </KeyMaterial>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

 

0289

 

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

 

0303

0304

0305

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="5df01d7748d64a16"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-133-11-publicKey1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="7c7f588280a61c24"/>

    <RequestPayload>

      <KeyFormatType type="Enumeration"                             value="TransparentRSAPublicKey"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

0320

 

0321

0322

0323

0324

0325

0326

0327

0328

0329

 

0330

0331

0332

 

0333

0334

0335

 

 

 

 

 

 

 

 

0336

 

0337

0338

0339

0340

0341

0342

0343

0344

0345

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="5df01d7748d64a16"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="7c7f588280a61c24"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration"                         value="TransparentRSAPublicKey"/>

          <KeyValue>

            <KeyMaterial>

              <Modulus type="BigInteger"                            value="0000000000000000eab4492bbb2364359408c57b8af47003572c81aaed719ed92d9b13c741cc196b717d1c98f0c250580e37ac3ade11a7cd1aaede3a0424b53d33200510ce7eef71ded7e96e585d1d7ba3767a8dbfad4d2701b5831a34552a827fc2cd398e659fd5063e1dfd28a994b0e6a7449bbad8dcf40e22943b841aa9e58519fa3575b4409abfeb57f5723b45f7ce4e5277a2d0acccbcd49608d6ff8a7c933d4d70a9e8c8df24829b58404a5af1b0d4c8668c35e3549e28204f2249bfc13b20c05ab0252c975e53f604f68c6e498c7b14adb72debac91221a8eb1ad581080144eb8900b4bf9d9792be37ec6191ad183e2b60b80174eecb66ca08c3ac07f51ba1c056130ec69"/>

              <PublicExponent type="BigInteger"                     value="0000000000010001"/>

            </KeyMaterial>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

0357

 

0358

0359

0360

0361

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

 

0376

0377

0378

0379

0380

 

0381

0382

0383

0384

0385

0386

0387

0388

 

0389

0390

0391

0392

0393

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_3"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="ReplacedObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0394

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

 

0406

0407

0408

0409

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

0421

0422

0423

 

0424

0425

0426

0427

0428

 

0429

0430

0431

0432

0433

0434

0435

0436

 

0437

0438

0439

0440

0441

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="ReplacedObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0442

0443

0444

0445

0446

0447

0448

0449

0450

0451

0452

0453

 

0454

0455

0456

0457

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

0468

0469

0470

0471

 

0472

0473

0474

0475

0476

 

0477

0478

0479

0480

0481

0482

0483

 

0484

 

0485

0486

0487

0488

0489

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration"                              value="ReplacementObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0490

0491

0492

0493

0494

0495

0496

0497

0498

0499

0500

0501

 

0502

0503

0504

0505

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0506

0507

0508

0509

0510

0511

0512

0513

0514

0515

0516

0517

0518

0519

 

0520

0521

0522

0523

0524

 

0525

0526

0527

0528

0529

0530

0531

 

0532

 

0533

0534

0535

0536

0537

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration"                              value="ReplacementObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_3"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0538

0539

0540

0541

0542

0543

0544

0545

0546

0547

0548

0549

 

0550

0551

0552

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0553

0554

0555

0556

0557

0558

0559

0560

0561

0562

0563

0564

0565

0566

 

0567

0568

0569

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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>

 

0570

0571

0572

0573

0574

0575

0576

0577

0578

0579

0580

0581

 

0582

0583

0584

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0585

0586

0587

0588

0589

0590

0591

0592

0593

0594

0595

0596

0597

0598

 

0599

0600

0601

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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>

 

0602

0603

0604

0605

0606

0607

0608

0609

0610

0611

0612

0613

 

0614

0615

0616

# TIME 12

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0617

0618

0619

0620

0621

0622

0623

0624

0625

0626

0627

0628

0629

0630

 

0631

0632

0633

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0634

0635

0636

0637

0638

0639

0640

0641

0642

0643

0644

0645

 

0646

0647

0648

# TIME 13

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0649

0650

0651

0652

0653

0654

0655

0656

0657

0658

0659

0660

0661

0662

 

0663

0664

0665

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.27 TC-134-11 - Register Key Pair, Certify and Re-certify Public Key

Register a public/private key pair on the server. Request the server to have a certificate created using the Certify operation. Retrieve the certificate and its attributes, then execute the Re-certify operation to re-certify the public key. Finally, destroy all the objects.

The new KMIP 1.1 certificate DN attributes are retrieved as are the original (deprecated) KMIP 1.0 certificate DN attributes.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-134-11-pubkey1"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-134-11-prikey1"/>

        </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>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0172

0173

0174

 

0175

0176

0177

0178

0179

0180

 

0181

 

0182

0183

0184

0185

0186

0187

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Certify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CertificateRequestType type="Enumeration" value="PKCS_10"/>

      <CertificateRequest type="ByteString"                         value="3082028130820169020100303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e7430820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a000300d06092a864886f70d010105050003820101002d90f5492c3df1771df4e87e1087cb952197319a9696e2d588efda580d8d3304427b997cd921ad7c674aea413fba85fd61e6a481de9ab2e8a4ff43c02655015d3437f783fe0c781519cd08ffd3c007c7fade9632fe5659e2cac35bd6aaf3e13dc18097d996df01b66fc5e26ca109380863a209125cc0fd79533f327fa1cad444d89d3ff81b92a91428c469c846090fd1324846e12d01671962c332a7826152daaf486cc867185c2e27caf2f009898db07fe4b45c518192aa493d8f8c0198db67f90672ab6de05a08032941377f473d80716d85adc6182003ab34942302214eb3895f15403f2616adfd6bb5e6aa47fa38c9dfc73f4de80ddb91bdb04d21c82ba6"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-134-11-certificate1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Certify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0220

0221

0222

0223

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="30820277308201e0a0030201020209009bba23d1b6a48f97300d06092a864886f70d01010b0500303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950301e170d3133303631383038353535375a170d3134303631383038353535375a303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e7430820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001300d06092a864886f70d01010b050003818100c4fe08d5bd74239648c7faabaed0978527ac01a0fd17b8a65c0d92501c4eab3f487511062eafedc1024e74dc6bfdaae7f66d1fdda7574f6db3f03c6de83586b52c593a4671001a0531bc43eff4849880b07924b7a9a0236d5d64d82d4d8e42dcd3a72c80728804f9ba7f0e80c3fe3eb09cb3ed7fbfbb2167c99be513ff9db0b6"/>

      </Certificate>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

 

0271

 

0272

0273

 

0274

 

0275

 

0276

 

0277

0278

0279

0280

0281

 

0282

0283

0284

0285

0286

0287

0288

0289

 

0290

0291

0292

0293

0294

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Certificate Length"/>

      <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

      <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

      <AttributeName type="TextString" value="X.509 Certificate Subject"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="Fresh"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Name"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Last Change Date"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

 

0307

 

0308

0309

0310

0311

 

0312

 

0313

0314

 

0315

 

0316

 

0317

0318

0319

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Certificate Length"/>

      <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

      <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

      <AttributeName type="TextString" value="X.509 Certificate Subject"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

 

0334

0335

 

0336

0337

 

0338

0339

0340

0341

0342

 

0343

0344

 

0345

0346

0347

0348

 

0349

0350

 

0351

0352

0353

0354

0355

0356

0357

0358

 

0359

 

0360

0361

0362

 

0363

0364

0365

0366

 

0367

0368

0369

0370

 

0371

0372

 

 

0373

 

0374

0375

0376

0377

 

0378

0379

 

 

0380

0381

0382

0383

 

0384

0385

 

 

0386

0387

0388

0389

0390

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Identifier"/>

        <AttributeValue>

          <Issuer type="TextString"                                 value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

          <SerialNumber type="TextString" value="9BBA23D1B6A48F97"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Issuer"/>

        <AttributeValue>

          <CertificateIssuerDistinguishedName type="TextString"     value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Subject"/>

        <AttributeValue>

          <CertificateSubjectDistinguishedName type="TextString"    value="CN=Client,OU=KMIP,O=ACME,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Type"/>

        <AttributeValue type="Enumeration" value="X_509"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Digital Signature Algorithm"/>

        <AttributeValue type="Enumeration"                          value="SHA_256WithRSAEncryption"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Cryptographic Length"/>

        <AttributeValue type="Integer" value="2048"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Length"/>

        <AttributeValue type="Integer" value="635"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

        <AttributeValue>

          <IssuerDistinguishedName type="ByteString"                value="303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950"/>

          <CertificateSerialNumber type="ByteString"                value="0209009bba23d1b6a48f97"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

        <AttributeValue>

          <IssuerDistinguishedName type="ByteString"                value="303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Subject"/>

        <AttributeValue>

          <SubjectDistinguishedName type="ByteString"               value="303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e74"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0391

0392

0393

0394

0395

0396

0397

0398

0399

0400

0401

0402

 

0403

0404

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0405

0406

0407

 

0408

0409

0410

0411

0412

0413

 

0414

 

0415

0416

0417

0418

0419

0420

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReCertify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <CertificateRequestType type="Enumeration" value="PKCS_10"/>

      <CertificateRequest type="ByteString"                         value="3082028130820169020100303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e7430820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a000300d06092a864886f70d010105050003820101002d90f5492c3df1771df4e87e1087cb952197319a9696e2d588efda580d8d3304427b997cd921ad7c674aea413fba85fd61e6a481de9ab2e8a4ff43c02655015d3437f783fe0c781519cd08ffd3c007c7fade9632fe5659e2cac35bd6aaf3e13dc18097d996df01b66fc5e26ca109380863a209125cc0fd79533f327fa1cad444d89d3ff81b92a91428c469c846090fd1324846e12d01671962c332a7826152daaf486cc867185c2e27caf2f009898db07fe4b45c518192aa493d8f8c0198db67f90672ab6de05a08032941377f473d80716d85adc6182003ab34942302214eb3895f15403f2616adfd6bb5e6aa47fa38c9dfc73f4de80ddb91bdb04d21c82ba6"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-134-11-certificate2"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0421

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

 

0435

0436

0437

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReCertify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

 

0450

0451

0452

0453

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0454

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

 

0468

0469

0470

0471

0472

 

0473

0474

0475

0476

0477

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0478

0479

0480

0481

0482

0483

0484

0485

0486

0487

0488

0489

 

0490

0491

0492

0493

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0494

0495

0496

0497

0498

0499

0500

0501

0502

0503

0504

0505

0506

0507

 

0508

0509

0510

0511

0512

 

0513

0514

0515

0516

0517

0518

0519

0520

 

0521

0522

0523

0524

0525

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_3"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0526

0527

0528

0529

0530

0531

0532

0533

0534

0535

0536

0537

 

0538

0539

0540

0541

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0542

0543

0544

0545

0546

0547

0548

0549

0550

0551

0552

0553

0554

0555

 

0556

0557

0558

0559

0560

 

0561

0562

0563

0564

0565

0566

0567

 

0568

 

0569

0570

0571

0572

0573

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration"                              value="ReplacementObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_3"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0574

0575

0576

0577

0578

0579

0580

0581

0582

0583

0584

0585

 

0586

0587

 

0588

0589

0590

0591

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0592

0593

0594

0595

0596

0597

0598

0599

0600

0601

0602

0603

0604

0605

 

0606

0607

0608

0609

0610

 

0611

0612

0613

0614

0615

0616

0617

0618

 

0619

0620

0621

0622

 

0623

0624

 

0625

0626

0627

0628

0629

0630

0631

 

0632

 

0633

0634

0635

0636

0637

0638

0639

 

0640

 

0641

0642

0643

0644

0645

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="ReplacedObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Identifier"/>

        <AttributeValue>

          <Issuer type="TextString"                                 value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

          <SerialNumber type="TextString" value="CF77F7A23282BC12"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-134-11-certificate1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-134-11-certificate2"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0646

0647

0648

0649

0650

0651

0652

0653

0654

0655

0656

0657

 

0658

0659

0660

# TIME 12

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0661

0662

0663

0664

0665

0666

0667

0668

0669

0670

0671

0672

0673

0674

 

0675

0676

0677

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0678

0679

0680

0681

0682

0683

0684

0685

0686

0687

0688

0689

 

0690

0691

0692

# TIME 13

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0693

0694

0695

0696

0697

0698

0699

0700

0701

0702

0703

0704

0705

0706

 

0707

0708

0709

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0710

0711

0712

0713

0714

0715

0716

0717

0718

0719

0720

0721

 

0722

0723

0724

# TIME 14

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0725

0726

0727

0728

0729

0730

0731

0732

0733

0734

0735

0736

0737

0738

 

0739

0740

0741

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0742

0743

0744

0745

0746

0747

0748

0749

0750

0751

0752

0753

 

0754

0755

0756

# TIME 15

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0757

0758

0759

0760

0761

0762

0763

0764

0765

0766

0767

0768

0769

0770

 

0771

0772

0773

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.28 TC-141-11 - Key Wrapping using AES Key Wrap and No Encoding

Register a 128-bit AES key encryption key (KEK) with the Cryptographic Usage Mask attribute set to Wrap and the Cryptographic Parameters specifying NIST Key Wrap as the Block Cipher Mode. Subsequently, register another 128-bit AES data key (DEK). Retrieve the DEK wrapped using the NIST Key Wrap algorithm and the KEK. The Cryptographic Usage Mask Attribute Name is specified, indicating to the server that this attribute is to be wrapped together with the key material. The Encoding Option field is omitted, which means that the default TTLV-encoding is used. Finally, destroy both keys to return the server to the initial state.

The key material for both the KEK and the DEK are from the test vectors specified in Section 4.6 of [NISTKeyWrap].

 

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

0048

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-141-11-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="WrapKey"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration"                     value="NISTKeyWrap"/>

          </AttributeValue>

        </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="000102030405060708090a0b0c0d0e0f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

 

0063

0064

0065

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-141-11-key2"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

 

0118

0119

0120

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

 

0133

0134

0135

0136

 

0137

0138

 

0139

0140

0141

0142

0143

0144

0145

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyWrappingSpecification>

        <WrappingMethod type="Enumeration" value="Encrypt"/>

        <EncryptionKeyInformation>

          <UniqueIdentifier type="TextString"                       value="$UNIQUE_IDENTIFIER_0"/>

          <CryptographicParameters>

            <BlockCipherMode type="Enumeration"                     value="NISTKeyWrap"/>

          </CryptographicParameters>

        </EncryptionKeyInformation>

        <EncodingOption type="Enumeration" value="NoEncoding"/>

      </KeyWrappingSpecification>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

 

0161

0162

0163

0164

 

0165

0166

0167

0168

0169

0170

 

0171

0172

 

0173

0174

0175

0176

0177

0178

0179

0180

0181

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue type="ByteString"                               value="1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5"/>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

          <KeyWrappingData>

            <WrappingMethod type="Enumeration" value="Encrypt"/>

            <EncryptionKeyInformation>

              <UniqueIdentifier type="TextString"                   value="$UNIQUE_IDENTIFIER_0"/>

              <CryptographicParameters>

                <BlockCipherMode type="Enumeration"                 value="NISTKeyWrap"/>

              </CryptographicParameters>

            </EncryptionKeyInformation>

            <EncodingOption type="Enumeration" value="NoEncoding"/>

          </KeyWrappingData>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

 

0194

0195

0196

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

 

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

0222

0223

0224

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

 

0237

0238

0239

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

 

0269

0270

 

0271

0272

0273

0274

# 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>

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

 

0289

0290

0291

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

 

0304

0305

0306

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

0320

 

0321

0322

0323

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

2.2.29 TC-142-11 - Key Wrapping using AES Key Wrap with Attributes

Register a 128-bit AES key encryption key (KEK) with the Cryptographic Usage Mask attribute set to Wrap and the Cryptographic Parameters specifying NIST Key Wrap as the Block Cipher Mode. Subsequently, register another 128-bit AES data key (DEK). Retrieve the data key wrapped using the NIST Key Wrap algorithm and the KEK. The Encoding Option is set to No Encoding, which means that only the key material is wrapped as opposed to the whole TTLV-encoded Key Value structure being wrapped. Finally, destroy both keys to return the server to the initial state.  The key material for both the KEK and the DEK are from the test vectors specified in Section 4.6 of [NISTKeyWrap].

 

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

0048

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-142-11-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="WrapKey"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration"                     value="NISTKeyWrap"/>

          </AttributeValue>

        </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="000102030405060708090a0b0c0d0e0f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

 

0063

0064

0065

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-142-11-key2"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

 

0118

0119

0120

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

 

0133

0134

0135

0136

 

0137

0138

 

0139

0140

0141

 

0142

0143

0144

0145

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyWrappingSpecification>

        <WrappingMethod type="Enumeration" value="Encrypt"/>

        <EncryptionKeyInformation>

          <UniqueIdentifier type="TextString"                       value="$UNIQUE_IDENTIFIER_0"/>

          <CryptographicParameters>

            <BlockCipherMode type="Enumeration"                     value="NISTKeyWrap"/>

          </CryptographicParameters>

        </EncryptionKeyInformation>

        <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      </KeyWrappingSpecification>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

 

0161

0162

0163

0164

 

 

 

0165

0166

0167

0168

0169

0170

 

0171

0172

 

0173

0174

0175

0176

0177

0178

0179

0180

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue type="ByteString"                               value="0dc0f8cb416e7b4422d85805d3dd80e49c6c75f763d1be99748de568e4eecdc05b94b1c1946fd3def14cfe184daada0daf07c93e038ceb9f501bdd8a82c7d6b33152dbf9d415924b9f13f6cb75ff880ab09dc862e473f74bdaf9398ec7695d41"/>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

          <KeyWrappingData>

            <WrappingMethod type="Enumeration" value="Encrypt"/>

            <EncryptionKeyInformation>

              <UniqueIdentifier type="TextString"                   value="$UNIQUE_IDENTIFIER_0"/>

              <CryptographicParameters>

                <BlockCipherMode type="Enumeration"                 value="NISTKeyWrap"/>

              </CryptographicParameters>

            </EncryptionKeyInformation>

          </KeyWrappingData>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

 

0193

0194

0195

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

 

0211

0212

0213

0214

0215

 

0216

0217

0218

0219

0220

0221

0222

0223

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0224

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

 

0236

0237

0238

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

 

0253

0254

0255

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

 

0268

0269

 

0270

0271

0272

0273

# 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>

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

 

0288

0289

0290

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

 

0303

0304

0305

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

 

0320

0321

0322

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

2.2.30 TC-151-11 - Locate a Fresh Object from the Default Group

Locate a single fresh object from the default object group. Perform a Get Attribute to retrieve the value of the Fresh attribute to make sure that the key is fresh. Get the object (the kind of object returned depends on the server policy), and get the Fresh attribute again to verify that the object is no longer fresh. Finally, destroy the object.  This test case illustrates only one possible behavior related to the default group. In this test case, it is assumed that the server has fresh objects available in the default group, or that it creates a new object on-the-fly as a consequence of the Locate request. It is also assumed that no other client retrieves the object after the Locate but before the batched Get Attributes request, thereby toggling the value of the Fresh attribute.

 

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

# TIME 0

<RequestMessage>  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="1e766d8a95d6e5d1"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberFresh"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="default"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="8650f83be5373722"/>

    <RequestPayload>

      <AttributeName type="TextString" value="Fresh"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0029

0030

0031

0032

0033

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

 

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

0055

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="1e766d8a95d6e5d1"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="8650f83be5373722"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="7fe09d434868ae14a0021ac19330f8d9226790d680e519f8ac25f42d72f60f0c"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

 

0114

0115

0116

0117

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Fresh"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

0136

0137

0138

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="false"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

2.2.31 TC-152-11 - Client-side Group Management

Register two symmetric keys, both with the same (non-default) Object Group name specified and the Fresh attribute set to true. Get the Fresh attribute from both keys to make sure it was set. Perform three batched Locate and Get requests to get a fresh key from the group. The first two requests should return both the registered keys, whereas the third request should return no key. To clean up, destroy both keys.  This test case assumes that the server supports and sets the Fresh attribute when requested to do so by the client.

 

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

0048

0049

0050

0051

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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 Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString"                         value="ClientFreshTest"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Fresh"/>

          <AttributeValue type="Boolean" value="true"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-152-11-key1"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

 

0066

0067

0068

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

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

0111

 

 

0112

0113

0114

0115

0116

0117

0118

0119

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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 Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString"                         value="ClientFreshTest"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Fresh"/>

          <AttributeValue type="Boolean" value="true"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-152-11-key2"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

0133

 

0134

0135

0136

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

 

0149

0150

0151

0152

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Fresh"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

 

0167

0168

0169

0170

0171

0172

0173

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

 

0186

0187

0188

0189

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Fresh"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

 

0204

0205

0206

0207

0208

0209

0210

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

 

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="294fb5e3e93f8ecc"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberFresh"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="ClientFreshTest"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="9da79a935d4e4ae6"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

0257

0258

0259

0260

0261

0262

 

0263

0264

0265

0266

0267

 

 

0268

0269

0270

0271

0272

0273

0274

0275

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="294fb5e3e93f8ecc"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="9da79a935d4e4ae6"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

 

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="85e3e21d14d6df1d"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberFresh"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="ClientFreshTest"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="40feae5ec1bda875"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

 

0319

0320

0321

0322

0323

0324

0325

0326

0327

 

0328

0329

0330

0331

0332

 

 

0333

0334

0335

0336

0337

0338

0339

0340

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="85e3e21d14d6df1d"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="40feae5ec1bda875"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

 

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="657339bdf375bfa2"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberFresh"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="ClientFreshTest"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="5713c4911444b36e"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="657339bdf375bfa2"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="5713c4911444b36e"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ItemNotFound"/>

    <ResultMessage type="TextString" value="NOT_FOUND"/>

  </BatchItem>

</ResponseMessage>

 

0393

0394

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

 

0405

0406

0407

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0408

0409

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

0421

 

0422

0423

0424

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+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>

 

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

0436

 

0437

0438

0439

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

0450

0451

0452

0453

 

0454

0455

0456

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+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>

 

2.2.32 TC-153-11 - Default Object Group Member

This test case exercises the 'default' Object Group Member flag in the Locate request. Three keys are created on the server and put into the same group (the Object Group attribute is set to the same value for all keys). Thereafter, the client performs four batched Locate and Get requests, asking for the default object from the group.  This test case assumes that the server policy is such that it serves objects from the group in a round-robin fashion. The pointer to the default object is advanced each time an object is retrieved using a Get request. The first three times Locate and Get is executed, the three keys are returned one after the other. When Locate and Get is executed for the fourth time, the first key is again returned. Finally, all keys are destroyed.

Note: there is no requirement for a server to implement support for any round-robin based allocation; this test case illustrates a server which supports such a policy.

 

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

0048

0049

 

0050

0051

0052

0053

 

0054

0055

0056

0057

0058

 

0059

0060

0061

0062

0063

0064

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="3"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="75e8bdb337aec40e"/>

    <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="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString"                         value="RoundRobinTestGroup"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-153-11-key1"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="ac0e6e56e8d99f66"/>

    <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="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString"                         value="RoundRobinTestGroup"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-153-11-key2"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="77e87d356ba09da1"/>

    <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="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString"                         value="RoundRobinTestGroup"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-153-11-key3"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

 

0113

0114

0115

0116

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="3"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="75e8bdb337aec40e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="ac0e6e56e8d99f66"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="77e87d356ba09da1"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

 

0149

0150

0151

 

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="99e7a6ea0125bb67"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberDefault"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString"                           value="RoundRobinTestGroup"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="0efd9c2e346ee1cb"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

 

0177

0178

0179

0180

0181

0182

0183

0184

0185

 

0186

0187

0188

0189

0190

 

 

0191

0192

0193

0194

0195

0196

0197

0198

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="99e7a6ea0125bb67"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="0efd9c2e346ee1cb"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="bd13da8bce07ea6b89c4d110827bf6a8478cf95edca9bbc278ab04f4cbeecff0"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

 

0214

0215

0216

 

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="0303428f37f17b8d"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberDefault"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString"                           value="RoundRobinTestGroup"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="dae46b60d9b6459b"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

 

0251

0252

0253

0254

0255

 

 

0256

0257

0258

0259

0260

0261

0262

0263

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="0303428f37f17b8d"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="dae46b60d9b6459b"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="430bfb0cbc273e15326e3a23965f7704a13af37a642c37026c9a59694c83b7a3"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0264

0265

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

0278

 

0279

0280

0281

 

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="863c27d7a0d3da5e"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberDefault"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString"                           value="RoundRobinTestGroup"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="c4617b3205e96fb2"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

 

0307

0308

0309

0310

0311

0312

0313

0314

0315

 

0316

0317

0318

0319

0320

 

 

0321

0322

0323

0324

0325

0326

0327

0328

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="863c27d7a0d3da5e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="c4617b3205e96fb2"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="a51b38e400168a25f2f122d7b8543a00daf022e61677a08a33a834f5f52c3097"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

 

0344

0345

0346

 

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="f1ce9893ee5bde19"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberDefault"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString"                           value="RoundRobinTestGroup"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="9a18dd11cc6ce394"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

 

0372

0373

0374

0375

0376

0377

0378

0379

0380

 

0381

0382

0383

0384

0385

 

 

0386

0387

0388

0389

0390

0391

0392

0393

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="f1ce9893ee5bde19"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="9a18dd11cc6ce394"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="bd13da8bce07ea6b89c4d110827bf6a8478cf95edca9bbc278ab04f4cbeecff0"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0394

0395

0396

0397

0398

0399

0400

 

0401

0402

0403

0404

0405

0406

0407

0408

 

0409

0410

0411

0412

0413

0414

0415

 

0416

0417

0418

0419

0420

0421

0422

 

0423

0424

0425

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchErrorContinuationOption type="Enumeration"                value="Continue"/>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="3"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="f4cf0a5614786eb7"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="dd55da10ebe91928"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="18334af52fee87fa"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

0436

0437

0438

0439

0440

 

0441

0442

0443

0444

0445

0446

0447

0448

 

0449

0450

0451

0452

0453

0454

0455

0456

 

0457

0458

0459

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="3"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="f4cf0a5614786eb7"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="dd55da10ebe91928"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="18334af52fee87fa"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.33 TC-161-11 - Discover Versions

Exercise the Discover Versions operation in different ways in order to find out which versions a server supports, as well as to get a list of versions supported by both client and server.

This test case shows the expected responses from a KMIP 1.2 server that supports versions 1.1 and 1.0, with 1.1 being the preferred version.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0015

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

0032

0033

0034

0035

0036

0037

0038

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2011-12-01T08:46:15+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="1"/>

      </ProtocolVersion>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="0"/>

      </ProtocolVersion>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <RequestPayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="0"/>

      </ProtocolVersion>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2011-06-24T12:52:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="0"/>

      </ProtocolVersion>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <RequestPayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="1"/>

      </ProtocolVersion>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2011-12-01T08:46:15+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="1"/>

      </ProtocolVersion>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <RequestPayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="9"/>

        <ProtocolVersionMinor type="Integer" value="31"/>

      </ProtocolVersion>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2011-12-01T08:46:15+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.34 TC-171-11 - Handling of Attributes and Attribute Index Values

This test case illustrates the changes in Attribute and Attribute Index handling introduced in KMIP-1.1. A symmetric key is created on the server, and two Name attributes and the Contact Information attribute is specified for the key. A Get Attributes request containing the Object Type attribute name twice is sent, but this operation fails since a single Attribute Name cannot be specified more than once in a Get Attributes request. The Object Type Attribute is then requested once, and this request succeeds. Thereafter, the Contact Information Attribute is modified, with the Attribute Index value of 0 specified. The Name attribute is deleted without specifying the Attribute Index which succeeds (which would have failed under KMIP-1.0). Finally, the created key is destroyed.

 

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="1"/>

    </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="256"/>

        </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="TC-171-11-name1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-171-11-name2"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Contact Information"/>

          <AttributeValue type="TextString"                         value="admin@localhost"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

 

0063

0064

0065

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+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>

 

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Object Type"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="InvalidMessage"/>

    <ResultMessage type="TextString" value="Attribute Name specified more than once: Object Type"/>

  </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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Object Type"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0115

0116

0117

0118

0119

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

 

0150

0151

0152

0153

0154

0155

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Contact Information"/>

        <AttributeIndex type="Integer" value="0"/>

        <AttributeValue type="TextString" value="donald@localhost"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

 

0172

0173

0174

0175

0176

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Contact Information"/>

        <AttributeValue type="TextString" value="donald@localhost"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

 

0189

0190

0191

0192

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

 

0207

0208

0209

0210

0211

 

0212

0213

0214

0215

0216

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-171-11-name1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

 

0229

0230

0231

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

 

0246

0247

0248

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+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>

 

2.2.35 TC-181-11 - Digests of Symmetric Keys

Exercise the Digest attribute by registering two symmetric keys with the same key material but using different Key Format Type. The Digest Value for the key with the Key Format Type set to Transparent Symmetric Key is calculated on the TTLV-encoded Key Material structure, whereas the Digest Value for the key registered in the Raw Key Format Type is calculated on the raw Key Material Byte String. The server calculates the value of the mandatory Digest attribute instance using the Key Format Type used by the client when registering the keys. Thereafter, the client asks the server to create a symmetric key using the Create operation. In this situation, it is up to the server to choose what Key Format Type of the created key it uses to calculate the Digest Value.

Note: This test case assumes a server that does not compute any additional Digest attributes using another Hashing Algorithm and/or Key Format Type. A server is permitted to provide multiple Digest attributes.

 

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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 Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-181-11-key1"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

 

0058

0059

0060

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Digest"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="6c064fe051add11edc07727b594eb48711df843e08445bba2cd786bc16bc58e8"/>

          <KeyFormatType type="Enumeration" value="Raw"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

 

0117

0118

0119

0120

 

0121

0122

0123

0124

 

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

 

0135

0136

0137

 

 

0138

0139

0140

0141

0142

0143

0144

0145

0146

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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 Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-181-11-key2"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration"                         value="TransparentSymmetricKey"/>

          <KeyValue>

            <KeyMaterial>

              <Key type="ByteString"                                value="0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff"/>

            </KeyMaterial>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

 

0161

0162

0163

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

 

0176

0177

0178

0179

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Digest"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0180

0181

0182

0183

0184

0185

0186

0187

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="499ce96ff6f5e19fe9fe7a2fe4c3e92b88db0001a4e8df28d9966856b6c4b87c"/>

          <KeyFormatType type="Enumeration"                         value="TransparentSymmetricKey"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

 

0224

0225

0226

0227

 

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-181-11-key3"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

 

0253

0254

0255

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

 

0268

0269

0270

0271

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Digest"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

 

0286

0287

0288

0289

0290

 

 

0291

0292

0293

0294

0295

0296

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="314b223505091db03325c638a6016cf7080d3b116eb3f4896b6d24d4ec2215f8"/>

          <KeyFormatType type="Enumeration" value="Raw"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

 

0309

0310

0311

0312

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <KeyFormatType type="Enumeration" value="Raw"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

 

0328

0329

0330

0331

0332

 

 

0333

0334

0335

0336

0337

0338

0339

0340

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="c1a99ac4716d4ea787d40b449d7b816f0ce82772b463cbf3a042b3f8e81e7bb7"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

 

0353

0354

0355

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

 

0370

0371

0372

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

0373

0374

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

 

0385

0386

0387

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0388

0389

0390

0391

0392

0393

0394

0395

0396

0397

0398

0399

0400

0401

 

0402

0403

0404

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

0415

0416

 

0417

0418

0419

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0420

0421

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

 

0434

0435

0436

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.36 TC-182-11 - Digests of RSA Private Keys

Exercise the Digest attribute by registering two RSA private keys with the same key material but using different Key Format Type. The Digest Value for the key with the Key Format Type set to Transparent RSA Private Key is calculated on the TTLV-encoded Key Material structure, whereas the Digest Value for the key registered in the PKCS_1 Key Format Type is calculated on the Key Material Byte String. The server calculates the value of the mandatory Digest attribute instance using the Key Format Type used by the client when registering the keys.

Note: This test case assumes a server that does not compute any additional Digest attributes using another Hashing Algorithm and/or Key Format Type. A server is permitted to provide multiple Digest attributes.

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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 Algorithm"/>

          <AttributeValue type="Enumeration" value="RSA"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="2048"/>

        </Attribute>

        <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="TC-182-11-prikey1"/>

        </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>

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

 

0058

0059

0060

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

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="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Digest"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="11110a01ed4589d9987c9ad60368e2b762f2b20c00946e1932c1605a18172f55"/>

          <KeyFormatType type="Enumeration" value="PKCS_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

 

0117

0118

0119

0120

 

0121

0122

0123

0124

 

0125

0126

0127

0128

0129

 

0130

0131

0132

0133

0134

 

0135

0136

0137

 

 

 

 

 

 

 

 

0138

 

 

 

 

 

 

 

 

0139

 

0140

 

 

 

 

 

0141

 

 

 

 

 

0142

 

 

 

 

 

0143

 

 

 

 

 

0144

 

 

 

 

 

0145

0146

0147

0148

0149

0150

0151

0152

0153

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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 Algorithm"/>

          <AttributeValue type="Enumeration" value="RSA"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="2048"/>

        </Attribute>

        <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="TC-182-11-prikey2"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration"                         value="TransparentRSAPrivateKey"/>

          <KeyValue>

            <KeyMaterial>

              <Modulus type="BigInteger"                            value="0000000000000000ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f605"/>

              <PrivateExponent type="BigInteger"                    value="3b12455d53c1816516c518493f6398aafa72b17dfa894db888a7d48c0a47f62579a4e644f86da711fec850cdd9dbbd17f69a443d2ec1dd60d3c618fa74cde5fdafabd6baa26eb0a3adb4def6480fb1218cd3b083e252e885b6f0729f98b2144d2b72293e1b11d73393bc41f75b15ee3d7569b4995ed1a14425da4319b7b26b0e8fef17c37542ae5c6d5849f87209567f3925a47b016d564859717bc57fcb4522d0aa49ce816e5be7b3088193236ec9efff140858045b73c5d79baf38f7c67f04c5dcf0e3806ad982d1259058c3473e847179a878f2c6b3bd968fb99ea46e9185892f3676e78965c2aed4877ba3917df07c5e927474f19e764ba61dc38d63bf29"/>

              <PublicExponent type="BigInteger"                     value="0000000000010001"/>

              <P type="BigInteger"                                  value="0000000000000000d5c69c8c3cdc2464744a793713dafb9f1dbc799ff96423fecd3cba794286bce920f4b5c183f99ee9028db6212c6277c4c8297fcfbce7f7c24ca4c51fc7182fb8f4019fb1d5659674c5cbe6d5fa992051341760cd00735729a070a9e54d342beba8ef47ee82d3a01b04cec4a00d4ddb41e35116fc221e854b43a696c0e6419b1b"/>

              <Q type="BigInteger"                                  value="0000000000000000cd5ea7702789064b673540cbff09356ad80bc3d592812eba47610b9fac6aecefe22acae438459cda74e59653d88c04189d34399bf5b14b920e34ef38a7d09fe69593396e8fe735e6f0a6ae4990401041d8a406b6fd86a1161e45f95a3eaa5c1012e6662e44f15f335ac971e1766b2bb9c985109974141b44d37e1e319820a55f"/>

              <PrimeExponentP type="BigInteger"                     value="0000000000000000b2871237bf9fad38c3316ab7877a6a868063e542a7186d431e8d27c19ac0414584033942e9ff6e2973bb7b2d8b0e94ad1ee82158108fbc8664517a5a467fb963014bd5dcc2b4fb087c23039d11920dbe22fd9f16b4d89e23225cd455adbaf32ef43f185864a36d630309d6853f7714b39aae1ebee3938f87c2707e178c739f9f"/>

              <PrimeExponentQ type="BigInteger"                     value="00000000000000009690bed14b2afaa26d986d592231ee27d71d49065bd2ba1f78157e20229881fd9d23227d0f8479eaefa922fd75d5b16b1a561fa6680b040ca0bdce650b23b917a4b1bb7983a74fad70e1c305cbec2bff1a85a726a1d90260e4f1084f518234dcd3fe770b9520215bd543bb6a4117718754676a34171666a79f26e79c149c5aa1"/>

              <CRTCoefficient type="BigInteger"                     value="0000000000000000a0c985a0a0a791a659f99731134c44f37b2e520a2cea35800ad27241ed360dfde6e8ca614f12047fd08b76ac4d13c056a0699e2f98a1cac91011294d71208f4abab33ba87aa0517f415baca88d6bac006088fa601d349417e1f0c9b23affa4d496618dbc024986ed690bbb7b025768ff9df8ac15416f489f8129c32341a8b44f"/>

            </KeyMaterial>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PrivateKey>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

 

0183

0184

0185

0186

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Digest"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

 

0201

0202

0203

0204

0205

 

 

0206

 

0207

0208

0209

0210

0211

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="d73bbc51e83332935f912dbfc35c5efc3b7bf8021835ba86b8da4181f74244ac"/>

          <KeyFormatType type="Enumeration"                         value="TransparentRSAPrivateKey"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

 

0224

0225

0226

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

 

0241

0242

0243

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:46+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>

 

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

 

0256

0257

0258

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

0272

 

0273

0274

0275

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:46+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>

 

2.2.37 TC-NP-1-11 - Put

In this test case the client issues a Create request, whereby the server creates a new symmetric key and returns the Unique Identifier. To clean up, the client then performs a Destroy operation to destroy the key.

The server sends Put messages to the client via a separate channel.

 

 

 

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

# TIME 0

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="x-ID"/>

          <AttributeValue type="TextString" value="TC-NP-1-11"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:13:47+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>

 

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

 

0064

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

0111

0112

0113

 

0114

0115

0116

0117

 

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

# TIME 1

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PutFunction type="Enumeration" value="New"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="7546ef6cd37c49806824984477987d1e"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

      <Attribute>

        <AttributeName type="TextString" value="x-ID"/>

        <AttributeValue type="TextString" value="TC-NP-1-11"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <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="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="7549ecda2cd1569974c3748f223fbc947ce9cabce581497522e4b75e9d6ede81"/>

          <KeyFormatType type="Enumeration" value="Raw"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Initial Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:13:48+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:13:48+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Lease Time"/>

        <AttributeValue type="Interval" value="3600"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:13:48+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

 

0158

0159

0160

# TIME 2

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

 

0175

0176

0177

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:13:48+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>

 

2.2.38 TC-NP-2-11 - Notify & Put

This test case tests the import of key using the Register operation. To validate that the registered key is treated the same as a locally created key, an attribute is added to the key and then modified. Finally, the key is destroyed.

The server sends Notify and Put messages to the client via a separate channel.

 

 

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

# TIME 0

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-NP-2-11"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="1122456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+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>

 

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

 

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

0111

0112

0113

0114

 

0115

0116

0117

0118

 

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

# TIME 1

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PutFunction type="Enumeration" value="New"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="1122456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

      <Attribute>

        <AttributeName type="TextString" value="x-ID"/>

        <AttributeValue type="TextString" value="TC-NP-2-11"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <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="Encrypt"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="47c01d3851ce2f254d18928526b6126de30cef9a34a4cfbd4648ec3ed21a9e86"/>

          <KeyFormatType type="Enumeration" value="Raw"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Initial Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Lease Time"/>

        <AttributeValue type="Interval" value="3600"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

 

0159

0160

0161

0162

0163

0164

0165

# TIME 2

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

 

0180

0181

0182

0183

0184

0185

0186

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

 

0199

0200

0201

0202

0203

0204

0205

 

0206

0207

0208

0209

# TIME 3

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

0243

0244

# TIME 4

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

0258

 

0259

0260

0261

0262

0263

0264

0265

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

 

0278

0279

0280

0281

0282

0283

0284

 

0285

0286

0287

0288

# TIME 5

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

 

0317

0318

0319

# TIME 6

# [Client-to-Server]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

 

0334

0335

0336

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+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>

 

 

0337

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

 

0349

0350

0351

 

0352

0353

0354

0355

0356

0357

0358

0359

# TIME 7

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Destroyed"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.2.39 TC-ECC-1-11 - Register an ECC Key Pair

EC recommended curve is P-256 (secp256r1)

- Private Key format ECPrivateKey - http://tools.ietf.org/html/rfc5915

- Public Key format SubjectPublicKeyInfo - http://tools.ietf.org/html/rfc5480

Register a EC private key in the ECPrivateKey key format, then register the corresponding public key, in X.509 (SubjectPublicKeyInfo) format, with the Link attribute pointing to the previously registered private key. Then add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in default format, then destroy both the private and the public key.

 

 -----BEGIN EC PRIVATE KEY-----

 MHcCAQEEIJEqDiCPXdc0sYUYR+RlnEWIsW2fO8GtpRDqLJadr570oAoGCCqGSM49

 AwEHoUQDQgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc7vPx+ibYVGpkQvPBOX6Smq2N

 yrJbKCyooc8AvvfLGKD16kRJOjCm0iOyWw==

 -----END EC PRIVATE KEY-----

 

 -----BEGIN PUBLIC KEY-----

 MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc

 7vPx+ibYVGpkQvPBOX6Smq2NyrJbKCyooc8AvvfLGKD16kRJOjCm0iOyWw==

 -----END PUBLIC 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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-ECC-1-11-prikey1"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30770201010420912a0e208f5dd734b1851847e4659c4588b16d9f3bc1ada510ea2c969daf9ef4a00a06082a8648ce3d030107a14403420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-1-11-pubkey1"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

0273

0274

0275

0276

 

 

 

 

0277

0278

0279

0280

0281

0282

0283

0284

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30770201010420912a0e208f5dd734b1851847e4659c4588b16d9f3bc1ada510ea2c969daf9ef4a00a06082a8648ce3d030107a14403420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

 

0297

0298

0299

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

 

0315

0316

0317

0318

0319

 

 

 

0320

0321

0322

0323

0324

0325

0326

0327

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

       <PublicKey>

      <KeyBlock>

        <KeyFormatType type="Enumeration" value="X_509"/>

        <KeyValue>

          <KeyMaterial type="ByteString"                                 value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

        </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

        <CryptographicLength type="Integer" value="256"/>

      </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0328

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

 

0340

0341

0342

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

 

0357

0358

0359

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

 

0372

0373

0374

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

 

0389

0390

0391

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

2.2.40 TC-ECC-2-11 - Register an ECC Key Pair in PKCS8 Format

EC recommended curve is P-256 (secp256r1)

- Public Key format SubjectPublicKeyInfo - http://tools.ietf.org/html/rfc5480

Register a EC private key in PKCS8 key format (with passphrase 'secret' using pbeWithSHAAnd3-KeyTripleDES-CBC), then register the corresponding public key, in X.509 (SubjectPublicKeyInfo) format, with the Link attribute pointing to the previously registered private key. Then add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in default format, then destroy both the private and the public key.

 

 -----BEGIN ENCRYPTED PRIVATE KEY-----

 MIGxMBwGCiqGSIb3DQEMAQMwDgQIqCAF0cAFXb4CAggABIGQkUySNQqsjKPKtl9y

 g/n+qhaBSsolURUH4PBYVpWVUNzqKQhz0MD8/gfBSz1DOU9s7mC97LVgWaEqJTad

 sOgPsJL3Z4IUuNTWNOMLZtY3jDz4z4grmyYM2c/aJj9eYVu0Ufp6n1lCsdU6HFpn

 urzWFAsRK+Yt+zpokG+raOooO8kIz59Fm30ziZPZF4G74GMM

 -----END ENCRYPTED PRIVATE KEY-----

 

 -----BEGIN PUBLIC KEY-----

 MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc

 7vPx+ibYVGpkQvPBOX6Smq2NyrJbKCyooc8AvvfLGKD16kRJOjCm0iOyWw==

 -----END PUBLIC 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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-ECC-2-11-prikey1"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_8"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3081b1301c060a2a864886f70d010c0103300e04082f2656a33657313902020800048190eadf76e9cee21053b01c53e175b0e8c4d627c17da1b2df47d8cfb35a0d7252a9a6488660d61235be735178d0ca8548871567c22803d8f6f6009f05c26429c83ab72d0f2e7e7870befc3ec746f52d0eccafe34b72a791e9535b34f584b96dc124034e8a82df0b5c3e70018f2d4745d66ae6da9398234ebda2ca4d02992613cb377b9651282c4f3fd0c5a3c5bc33cc3ae0"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-2-11-pubkey1"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

0273

0274

0275

0276

 

 

 

 

 

 

0277

0278

0279

0280

0281

0282

0283

0284

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_8"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3081b1301c060a2a864886f70d010c0103300e04082f2656a33657313902020800048190eadf76e9cee21053b01c53e175b0e8c4d627c17da1b2df47d8cfb35a0d7252a9a6488660d61235be735178d0ca8548871567c22803d8f6f6009f05c26429c83ab72d0f2e7e7870befc3ec746f52d0eccafe34b72a791e9535b34f584b96dc124034e8a82df0b5c3e70018f2d4745d66ae6da9398234ebda2ca4d02992613cb377b9651282c4f3fd0c5a3c5bc33cc3ae0"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

 

0297

0298

0299

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

 

0315

0316

0317

0318

0319

 

 

 

0320

0321

0322

0323

0324

0325

0326

0327

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

       <PublicKey>

      <KeyBlock>

        <KeyFormatType type="Enumeration" value="X_509"/>

        <KeyValue>

          <KeyMaterial type="ByteString"                                 value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

        </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

        <CryptographicLength type="Integer" value="256"/>

      </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0328

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

 

0340

0341

0342

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

 

0357

0358

0359

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

 

0372

0373

0374

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

 

0389

0390

0391

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

2.2.41 TC-ECC-3-11 - Register an ECC Key Pair and ECDSA Certificate

EC recommended curve is P-256 (secp256r1)

- Private Key format ECPrivateKey - http://tools.ietf.org/html/rfc5915

- Public Key format SubjectPublicKeyInfo - http://tools.ietf.org/html/rfc5480

Register a EC private key in the ECPrivateKey key format, then register the corresponding public key, in X.509 (SubjectPublicKeyInfo) format, and a corresponding ECDSA certificate, with the Link attribute pointing to the previously registered private key. Return the attribute values for the ECDSA certificate showing the correct server parsing of the certificate. Then add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in default format, then destroy both the private and the public key.

 

 -----BEGIN EC PRIVATE KEY-----

 MHcCAQEEIJEqDiCPXdc0sYUYR+RlnEWIsW2fO8GtpRDqLJadr570oAoGCCqGSM49

 AwEHoUQDQgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc7vPx+ibYVGpkQvPBOX6Smq2N

 yrJbKCyooc8AvvfLGKD16kRJOjCm0iOyWw==

 -----END EC PRIVATE KEY-----

 

 -----BEGIN PUBLIC KEY-----

 MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc

 7vPx+ibYVGpkQvPBOX6Smq2NyrJbKCyooc8AvvfLGKD16kRJOjCm0iOyWw==

 -----END PUBLIC KEY-----

 

 -----BEGIN CERTIFICATE-----

 MIIB1zCCAX2gAwIBAgIJANraFqWNKSTZMAoGCCqGSM49BAMCMEgxCzAJBgNVBAYT

 AlVTMQ0wCwYDVQQKDARURVNUMQ4wDAYDVQQLDAVPQVNJUzEaMBgGA1UEAwwRS01J

 UC1FQy1zZWNwMjU2cjEwHhcNMTMwNjI2MDM1NDQzWhcNMjMwNjI0MDM1NDQzWjBI

 MQswCQYDVQQGEwJVUzENMAsGA1UECgwEVEVTVDEOMAwGA1UECwwFT0FTSVMxGjAY

 BgNVBAMMEUtNSVAtRUMtc2VjcDI1NnIxMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD

 QgAEs0Q5L7cqomf4bX2DfeHZbOlg/8Bc7vPx+ibYVGpkQvPBOX6Smq2NyrJbKCyo

 oc8AvvfLGKD16kRJOjCm0iOyW6NQME4wHQYDVR0OBBYEFMdL251FazsUho/ZyIZ9

 4Pzf79STMB8GA1UdIwQYMBaAFMdL251FazsUho/ZyIZ94Pzf79STMAwGA1UdEwQF

 MAMBAf8wCgYIKoZIzj0EAwIDSAAwRQIgI19fyzdd1gavOhIaeHbOnBoV0ldEmg6q

 YA+OEmaQS98CIQCpuF4UPYklouuwi8hDTVavL3MAX/9Cm82CRf1fshp7RQ==

 -----END CERTIFICATE-----

 

 

 

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="TC-ECC-3-11-prikey1"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30770201010420912a0e208f5dd734b1851847e4659c4588b16d9f3bc1ada510ea2c969daf9ef4a00a06082a8648ce3d030107a14403420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-3-11-pubkey1"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

0132

0133

 

0134

0135

0136

0137

0138

 

0139

0140

0141

0142

0143

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0144

0145

0146

0147

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-3-11-cert1"/>

        </Attribute>

      </TemplateAttribute>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="308201d73082017da003020102020900dada16a58d2924d9300a06082a8648ce3d0403023048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d736563703235367231301e170d3133303632363033353434335a170d3233303632343033353434335a3048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d7365637032353672313059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25ba350304e301d0603551d0e04160414c74bdb9d456b3b14868fd9c8867de0fcdfefd493301f0603551d23041830168014c74bdb9d456b3b14868fd9c8867de0fcdfefd493300c0603551d13040530030101ff300a06082a8648ce3d04030203480030450220235f5fcb375dd606af3a121a7876ce9c1a15d257449a0eaa600f8e1266904bdf022100a9b85e143d8925a2ebb08bc8434d56af2f73005fff429bcd8245fd5fb21a7b45"/>

      </Certificate>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

 

0183

0184

0185

0186

0187

0188

0189

0190

0191

 

0192

0193

0194

0195

0196

 

0197

0198

0199

0200

0201

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="01"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="02"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

 

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

 

0232

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="01"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="02"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

 

0255

0256

0257

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

0273

0274

0275

0276

 

0277

0278

0279

0280

 

0281

 

0282

0283

 

0284

0285

0286

0287

0288

0289

0290

 

0291

 

0292

 

0293

0294

0295

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="x-ID"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Length"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="Fresh"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

      <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

      <AttributeName type="TextString" value="X.509 Certificate Subject"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

 

0308

 

0309

 

0310

 

0311

 

0312

0313

0314

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

      <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

      <AttributeName type="TextString" value="X.509 Certificate Subject"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

0328

 

0329

0330

 

0331

0332

0333

0334

 

0335

0336

 

 

 

0337

 

0338

0339

0340

0341

 

0342

0343

 

 

 

0344

0345

0346

0347

 

0348

0349

 

 

 

0350

0351

0352

0353

0354

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Digital Signature Algorithm"/>

        <AttributeValue type="Enumeration" value="ECDSAWithSHA256"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

        <AttributeValue>

          <IssuerDistinguishedName type="ByteString"                value="3048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d736563703235366b31"/>

          <CertificateSerialNumber type="ByteString"                value="020900ec0b7402196d5295"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

        <AttributeValue>

          <IssuerDistinguishedName type="ByteString"                value="3048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d736563703235366b31"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Subject"/>

        <AttributeValue>

          <SubjectDistinguishedName type="ByteString"               value="3048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d736563703235366b31"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

 

0375

0376

0377

0378

0379

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

 

0394

0395

0396

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

0415

0416

 

0417

0418

0419

0420

0421

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

 

0436

0437

0438

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

0450

 

0451

0452

0453

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0454

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

0468

 

0469

0470

0471

0472

0473

 

 

 

 

 

 

0474

0475

0476

0477

0478

0479

0480

0481

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3081b1301c060a2a864886f70d010c0103300e04082f2656a33657313902020800048190eadf76e9cee21053b01c53e175b0e8c4d627c17da1b2df47d8cfb35a0d7252a9a6488660d61235be735178d0ca8548871567c22803d8f6f6009f05c26429c83ab72d0f2e7e7870befc3ec746f52d0eccafe34b72a791e9535b34f584b96dc124034e8a82df0b5c3e70018f2d4745d66ae6da9398234ebda2ca4d02992613cb377b9651282c4f3fd0c5a3c5bc33cc3ae0"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0482

0483

0484

0485

0486

0487

0488

0489

0490

0491

0492

0493

 

0494

0495

0496

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0497

0498

0499

0500

0501

0502

0503

0504

0505

0506

0507

0508

0509

0510

0511

 

0512

0513

0514

0515

0516

 

 

 

0517

0518

0519

0520

0521

0522

0523

0524

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

       <PublicKey>

      <KeyBlock>

        <KeyFormatType type="Enumeration" value="X_509"/>

        <KeyValue>

          <KeyMaterial type="ByteString"                                 value="3059301306072a8648ce3d020106082a8648ce3d03010703420004b344392fb72aa267f86d7d837de1d96ce960ffc05ceef3f1fa26d8546a6442f3c1397e929aad8dcab25b282ca8a1cf00bef7cb18a0f5ea44493a30a6d223b25b"/>

        </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="ECDSA"/>

        <CryptographicLength type="Integer" value="256"/>

      </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0525

0526

0527

0528

0529

0530

0531

0532

0533

0534

0535

0536

 

0537

0538

0539

# TIME 10

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0540

0541

0542

0543

0544

0545

0546

0547

0548

0549

0550

0551

0552

0553

 

0554

0555

0556

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0557

0558

0559

0560

0561

0562

0563

0564

0565

0566

0567

0568

 

0569

0570

0571

# TIME 11

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0572

0573

0574

0575

0576

0577

0578

0579

0580

0581

0582

0583

0584

0585

 

0586

0587

0588

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0589

0590

0591

0592

0593

0594

0595

0596

0597

0598

0599

0600

 

0601

0602

0603

# TIME 12

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0604

0605

0606

0607

0608

0609

0610

0611

0612

0613

0614

0615

0616

0617

 

0618

0619

0620

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="1"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

 

 

2.3 KMIP 1.2 Test Cases

2.3.1 TC-311-12 - Create / Destroy

In this test case the client issues a Create request, whereby the server creates a new symmetric key and returns the Unique Identifier. To clean up, the client then performs a Destroy operation to destroy 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

# 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="x-ID"/>

          <AttributeValue type="TextString" value="TC-311-12"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:21+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>

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

 

0064

0065

0066

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

 

0081

0082

0083

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:21+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>

 

2.3.2 TC-312-12 - Register / Create / Get attributes / Destroy

Here the client first registers a template object and then creates a symmetric key using the registered template. To verify that the attributes of the key were set correctly from the template, the client then issues a Get Attributes command, after which it destroys first the key and then the template.

 

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

0048

 

0049

0050

0051

0052

0053

# 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="Template"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-312-12-template1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-312-12"/>

        </Attribute>

      </TemplateAttribute>

      <Template>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString" value="Group1"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Application Specific Information"/>

          <AttributeValue>

            <ApplicationNamespace type="TextString" value="ssl"/>

            <ApplicationData type="TextString"                      value="www.example.com"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Contact Information"/>

          <AttributeValue type="TextString" value="Joe"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-Purpose"/>

          <AttributeValue type="TextString" value="demonstration"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-312-12-from-template"/>

        </Attribute>

      </Template>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

 

0068

0069

0070

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:21+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>

 

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

0111

0112

0113

0114

# 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="Create"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <TemplateAttribute>

        <Name>

          <NameValue type="TextString" value="TC-312-12-template1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </Name>

        <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="TC-312-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-312-12-from-create"/>

        </Attribute>

      </TemplateAttribute>

    </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="2012-04-27T08:12:22+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_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

 

0145

0146

0147

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

 

0165

0166

0167

0168

0169

 

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

0183

0184

 

0185

0186

0187

0188

 

0189

0190

0191

0192

 

0193

0194

0195

 

0196

0197

0198

0199

 

0200

0201

0202

0203

 

0204

0205

0206

0207

0208

0209

0210

 

 

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

 

0221

0222

0223

0224

 

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

 

0235

0236

0237

0238

0239

0240

0241

0242

 

0243

 

0244

0245

0246

0247

0248

0249

0250

0251

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:22+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-ID"/>

        <AttributeValue type="TextString" value="TC-312-12-from-template"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="x-ID"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue type="TextString" value="TC-312-12-from-create"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="x-Purpose"/>

        <AttributeValue type="TextString" value="demonstration"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <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="Application Specific Information"/>

        <AttributeValue>

          <ApplicationNamespace type="TextString" value="ssl"/>

          <ApplicationData type="TextString"                        value="www.example.com"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Contact Information"/>

        <AttributeValue type="TextString" value="Joe"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

        <AttributeValue type="Integer" value="Decrypt Encrypt"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="c61217ddfa8a8004410ce1a7edd8e5013693a173310918971e146e910d61c669"/>

          <KeyFormatType type="Enumeration" value="Raw"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Initial Date"/>

        <AttributeValue type="DateTime" value="2013-06-17T08:37:31+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-17T08:37:31+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Lease Time"/>

        <AttributeValue type="Interval" value="3600"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-312-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="Group1"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Original Creation Date"/>

        <AttributeValue type="DateTime" value="2013-06-23T00:11:30+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

 

0264

0265

0266

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

 

0281

0282

0283

0284

0285

0286

0287

 

0288

0289

0290

0291

0292

0293

0294

0295

 

0296

0297

0298

0299

 

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

 

0310

0311

0312

0313

0314

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-17T08:24:02+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

      <AttributeName type="TextString" value="x-ID"/>

      <AttributeValue type="TextString" value="TC-312-12"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="Template"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Initial Date"/>

        <AttributeValue type="DateTime" value="2013-06-17T08:24:02+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-17T08:24:02+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Lease Time"/>

        <AttributeValue type="Interval" value="3600"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-312-12-template1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

 

0327

0328

0329

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

0344

 

0345

0346

0347

0348

0349

0350

0351

 

0352

0353

0354

 

0355

0356

0357

0358

 

0359

0360

0361

0362

0363

0364

0365

0366

0367

 

0368

0369

0370

0371

0372

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-17T08:40:15+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="Template"/>

      <UniqueIdentifier type="TextString" value="8590e6e9-61c1-4b81-98d3-053a3c6a521b"/>

      <Template>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString" value="Group1"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Application Specific Information"/>

          <AttributeValue>

            <ApplicationNamespace type="TextString" value="ssl"/>

            <ApplicationData type="TextString"                      value="www.example.com"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Contact Information"/>

          <AttributeValue type="TextString" value="Joe"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-Purpose"/>

          <AttributeValue type="TextString" value="demonstration"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-312-12-from-template"/>

        </Attribute>

      </Template>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0373

0374

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

 

0385

0386

0387

# 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_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0388

0389

0390

0391

0392

0393

0394

0395

0396

0397

0398

0399

0400

0401

 

0402

0403

0404

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:22+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>

 

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

0415

0416

 

0417

0418

0419

# 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>

0420

0421

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

 

0434

0435

0436

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:22+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>

 

2.3.3 TC-313-12 - Create / Locate / Get / Destroy

This test case tests the Locate and Get operations. A symmetric key is first created, and then a lookup is performed on the Name attribute using the Locate operation. Subsequently, a Get request is issued to retrieve the located key. A locate is performed on the Unique Identifier with State of PreActive (the State the key must be in). The key on the server is destroyed and the locate is performed again which should return no objects (as the state of the key should now be Destroyed).

 

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

# 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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-313-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="DES3"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="168"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:22+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>

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

 

0075

0076

0077

0078

0079

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-313-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:12:22+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

0136

0137

0138

0139

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="7367578051012a6d134a855e25c8cd5e4ca131455729d3c8"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="DES3"/>

          <CryptographicLength type="Integer" value="168"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

 

0158

0159

0160

0161

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

 

0176

0177

0178

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

 

0191

0192

0193

# 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>

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

 

0208

0209

0210

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+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>

 

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

 

0229

0230

0231

0232

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.4 TC-314-12 - Dual Client Test Case, ID Placeholder-linked Locate & Get Batch

This test case has two clients performing operations on the same key. The first client initially registers a template and creates a symmetric key using that template. The second client then does a batched Locate and Get using the ID Placeholder to retrieve the key. The second client thereafter performs a number of operations on the key (Get Attribute List, Get Attribute, Add Attribute, Modify Attribute and Delete Attribute), before the first client finally destroys the key and the template. The first client also tries to Get the key and the template after they have been destroyed, but the Get operation fails in both cases.  This test case demonstrates the fact that it is possible for two clients to cooperate and use the same managed object while only having knowledge of a single pre-agreed Name attribute value and without having to share any other information.

 

 

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

# TIME 0

# [Client-A]

<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="Template"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-314-12-template1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <Template>

        <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>

      </Template>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+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>

 

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

 

0068

0069

0070

0071

0072

0073

 

0074

0075

0076

0077

 

0078

0079

0080

0081

 

0082

0083

0084

0085

0086

0087

# TIME 1

# [Client-A]

<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>

        <Name>

          <NameValue type="TextString" value="TC-314-12-template1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </Name>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-314-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Contact Information"/>

          <AttributeValue type="TextString" value="Foo"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0088

0089

0090

0091

0092

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

 

0103

0104

0105

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+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_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

 

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

# TIME 2

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="aa21f8c659d6e10d"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-314-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="495a95f165854d1e"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

 

0154

0155

0156

0157

0158

0159

0160

0161

0162

 

0163

0164

0165

0166

0167

 

0168

0169

0170

0171

0172

0173

0174

0175

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="aa21f8c659d6e10d"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="495a95f165854d1e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="d351910f1d7934d6e2ae17576564e2bc"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

 

0188

0189

0190

# TIME 3

# [Client-B]

<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="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

 

0205

 

0206

 

0207

0208

0209

0210

0211

0212

0213

 

0214

0215

0216

0217

 

0218

0219

0220

0221

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Cryptographic Algorithm"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Name"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Contact Information"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="Original Creation Date"/>

      <AttributeName type="TextString" value="Fresh"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

0233

 

0234

0235

0236

0237

0238

# TIME 4

# [Client-B]

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Name"/>

      <AttributeName type="TextString" value="Contact Information"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

 

0253

0254

0255

0256

0257

 

0258

0259

0260

0261

 

0262

0263

0264

0265

0266

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-314-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Contact Information"/>

        <AttributeValue type="TextString" value="Foo"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

0278

0279

 

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

 

0291

0292

0293

0294

0295

0296

0297

# TIME 5

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="32d84369c120488e"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="519cf4f0ec1ac13f"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

 

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

 

0325

0326

0327

0328

0329

0330

0331

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="32d84369c120488e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="519cf4f0ec1ac13f"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

0344

 

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

 

0356

0357

0358

0359

0360

0361

0362

# TIME 6

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="fce08e45995686b6"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="dc2bfda88f39f5fc"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

 

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

 

0390

0391

0392

0393

0394

0395

0396

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="fce08e45995686b6"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="dc2bfda88f39f5fc"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

0409

 

0410

0411

0412

0413

0414

0415

0416

0417

 

0418

0419

0420

0421

# TIME 7

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="ba8d4889753b7414"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="x-attribute1"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="88fa2f142c615edb"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="x-attribute2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

0436

 

0437

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

 

0449

0450

0451

0452

0453

0454

0455

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="ba8d4889753b7414"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="88fa2f142c615edb"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

 

0468

0469

0470

# TIME 8

# [Client-A]

<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>

0471

0472

0473

0474

0475

0476

0477

0478

0479

0480

0481

0482

0483

0484

 

0485

0486

0487

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:23+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>

 

 

0488

0489

0490

0491

0492

0493

0494

0495

0496

0497

0498

0499

 

0500

0501

0502

# TIME 9

# [Client-A]

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0503

0504

0505

0506

0507

0508

0509

0510

0511

0512

0513

0514

0515

0516

 

0517

0518

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ItemNotFound"/>

    <ResultMessage type="TextString" value="No Cryptographic Object found with given Unique Identifier"/>

  </BatchItem>

</ResponseMessage>

 

 

0519

0520

0521

0522

0523

0524

0525

0526

0527

0528

0529

0530

 

0531

0532

0533

# TIME 10

# [Client-A]

<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>

0534

0535

0536

0537

0538

0539

0540

0541

0542

0543

0544

0545

0546

0547

 

0548

0549

0550

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

 

0551

0552

0553

0554

0555

0556

0557

0558

0559

0560

0561

0562

 

0563

0564

0565

# TIME 11

# [Client-A]

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0566

0567

0568

0569

0570

0571

0572

0573

0574

0575

0576

0577

0578

0579

 

0580

0581

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ItemNotFound"/>

    <ResultMessage type="TextString" value="No Cryptographic Object found with given Unique Identifier"/>

  </BatchItem>

</ResponseMessage>

 

2.3.5 TC-315-12 - Register / Destroy Secret Data

In this test case the client issues a Register request containing a Secret Data object, whereby the server registers the object and returns the Unique Identifier. To clean up, the client then performs a Destroy

 

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

# 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="SecretData"/>

      <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="TC-315-12"/>

        </Attribute>

      </TemplateAttribute>

      <SecretData>

        <SecretDataType type="Enumeration" value="Password"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Opaque"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="53656372657450617373776f7264"/>

          </KeyValue>

        </KeyBlock>

      </SecretData>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

 

0064

0065

0066

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

 

0081

0082

0083

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

2.3.6 TC-32-12 - Asynchronous Locate

This test case tests the asynchronous capabilities of KMIP using the Locate operation. A key is created and then a Locate request is sent containing the Name of the created key and with the message header Asynchronous Indicator-field set to True. If the server returns an asynchronous response to the Locate, the client then polls the server until the operation is ready. If the server responded asynchronously, a subsequent Locate operation that is also handled asynchronously is then Canceled, before the key is finally destroyed.

This test case shows the use of two clients. Since the client is unable to force the server to respond asynchronously, it is possible for a server to respond synchronously to the requests issued at times 1 and 4, in which case the expected responses are the ones shown at times 2 and 5, respectively. In the case of the server not responding asynchronously to the Locate requests, the client is permitted to skip the requests illustrated at time 7 and 8.

Note: a server may perform all operations synchronously and not require the use of Poll for the client to wait for the operations to complete

 

 

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

# TIME 0

# [Client-A]

<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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-32-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString" value="Group1"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

 

0080

0081

0082

0083

0084

# TIME 1

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-32-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

 

 

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

 

0112

0113

0114

# TIME 2

# [Client-B]

# [REPEAT] until Locate response is returned

<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="Poll"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </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="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <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

# [Client-B]

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

0165

0166

 

0167

0168

0169

0170

0171

0172

0173

0174

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="cc9e3b20f5c4fc4d1298f68d0b7de65b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

# TIME 4

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="Group1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

 

0211

0212

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

 

 

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

 

0225

0226

0227

# TIME 5

# [Client-B]

# [REPEAT] until Locate response is returned

<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="Poll"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </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="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <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

# [Client-B]

<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="Get"/>

    <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

0277

0278

0279

 

0280

0281

0282

0283

0284

0285

0286

0287

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="cc9e3b20f5c4fc4d1298f68d0b7de65b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

 

0309

0310

0311

0312

0313

# TIME 7

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-32-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

 

0327

0328

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

 

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

 

0341

0342

0343

# TIME 8

# [Client-B]

<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="Cancel"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

0357

 

0358

0359

0360

0361

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Cancel"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

      <CancellationResult type="Enumeration" value="Canceled"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

 

0374

0375

0376

# TIME 9

# [Client-A]

<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>

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

 

0391

0392

0393

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

2.3.7 TC-41-12 - Revoke Scenario

This test case tests the revocation aspect of the key life cycle support in KMIP. A key is created and a Get Attribute for the State-attribute reveals that the key is in Pre-active state. The Activation Date is then set, which changes the state to Active. The key is then revoked with a revocation reason of Compromised and the state subsequently changed to Compromised, but this does not stop a client from being able to add, modify and delete attributes or even get the key. To clean up, the created key is finally destroyed.

 

 

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

# TIME 0

# [Client-A]

<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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-41-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

 

0067

0068

0069

0070

# TIME 1

# [Client-A]

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

0081

0082

0083

0084

 

0085

0086

0087

0088

0089

0090

0091

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0092

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

 

0104

0105

0106

# TIME 2

# [Client-A]

<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="Activate"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

 

0121

0122

0123

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Activate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0124

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

 

0136

0137

0138

0139

# TIME 3

# [Client-A]

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0140

0141

0142

0143

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="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

 

0181

0182

0183

0184

0185

# TIME 4

# [Client-B]

<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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-41-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </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="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

 

0215

0216

0217

# TIME 5

# [Client-B]

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

 

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

0243

0244

0245

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="9c7d7c4fd2076f1909a6ba4342cab1de"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

 

0258

0259

 

0260

0261

 

0262

0263

0264

# TIME 6

# [Client-B]

<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="KeyCompromise"/>

      </RevocationReason>

      <CompromiseOccurrenceDate type="DateTime" value="1970-01-01T00:00:06+00:00"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0265

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

0278

 

0279

0280

0281

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+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>

 

 

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

0293

 

0294

0295

0296

0297

# TIME 7

# [Client-B]

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

0314

0315

0316

0317

0318

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Compromised"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0319

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

 

0331

0332

0333

# TIME 8

# [Client-A]

<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="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

 

0348

0349

0350

 

0351

 

0352

0353

0354

 

0355

 

0356

0357

0358

0359

0360

0361

0362

 

0363

0364

0365

0366

0367

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Cryptographic Algorithm"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Activation Date"/>

      <AttributeName type="TextString" value="Compromise Date"/>

      <AttributeName type="TextString" value="Compromise Occurrence Date"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Fresh"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Name"/>

      <AttributeName type="TextString" value="Original Creation Date"/>

      <AttributeName type="TextString" value="Revocation Reason"/>

      <AttributeName type="TextString" value="State"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

0379

 

0380

0381

0382

0383

# TIME 9

# [Client-A]

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

0396

0397

 

0398

0399

0400

0401

0402

0403

0404

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Compromised"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

0415

0416

0417

 

0418

0419

0420

0421

0422

0423

0424

0425

0426

0427

0428

 

0429

0430

0431

0432

0433

0434

0435

# TIME 10

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="23a177faa569463c"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="9b898dc0577f8080"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0436

0437

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

0450

 

0451

0452

0453

0454

0455

0456

0457

0458

0459

0460

0461

0462

 

0463

0464

0465

0466

0467

0468

0469

# [Client-A]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:24+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="23a177faa569463c"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="Value1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="9b898dc0577f8080"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="Value2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0470

0471

0472

0473

0474

0475

0476

0477

0478

0479

0480

0481

0482

 

0483

0484

0485

0486

0487

0488

0489

0490

0491

0492

0493

 

0494

0495

0496

0497

0498

0499

0500

# TIME 11

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="0752c951bb9926cc"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="33f55c8d7e6cafbf"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0501

0502

0503

0504

0505

0506

0507

0508

0509

0510

0511

0512

0513

0514

0515

 

0516

0517

0518

0519

0520

0521

0522

0523

0524

0525

0526

0527

 

0528

0529

0530

0531

0532

0533

0534

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="0752c951bb9926cc"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <UniqueBatchItemID type="ByteString" value="33f55c8d7e6cafbf"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0535

0536

0537

0538

0539

0540

0541

0542

0543

0544

0545

0546

0547

 

0548

0549

0550

0551

0552

0553

0554

0555

 

0556

0557

0558

0559

# TIME 12

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="a3eb249b495e8ad2"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="x-attribute1"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="c1fe7b3b4c977730"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="x-attribute2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0560

0561

0562

0563

0564

0565

0566

0567

0568

0569

0570

0571

0572

0573

0574

 

0575

0576

0577

0578

0579

0580

0581

0582

0583

0584

0585

0586

 

0587

0588

0589

0590

0591

0592

0593

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="a3eb249b495e8ad2"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute1"/>

        <AttributeValue type="TextString" value="ModifiedValue1"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <UniqueBatchItemID type="ByteString" value="c1fe7b3b4c977730"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-attribute2"/>

        <AttributeValue type="TextString" value="ModifiedValue2"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0594

0595

0596

0597

0598

0599

0600

0601

0602

0603

0604

0605

 

0606

0607

0608

# TIME 13

# [Client-A]

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0609

0610

0611

0612

0613

0614

0615

0616

0617

0618

0619

0620

0621

0622

0623

 

0624

0625

0626

0627

0628

 

0629

0630

0631

0632

0633

0634

0635

0636

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="9c7d7c4fd2076f1909a6ba4342cab1de"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0637

0638

0639

0640

0641

0642

0643

0644

0645

0646

0647

0648

 

0649

0650

0651

# TIME 14

# [Client-A]

<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>

0652

0653

0654

0655

0656

0657

0658

0659

0660

0661

0662

0663

0664

0665

 

0666

0667

0668

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

2.3.8 TC-51-12 - Get Usage Allocation Scenario

This test case tests the usage management functionality of KMIP. A key is created and the Activation Date and Protect Stop Date attributes are set in such a way as to allow the Get Usage Allocation operation to be performed. The value of the Usage Limits attribute is set to 1000 bytes, and two subsequent requests for 500 bytes succeed (one of them also verifying the amount that can be received using the Check operation), while a third fails since the usage allocation has been used up. The key is finally revoked and destroyed. This test case shows the use of multiple clients (Client-A, Client-B and Client-C).

 

 

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

# TIME 0

# [Client-A]

<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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-51-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Encrypt"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

 

0068

0069

0070

 

0071

0072

0073

0074

0075

0076

0077

0078

 

0079

0080

0081

0082

0083

0084

0085

# TIME 1

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="369f6802ee57532b"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="1970-01-01T00:00:02+00:00"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="b7ca806e52825bf4"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Protect Stop Date"/>

        <AttributeValue type="DateTime" value="$NOW+600"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

0111

0112

 

0113

0114

0115

0116

0117

0118

0119

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="369f6802ee57532b"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="1970-01-01T00:00:02+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="b7ca806e52825bf4"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Protect Stop Date"/>

        <AttributeValue type="DateTime" value="$NOW+600"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

# TIME 2

# [Client-A]

<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="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Usage Limits"/>

        <AttributeValue>

          <UsageLimitsTotal type="LongInteger" value="1000"/>

          <UsageLimitsUnit type="Enumeration" value="Byte"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0142

0143

0144

0145

0146

0147

0148

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="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Usage Limits"/>

        <AttributeValue>

          <UsageLimitsTotal type="LongInteger" value="1000"/>

          <UsageLimitsCount type="LongInteger" value="1000"/>

          <UsageLimitsUnit type="Enumeration" value="Byte"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

 

0187

0188

0189

0190

0191

# TIME 3

# [Client-B]

<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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-51-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

 

0206

0207

0208

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

 

0221

0222

0223

# TIME 4

# [Client-B]

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0224

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

 

0239

0240

0241

0242

0243

 

0244

0245

0246

0247

0248

0249

0250

0251

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="50f31013c771af4448110f695efa9ec7"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

 

0266

0267

0268

0269

0270

0271

0272

0273

 

0274

0275

0276

0277

# TIME 5

# [Client-B]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Check"/>

    <UniqueBatchItemID type="ByteString" value="d35a294f9425f06e"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetUsageAllocation"/>

    <UniqueBatchItemID type="ByteString" value="80454d8ce4f738fe"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

 

0293

0294

0295

0296

0297

0298

0299

0300

 

0301

0302

0303

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Check"/>

    <UniqueBatchItemID type="ByteString" value="d35a294f9425f06e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetUsageAllocation"/>

    <UniqueBatchItemID type="ByteString" value="80454d8ce4f738fe"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

 

0316

0317

0318

0319

# TIME 6

# [Client-A]

<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="GetUsageAllocation"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

 

0334

0335

0336

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetUsageAllocation"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0337

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

 

0357

0358

0359

0360

0361

# TIME 7

# [Client-C]

<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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-51-12-key1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

 

0376

0377

0378

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

 

0391

0392

0393

# TIME 8

# [Client-C]

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0394

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

 

0409

0410

0411

0412

0413

 

0414

0415

0416

0417

0418

0419

0420

0421

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="50f31013c771af4448110f695efa9ec7"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

 

0434

0435

0436

0437

# TIME 9

# [Client-C]

<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="GetUsageAllocation"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <UsageLimitsCount type="LongInteger" value="500"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

0450

0451

 

0452

0453

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetUsageAllocation"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Unable to allocate requested amount"/>

  </BatchItem>

</ResponseMessage>

 

 

0454

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

 

0468

0469

 

0470

0471

0472

0473

0474

0475

0476

0477

 

0478

0479

0480

# TIME 10

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="79b998c5f29465f4"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="b0633f0e41187345"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0481

0482

0483

0484

0485

0486

0487

0488

0489

0490

0491

0492

0493

0494

0495

 

0496

0497

0498

0499

0500

0501

0502

0503

 

0504

0505

0506

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="79b998c5f29465f4"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="b0633f0e41187345"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.9 TC-61-12 - Import of a Third-party Key

This test case tests the import of a foreign key using the Register operation. To validate that the registered key is treated the same as a locally created key, an attribute is added to the key and then modified. Finally, the key is destroyed.

 

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

# 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"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-61-12"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

 

0065

0066

0067

0068

0069

0070

0071

# 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="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0072

0073

0074

0075

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

 

0086

0087

0088

0089

0090

0091

0092

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0093

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="ModifyAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0112

0113

0114

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="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

 

0145

0146

0147

# 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>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

2.3.10 TC-71-12 - Unrecognized Message Extension with Criticality Indicator False

A create request is issued and the request contains a Message Extension with the Criticality Indicator set to false. The server does not understand the extension, but since it is non-critical, the create request is processed normally. Subsequently, the created key is deleted.

 

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

# 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 Length"/>

          <AttributeValue type="Integer" value="128"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-71-12"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

    <MessageExtension>

      <VendorIdentification type="TextString" value="Acme"/>

      <CriticalityIndicator type="Boolean" value="false"/>

      <VendorExtension>

        <TTLV tag="0x540001" type="TextString" value="na"/>

      </VendorExtension>

    </MessageExtension>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0074

0075

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

 

0088

0089

0090

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

2.3.11 TC-72-12 - Unrecognized Message Extension with Criticality Indicator True

A create request is issued and the request contains a Message Extension with the Criticality Indicator set to true. The server does not understand the extension, and since it is critical, the create request fails and an error is returned.

 

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

# 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 Length"/>

          <AttributeValue type="Integer" value="128"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-72-12"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

    <MessageExtension>

      <VendorIdentification type="TextString" value="Acme"/>

      <CriticalityIndicator type="Boolean" value="true"/>

      <VendorExtension>

        <TTLV tag="0x540001" type="TextString" value="na"/>

      </VendorExtension>

    </MessageExtension>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:12:25+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="FeatureNotSupported"/>

    <ResultMessage type="TextString" value="Critical Message Extension not recognized"/>

  </BatchItem>

</ResponseMessage>

 

2.3.12 TC-81-12 - Create a Key Pair

Create a new private/public key pair. Make sure they are linked correctly by issuing Locate commands with the assigned Unique Identifiers. Finally delete both key halves.

 

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

0048

0049

0050

# 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="CreateKeyPair"/>

    <RequestPayload>

      <CommonTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="RSA"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="1024"/>

        </Attribute>

      </CommonTemplateAttribute>

      <PrivateKeyTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-81-12-privatekey1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Sign"/>

        </Attribute>

      </PrivateKeyTemplateAttribute>

      <PublicKeyTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-81-12-publickey1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify"/>

        </Attribute>

      </PublicKeyTemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

 

0065

 

0066

0067

0068

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="CreateKeyPair"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <PrivateKeyUniqueIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

      <PublicKeyUniqueIdentifier type="TextString"                  value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

 

0108

0109

0110

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

 

0131

0132

0133

0134

0135

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

 

0150

0151

0152

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

 

0165

0166

0167

# 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>

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

 

0182

0183

0184

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

 

0197

0198

0199

# 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_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

 

0214

0215

0216

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

2.3.13 TC-82-12 - Register Both Halves of a Key Pair

Register a private key and a public key and set the Link attribute to point to each other. Verify the links were set correctly by locating the keys based on the link attributes, and then delete both objects.

 

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

# 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="TC-82-12-prikey"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_8"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30820276020100300d06092a864886f70d0101010500048202603082025c02010002818100930451c9ecd94f5bb9da17dd09381bd23be43eca8c7539f301fc8a8cd5d5274c3e7699dbdc711c97a7aa91e2c50a82bd0b1034f0df493dec16362427e58acce7f6ce0f9bcc617bbd8c90d0094a2703ba0d09eb19d1005f2fb265526aac75af32f8bc782cded2a57f811e03eaf67a944de5e78413dca8f232d074e6dcea4cec9f02030100010281800b6a7d736199ea48a420e4537ca0c7c046784dcbeaa63baebc0bc132787449cde8d7cad0c0c863c0fefb06c3062befc50033ecf87b4e33a9be7bcbc8f1511ae215e80deb5d8af2bd31319d7821196640935a0cd67c94599579f2100d65e038831fdafb0dbe2bbdac00a696e67e756350e1c99ace11a36dabac3ed3e730960059024100ddf672fbcc5bda3d73affc4e791e0c03390224405d69ccaabc749faa0dcd4c2583c71dde8941a7b9aa030f52ef1451466c074d4d338fe677892acd9e10fd35bd024100a98fbc3ed6b4c6f860f97165ac2f7bb6f2e2cb192a9abd49795be5bcf37d8ee69a6e169c24e5c32e4e7fa33265461407f952ba49e204818a2f785f113f922b8b0240253f9470390d39049303777ddbc9750e9d64849ce0903eae704dc9f589b7680deb9d609fd5bcd4decd6f120542e5cff5d76f2a43c8615fb5b3a9213463797aa9024100a1ddf023c0cd94c019bb26d09b9e3ca8fa971cb16aa58b9baf79d6081a1dbba452ba53653e2804ba98ff69e8bb1b3a161ea225ea501463216a8dab9b88a75e5f02406178646e112cf79d921a8a843f17f6e7ff974f688122365bf6690cdfc996e1890952eb3820dd1890ec1c8619e87a2bd38f9d03b37fac742efb748c7885942c39"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="1024"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# 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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-82-12-pubkey"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30819f300d06092a864886f70d010101050003818d0030818902818100930451c9ecd94f5bb9da17dd09381bd23be43eca8c7539f301fc8a8cd5d5274c3e7699dbdc711c97a7aa91e2c50a82bd0b1034f0df493dec16362427e58acce7f6ce0f9bcc617bbd8c90d0094a2703ba0d09eb19d1005f2fb265526aac75af32f8bc782cded2a57f811e03eaf67a944de5e78413dca8f232d074e6dcea4cec9f0203010001"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="1024"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# 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="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# 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>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

 

0271

0272

0273

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

 

0286

0287

0288

# 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_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

 

0303

0304

0305

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

2.3.14 TC-91-12 - Create a Key, Re-key

Create a symmetric key with a specific name, and then use Locate to find the key. After using Re-key to create a new key, verify that the name was removed from the existing key and copied to the new key. Also verify that the key material for the old key is still retrievable. To clean up, both keys are deleted.

 

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

# 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="TC-91-12-rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0055

0056

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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-91-12-rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

 

0090

0091

0092

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

 

0105

0106

0107

# 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="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

 

0122

0123

0124

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

 

0141

0142

0143

0144

0145

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-91-12-rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

 

0160

0161

0162

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

 

0175

0176

0177

0178

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

 

0193

0194

0195

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

 

0208

0209

0210

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

 

0226

0227

0228

0229

0230

 

0231

0232

0233

0234

0235

0236

0237

0238

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="9ca9840291a65889043c37707da997e8"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

 

0251

0252

0253

# 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>

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

 

0268

0269

0270

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

 

0283

0284

0285

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

 

0300

0301

0302

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:26+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>

 

2.3.15 TC-92-12 - Existing Key Expired, Re-key with Same Life-cycle

Create a new symmetric key. Then add the Activation Date and Deactivation Date attributes based on the timestamp in the response to the Create request. The Activation Date is set to the current time and the Deactivation Date to a time in the near future. Repeated Get Attribute calls are performed to verify that the state is first 'Active', then subsequently 'Deactivated'. Then issue a Re-key request, including an Offset value of zero leading to the Activation Date of the replacement key to be set to the same value as the Initial Date of the replacement key. Verify from the response that the Activation Date and Deactivation Date attributes were set correctly (if they are not returned, issue a Get Attribute request). Do a Get Attribute operation to verify that the state of the new key is 'Active'. To clean up, both keys are deleted.

 

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

# 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="TC-92-12-rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:27+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>

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

 

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

 

0079

0080

0081

0082

0083

0084

0085

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="606051f958d79b0f"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="$NOW"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="7cb12802f6a52cf1"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="$NOW+120"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

0111

0112

 

0113

0114

0115

0116

0117

0118

0119

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:27+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="606051f958d79b0f"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="$NOW"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="7cb12802f6a52cf1"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="$NOW+120"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

 

0150

0151

0152

0153

0154

0155

0156

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

 

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

 

0169

0170

0171

0172

# TIME 3

# [REPEAT] until GetAttributes response shows State changed to Deactivated

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

 

0187

0188

0189

0190

0191

0192

0193

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Deactivated"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

 

0206

0207

0208

0209

# 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="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Offset type="Interval" value="0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

 

0224

0225

0226

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

 

0239

0240

0241

0242

0243

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Activation Date"/>

      <AttributeName type="TextString" value="Deactivation Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

 

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="$NOW"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="$NOW+120"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0269

0270

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

 

0281

0282

0283

0284

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

 

0299

0300

0301

0302

0303

0304

0305

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

 

0318

0319

0320

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

0334

 

0335

0336

0337

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+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>

 

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

 

0352

0353

 

0354

0355

0356

0357

0358

0359

0360

0361

 

0362

0363

0364

# TIME 8

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="955dfbb9abbec308"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="6ce5ea0c8334b076"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

0379

 

0380

0381

0382

0383

0384

0385

0386

0387

 

0388

0389

0390

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="955dfbb9abbec308"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="6ce5ea0c8334b076"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.16 TC-93-12 - Existing Key Compromised, Re-key with Same Life-cycle

Create a new symmetric key with the Activation Date in the past. Do a Get Attribute operation on the State attribute to verify the key is 'Active'. Then revoke the key as compromised, verify that the state has changed to 'Compromised'. Create a replacement key using Re-key with the offset set to '0' to indicate that the times are to be copied from the existing key. Do a Get Attribute operation to verify that the state of the new key is 'Active'. To clean up, both keys are deleted.

 

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

# 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="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-93-12-rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+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>

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

0074

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0075

0076

0077

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="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="Revoke"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="KeyCompromise"/>

      </RevocationReason>

      <CompromiseOccurrenceDate type="DateTime" value="$NOW"/>

    </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="2012-04-27T08:14:27+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

0147

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

0165

0166

0167

0168

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Compromised"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </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="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0201

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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="State"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

 

0231

0232

0233

0234

0235

0236

0237

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Active"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

 

0250

0251

0252

# 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>

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

 

0267

0268

0269

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+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>

 

0270

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

 

0284

0285

 

0286

0287

0288

0289

0290

0291

0292

0293

 

0294

0295

0296

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="c95bbfd6ad466474"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="4e6a3e943e1dda87"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

0314

0315

0316

0317

0318

0319

 

0320

0321

0322

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="c95bbfd6ad466474"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="4e6a3e943e1dda87"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.17 TC-94-12 - Create Key, Re-key with New Life-cycle

Create a symmetric key with a specific name, then use Locate to find the key. After using Re-key to create a new key, verify that the name was removed from the existing key and copied to the new key. To clean up, both keys are deleted.

 

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

# 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="TC-94-12-rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+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>

 

0055

0056

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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-94-12-rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0076

0077

0078

0079

0080

0081

0082

0083

0084

0085

0086

0087

0088

0089

 

0090

0091

0092

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0093

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

 

0105

0106

0107

0108

0109

0110

0111

 

0112

0113

0114

0115

 

0116

0117

0118

0119

 

0120

0121

0122

0123

0124

0125

# 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="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW-31536000"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Process Start Date"/>

          <AttributeValue type="DateTime" value="$NOW-31536000"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Protect Stop Date"/>

          <AttributeValue type="DateTime" value="$NOW+31536000"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Deactivation Date"/>

          <AttributeValue type="DateTime" value="$NOW+31536000"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

 

0140

0141

0142

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

 

0155

0156

0157

0158

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

 

0173

0174

0175

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:27+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

 

0188

0189

0190

0191

0192

0193

0194

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Activation Date"/>

      <AttributeName type="TextString" value="Process Start Date"/>

      <AttributeName type="TextString" value="Protect Stop Date"/>

      <AttributeName type="TextString" value="Deactivation Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

 

0209

0210

0211

0212

0213

0214

 

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Activation Date"/>

        <AttributeValue type="DateTime" value="$NOW-31536000"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Process Start Date"/>

        <AttributeValue type="DateTime" value="$NOW-31536000"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Protect Stop Date"/>

        <AttributeValue type="DateTime" value="$NOW+31536000"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Deactivation Date"/>

        <AttributeValue type="DateTime" value="$NOW+31536000"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

 

0244

0245

0246

0247

0248

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-94-12-rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0249

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

 

0263

0264

0265

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

 

0278

0279

0280

# 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>

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

 

0295

0296

0297

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+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>

 

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

 

0314

0315

0316

0317

0318

0319

0320

0321

 

0322

0323

0324

# TIME 7

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="64bf984d81eee045"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="6e140354775e324d"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0325

0326

0327

0328

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

 

0340

0341

0342

0343

0344

0345

0346

0347

 

0348

0349

0350

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="64bf984d81eee045"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="6e140354775e324d"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.18 TC-95-12 - Obtain Lease for Expired Key

Create a symmetric key with a specific name and obtain a lease. Revoke the key with state 'Compromised' and re-key the key. Try to obtain a lease on the old key which fails due to a server policy which does not allow giving out leases for compromised keys. Locate the new key with the original name. Get the new key and obtain a lease.

 

 

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

# TIME 0

# [Client-A]

<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="TC-95-12-rekeyKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Activation Date"/>

          <AttributeValue type="DateTime" value="$NOW"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

 

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+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>

 

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

# TIME 1

# [Client-A]

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="ef5a0e97a29b32034c66efbf26ad3e42"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

 

0114

0115

0116

# TIME 2

# [Client-A]

<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="ObtainLease"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

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="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <LeaseTime type="Interval" value="3600"/>

      <LastChangeDate type="DateTime" value="$NOW"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

 

0150

0151

0152

0153

0154

# TIME 3

# [Client-B]

<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="KeyCompromise"/>

      </RevocationReason>

      <CompromiseOccurrenceDate type="DateTime" value="$NOW"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

 

0169

0170

0171

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+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>

 

 

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

 

0184

0185

0186

# TIME 4

# [Client-B]

<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="ReKey"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

 

0201

0202

0203

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

 

0216

0217

0218

# TIME 5

# [Client-A]

<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="ObtainLease"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

 

0233

0234

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="CO is in state Compromised, no lease given"/>

  </BatchItem>

</ResponseMessage>

 

 

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

 

0251

0252

0253

0254

0255

# TIME 6

# [Client-A]

<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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-95-12-rekeyKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

 

0270

0271

0272

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

 

0285

0286

0287

# TIME 7

# [Client-A]

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

 

0303

0304

0305

0306

0307

 

0308

0309

0310

0311

0312

0313

0314

0315

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="525d4b0bbb66bcb538029d49a6f569a5"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

 

0328

0329

0330

# TIME 8

# [Client-A]

<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="ObtainLease"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

0344

 

0345

0346

0347

0348

0349

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ObtainLease"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <LeaseTime type="Interval" value="3600"/>

      <LastChangeDate type="DateTime" value="$NOW"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0350

0351

0352

0353

0354

0355

0356

0357

0358

0359

0360

0361

 

0362

0363

0364

# TIME 9

# [Client-A]

<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>

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

 

0379

0380

0381

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+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>

 

 

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

 

0396

0397

 

0398

0399

0400

0401

0402

0403

0404

0405

 

0406

0407

0408

# TIME 10

# [Client-A]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="e00004346ea64da4"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <RevocationReason>

        <RevocationReasonCode type="Enumeration"                    value="CessationOfOperation"/>

      </RevocationReason>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="0376ca8cdcc8a2f1"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0409

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

0421

0422

0423

 

0424

0425

0426

0427

0428

0429

0430

0431

 

0432

0433

0434

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Revoke"/>

    <UniqueBatchItemID type="ByteString" value="e00004346ea64da4"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="0376ca8cdcc8a2f1"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.19 TC-101-12 - Create a Key, Archive and Recover it

Create a symmetric key with a specified name, then use Locate to find the key and get the key. Archive the key (asynchronous operation, use Poll until it completes) and use Get and Locate on it, but both fail (Get returns an error and Locate returns no Unique Identifiers). Add the Storage Status Mask to the Locate-command, indicating to the server to search in both online and archived storage. The Locate then finds the archived key. Recover the key (asynchronous operation, use Poll until it completes) from the archive, then repeat the Get operation which will now succeed.

Since the client is unable to force the server to respond asynchronously, it is possible for a server to respond synchronously to the requests issued at times 3 and 9, in which case the expected responses are the ones shown at times 4 and 10 respectively.

Note: a server may perform Archive and Recover operations synchronously and not require the use of Poll for the client to wait for the operation to complete

 

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

# 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="TC-101-12-archiveKey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+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>

 

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

 

0074

 

0075

0076

0077

0078

0079

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-101-12-archiveKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

0136

0137

0138

0139

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0b4c9fb659c5ce09ec12c3233d526f45"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

 

0153

0154

0155

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Archive"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:14:28+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Archive"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

 

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

 

0183

0184

0185

# TIME 4

# [REPEAT] until Archive response is returned

<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="Poll"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </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="2012-04-27T08:14:30+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Archive"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

 

0215

0216

0217

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:14:32+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ObjectArchived"/>

    <ResultMessage type="TextString" value="Object is archived"/>

  </BatchItem>

</ResponseMessage>

 

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

 

0246

0247

0248

0249

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Archive Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

 

0264

0265

0266

 

0267

0268

0269

0270

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:32+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Archive Date"/>

        <AttributeValue type="DateTime" value="2012-04-27T08:14:30+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

 

0290

 

0291

0292

0293

0294

0295

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-101-12-archiveKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:33+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0312

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

 

0324

0325

0326

0327

0328

0329

0330

0331

 

0332

 

0333

0334

0335

0336

0337

# 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="Locate"/>

    <RequestPayload>

      <StorageStatusMask type="Integer" value="ArchivalStorage OnLineStorage"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-101-12-archiveKey"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

 

0352

0353

0354

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:33+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

 

0368

0369

0370

# TIME 9

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <AsynchronousIndicator type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Recover"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0371

0372

0373

0374

0375

0376

0377

0378

0379

0380

0381

0382

0383

 

0384

0385

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:33+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Recover"/>

    <ResultStatus type="Enumeration" value="OperationPending"/>

    <AsynchronousCorrelationValue type="ByteString"                 value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

  </BatchItem>

</ResponseMessage>

 

 

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

0396

0397

 

0398

0399

0400

# TIME 10

# [REPEAT] until Recover response is returned

<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="Poll"/>

    <RequestPayload>

      <AsynchronousCorrelationValue type="ByteString"               value="$ASYNCHRONOUS_CORRELATION_VALUE"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0401

0402

0403

0404

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

 

0415

0416

0417

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Recover"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0418

0419

0420

0421

0422

0423

0424

0425

0426

0427

0428

0429

 

0430

0431

0432

# TIME 11

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0433

0434

0435

0436

0437

0438

0439

0440

0441

0442

0443

0444

0445

0446

0447

 

0448

0449

0450

0451

0452

 

0453

0454

0455

0456

0457

0458

0459

0460

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0b4c9fb659c5ce09ec12c3233d526f45"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0461

0462

0463

0464

0465

0466

0467

0468

0469

0470

0471

0472

 

0473

0474

0475

# TIME 12

<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>

0476

0477

0478

0479

0480

0481

0482

0483

0484

0485

0486

0487

0488

0489

 

0490

0491

0492

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+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>

 

2.3.20 TC-111-12 - Credential, Operation Policy, Destroy Date

Pass a Credential object of type Username and Password in the message header in all requests for identification purposes. Create a symmetric key and set the Operation Policy Name attribute to 'default'. Using another Username and Password Credential, attempt to perform a Get operation batched with a Get Attribute List on the created symmetric key - according to the Default Operation Policy, both these request SHALL fail, and with the Batch Error Continuation Option set to 'Continue', the client SHALL also receive both response payloads. Using the first (correct) Credential, Destroy the object and then get the Destroy Date attribute.

The message exchanges shown in this test case assume that the first Credential (Fred) is valid and the second credential (Barney) is either invalid or does not have access to the newly created key (which should always be true under the 'default' Operation Policy).

Note: a server can elect to not return meta-data for destroyed objects and in those circumstances the Get Attributes operation may fail.

 

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

 

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <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="TC-111-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Operation Policy Name"/>

          <AttributeValue type="TextString" value="default"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration" value="CBC"/>

            <PaddingMethod type="Enumeration" value="PKCS5"/>

            <HashingAlgorithm type="Enumeration" value="SHA_1"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

 

0073

0074

0075

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+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>

 

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

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="55d88770e2556dab"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Operation Policy Name"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="eb864ee01f1f98cd"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

 

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

 

0137

0138

0139

0140

0141

 

0142

0143

0144

0145

0146

0147

0148

0149

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="55d88770e2556dab"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Operation Policy Name"/>

        <AttributeValue type="TextString" value="default"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="eb864ee01f1f98cd"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30e55f4b230b34ce8afc476c66f8351b"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0150

0151

0152

0153

0154

0155

0156

0157

0158

 

0159

0160

0161

0162

0163

0164

0165

 

0166

0167

0168

0169

0170

0171

0172

0173

 

0174

0175

0176

0177

0178

0179

0180

 

0181

0182

0183

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Barney"/>

          <Password type="TextString" value="secret2"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchErrorContinuationOption type="Enumeration"                value="Continue"/>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="4f0e6d3dba3d0495"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <UniqueBatchItemID type="ByteString" value="9b937e7cd50b233b"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="4f0e6d3dba3d0495"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Access denied"/>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <UniqueBatchItemID type="ByteString" value="9b937e7cd50b233b"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Access denied"/>

  </BatchItem>

</ResponseMessage>

 

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

 

0229

0230

0231

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

 

0246

0247

0248

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+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>

 

0249

0250

0251

0252

0253

0254

0255

0256

0257

 

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

 

0270

0271

0272

0273

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration"                          value="UsernameAndPassword"/>

        <CredentialValue>

          <Username type="TextString" value="Fred"/>

          <Password type="TextString" value="password1"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Destroy Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

 

0288

0289

0290

 

0291

0292

0293

0294

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Destroy Date"/>

        <AttributeValue type="DateTime" value="2012-04-27T08:14:35+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.21 TC-112-12 - Device Credential, Operation Policy, Destroy Date

Pass a Credential object of type Device Credential in the message header in all requests for identification purposes. Create a symmetric key and set the Operation Policy Name attribute to 'default'. Using another Credential, attempt to perform a Get operation batched with a Get Attribute List on the created symmetric key. According to the Default Operation Policy, both these request SHALL fail, and with the Batch Error Continuation Option set to 'Continue', the client SHALL also receive both response payloads. Using the first Credential, Destroy the object and get the Destroy Date attribute.  The message exchanges shown in this test case assume that the first Credential (devID2233) is valid and the second credential (devID4444) is either invalid or does not have access to the newly created key (which should always be true under the 'default' Operation Policy).

Note: a server can elect to not return meta-data for destroyed objects and in those circumstances the Get Attributes operation may fail.

 

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

 

0048

0049

0050

0051

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration" value="Device"/>

        <CredentialValue>

          <DeviceSerialNumber type="TextString"                     value="serNum123456"/>

          <Password type="TextString" value="secret"/>

          <DeviceIdentifier type="TextString" value="devID2233"/>

          <NetworkIdentifier type="TextString" value="netID9000"/>

          <MachineIdentifier type="TextString" value="machineID1"/>

          <MediaIdentifier type="TextString" value="mediaID313"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <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="TC-112-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Operation Policy Name"/>

          <AttributeValue type="TextString" value="default"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration" value="CBC"/>

            <PaddingMethod type="Enumeration" value="PKCS5"/>

            <HashingAlgorithm type="Enumeration" value="SHA_1"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

 

0077

0078

0079

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+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>

 

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

0111

0112

0113

 

0114

0115

0116

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration" value="Device"/>

        <CredentialValue>

          <DeviceSerialNumber type="TextString"                     value="serNum123456"/>

          <Password type="TextString" value="secret"/>

          <DeviceIdentifier type="TextString" value="devID2233"/>

          <NetworkIdentifier type="TextString" value="netID9000"/>

          <MachineIdentifier type="TextString" value="machineID1"/>

          <MediaIdentifier type="TextString" value="mediaID313"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="e705e27dc0ba7789"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Operation Policy Name"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="50a7f741a1119826"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

 

0132

0133

 

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

 

0145

0146

0147

0148

0149

 

0150

0151

0152

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="e705e27dc0ba7789"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Operation Policy Name"/>

        <AttributeValue type="TextString" value="default"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="50a7f741a1119826"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="acfeaffdbdd17d0e63624a22083ee4b6"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

 

0169

0170

0171

0172

 

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

0183

0184

0185

 

0186

0187

0188

0189

0190

0191

0192

 

0193

0194

0195

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration" value="Device"/>

        <CredentialValue>

          <DeviceSerialNumber type="TextString"                     value="serNum101010"/>

          <Password type="TextString" value="passwd"/>

          <DeviceIdentifier type="TextString" value="devID4444"/>

          <NetworkIdentifier type="TextString" value="netID9"/>

          <MachineIdentifier type="TextString"                      value="machineID1111"/>

          <MediaIdentifier type="TextString" value="mediaID0000"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchErrorContinuationOption type="Enumeration"                value="Continue"/>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="1154049d742c498e"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <UniqueBatchItemID type="ByteString" value="8ae55c6e91d97b05"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="1154049d742c498e"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Access denied"/>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <UniqueBatchItemID type="ByteString" value="8ae55c6e91d97b05"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="PermissionDenied"/>

    <ResultMessage type="TextString" value="Access denied"/>

  </BatchItem>

</ResponseMessage>

 

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

 

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

 

0245

0246

0247

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration" value="Device"/>

        <CredentialValue>

          <DeviceSerialNumber type="TextString"                     value="serNum123456"/>

          <Password type="TextString" value="secret"/>

          <DeviceIdentifier type="TextString" value="devID2233"/>

          <NetworkIdentifier type="TextString" value="netID9000"/>

          <MachineIdentifier type="TextString" value="machineID1"/>

          <MediaIdentifier type="TextString" value="mediaID313"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

 

0262

0263

0264

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+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>

 

0265

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

 

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

 

0290

0291

0292

0293

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <Authentication>

      <Credential>

        <CredentialType type="Enumeration" value="Device"/>

        <CredentialValue>

          <DeviceSerialNumber type="TextString"                     value="serNum123456"/>

          <Password type="TextString" value="secret"/>

          <DeviceIdentifier type="TextString" value="devID2233"/>

          <NetworkIdentifier type="TextString" value="netID9000"/>

          <MachineIdentifier type="TextString" value="machineID1"/>

          <MediaIdentifier type="TextString" value="mediaID313"/>

        </CredentialValue>

      </Credential>

    </Authentication>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Destroy Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

 

0308

0309

0310

 

0311

0312

0313

0314

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Destroy Date"/>

        <AttributeValue type="DateTime" value="2012-04-27T08:14:35+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.22 TC-121-12 - Query, Maximum Response Size

Perform a Query operation, querying the Operations and Objects supported by the server, with a restriction on the Maximum Response Size set in the request header. Since the resulting Query response is too large, an error is returned. Increase the Maximum Response Size, resubmit the Query request, and get a successful response.

Note: the list of object types supported and operations will vary depending on the server implementation. The server can report the Vendor Identification in whatever TextString form the vendor selects. The server may return vendor specific tags in the Server Information structure indicating additional vendor-specific information about the server.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

0016

0017

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <MaximumResponseSize type="Integer" value="256"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <RequestPayload>

      <QueryFunction type="Enumeration" value="QueryOperations"/>

      <QueryFunction type="Enumeration" value="QueryObjects"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

 

0032

0033

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ResponseTooLarge"/>

    <ResultMessage type="TextString" value="Response size: 648, Maximum Response Size indicated in request: 256"/>

  </BatchItem>

</ResponseMessage>

 

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <MaximumResponseSize type="Integer" value="2048"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <RequestPayload>

      <QueryFunction type="Enumeration" value="QueryOperations"/>

      <QueryFunction type="Enumeration" value="QueryObjects"/>

      <QueryFunction type="Enumeration"                             value="QueryServerInformation"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

0111

0112

0113

 

0114

0115

0116

0117

0118

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <Operation type="Enumeration" value="Query"/>

      <Operation type="Enumeration" value="Locate"/>

      <Operation type="Enumeration" value="Destroy"/>

      <Operation type="Enumeration" value="Get"/>

      <Operation type="Enumeration" value="Create"/>

      <Operation type="Enumeration" value="Register"/>

      <Operation type="Enumeration" value="GetAttributes"/>

      <Operation type="Enumeration" value="GetAttributeList"/>

      <Operation type="Enumeration" value="AddAttribute"/>

      <Operation type="Enumeration" value="ModifyAttribute"/>

      <Operation type="Enumeration" value="DeleteAttribute"/>

      <Operation type="Enumeration" value="Activate"/>

      <Operation type="Enumeration" value="Revoke"/>

      <Operation type="Enumeration" value="Poll"/>

      <Operation type="Enumeration" value="Cancel"/>

      <Operation type="Enumeration" value="Check"/>

      <Operation type="Enumeration" value="GetUsageAllocation"/>

      <Operation type="Enumeration" value="CreateKeyPair"/>

      <Operation type="Enumeration" value="ReKey"/>

      <Operation type="Enumeration" value="Archive"/>

      <Operation type="Enumeration" value="Recover"/>

      <Operation type="Enumeration" value="ObtainLease"/>

      <Operation type="Enumeration" value="ReKeyKeyPair"/>

      <Operation type="Enumeration" value="Certify"/>

      <Operation type="Enumeration" value="ReCertify"/>

      <Operation type="Enumeration" value="DiscoverVersions"/>

      <Operation type="Enumeration" value="Notify"/>

      <Operation type="Enumeration" value="Put"/>

      <Operation type="Enumeration" value="RNGRetrieve"/>

      <Operation type="Enumeration" value="RNGSeed"/>

      <Operation type="Enumeration" value="Encrypt"/>

      <Operation type="Enumeration" value="Decrypt"/>

      <Operation type="Enumeration" value="Sign"/>

      <Operation type="Enumeration" value="SignatureVerify"/>

      <Operation type="Enumeration" value="MAC"/>

      <Operation type="Enumeration" value="MACVerify"/>

      <Operation type="Enumeration" value="Hash"/>

      <Operation type="Enumeration" value="CreateSplitKey"/>

      <Operation type="Enumeration" value="JoinSplitKey"/>

      <ObjectType type="Enumeration" value="Certificate"/>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <ObjectType type="Enumeration" value="SecretData"/>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <ObjectType type="Enumeration" value="Template"/>

      <ObjectType type="Enumeration" value="OpaqueObject"/>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <ObjectType type="Enumeration" value="PGPKey"/>

      <VendorIdentification type="TextString" value="SOME-VENDOR-NAME"/>

      <ServerInformation>

      </ServerInformation>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.23 TC-122-12 - Query Vendor Extensions

Query the server for a list and map of vendor extension tags it recognizes.

Note: Extension Type is an Integer as there is no corresponding enumerated type for the Item Type field.

 

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

0015

# 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="Query"/>

    <RequestPayload>

      <QueryFunction type="Enumeration" value="QueryExtensionList"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0016

0017

0018

0019

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

0030

0031

0032

0033

0034

0035

0036

0037

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ExtensionInformation>

        <ExtensionName type="TextString" value="ACME LOCATION"/>

      </ExtensionInformation>

      <ExtensionInformation>

        <ExtensionName type="TextString" value="ACME ZIP CODE"/>

      </ExtensionInformation>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

# 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="Query"/>

    <RequestPayload>

      <QueryFunction type="Enumeration" value="QueryExtensionMap"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:35+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Query"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ExtensionInformation>

        <ExtensionName type="TextString" value="ACME LOCATION"/>

        <ExtensionTag type="Integer" value="5548545"/>

        <ExtensionType type="Integer" value="7"/>

      </ExtensionInformation>

      <ExtensionInformation>

        <ExtensionName type="TextString" value="ACME ZIP CODE"/>

        <ExtensionTag type="Integer" value="5548546"/>

        <ExtensionType type="Integer" value="2"/>

      </ExtensionInformation>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.24 TC-131-12 - Register an Asymmetric Key Pair in PKCS1 Format

Register a private key in the PKCS_1 key format, then register the corresponding public key, also in PKCS_1 format, with the Link attribute pointing to the previously registered private key. Thereafter add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in PKCS_1 key format, then destroy both the private and the public 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

# 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="TC-131-12-prikey1"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# 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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-131-12-pubkey1"/>

        </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>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# 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="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

0257

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

0272

 

0273

0274

0275

0276

0277

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0278

0279

0280

0281

0282

0283

0284

0285

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

 

0298

0299

0300

0301

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

 

0317

0318

0319

0320

0321

 

 

 

 

 

 

 

 

 

0322

0323

0324

0325

0326

0327

0328

0329

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

 

0342

0343

0344

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

0357

0358

 

0359

0360

0361

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

 

0374

0375

0376

# 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>

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

 

0391

0392

0393

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

2.3.25 TC-132-12 - Register an Asymmetric Key Pair and a Corresponding X509 Certificate

Register a public/private key pair in the PKCS_1 key format and a corresponding X509 certificate. Add the appropriate links between the registered objects.  Make sure the certificate was registered and the attributes set correctly by listing and retrieving the attributes. Get the keys and certificate, and finally destroy all the registered objects.

 

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

# 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="TC-132-12-pubkey1"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# 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="PrivateKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-132-12-prikey1"/>

        </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>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

0132

0133

 

0134

0135

0136

0137

0138

 

0139

0140

0141

0142

0143

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0144

0145

0146

0147

# 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="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-132-12-cert1"/>

        </Attribute>

      </TemplateAttribute>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="30820312308201faa003020102020101300d06092a864886f70d0101050500303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950301e170d3130313130313233353935395a170d3230313130313233353935395a303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d495030820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a321301f301d0603551d0e0416041404e57bd2c431b2e816e180a19823fac858273f6b300d06092a864886f70d01010505000382010100a876adbc6c8e0ff017216e195fea76bff61a567c9a13dc50d13fec12a4273c441547cfabcb5d61d991e966319df72c0d41ba826a45112ff26089a2344f4d71cf7c921b4bdfaef1600d1baaa15336057e014b8b496d4fae9e8a6c1da9aeb6cbc960cbf2fae77f587ec4bb282045338845b88dd9aeea53e482a36e734e4f5f03b9d0dfc4cafc6bb34ea9053e52bd609ee01e86d9b09fb51120c19834a997b09ce08d79e81311762f974bb1c8c09186c4d78933e0db38e905084877e147c78af52fae07192ff166d19fa94a11cc11b27ed050f7a27fae13b205a574c4ee00aa8bd65d0d7057c985c839ef336a441ed53a53c6b6b696f1bdeb5f7ea811ebb25a7f86"/>

      </Certificate>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

 

0183

0184

0185

0186

0187

0188

0189

0190

0191

 

0192

0193

0194

0195

0196

 

0197

0198

0199

0200

0201

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="31f81bfb0f0492bd"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="ba865701c7837be2"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

 

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

 

0232

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="31f81bfb0f0492bd"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="ba865701c7837be2"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

 

0255

0256

0257

# 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="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

 

0273

0274

 

0275

 

0276

 

0277

 

0278

0279

0280

0281

0282

 

0283

0284

0285

0286

0287

0288

0289

 

0290

0291

0292

0293

0294

0295

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Certificate Length"/>

      <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

      <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

      <AttributeName type="TextString" value="X.509 Certificate Subject"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="Fresh"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="x-ID"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

 

0308

 

0309

0310

0311

0312

 

0313

 

0314

0315

0316

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

 

0331

0332

 

0333

0334

 

0335

0336

0337

0338

0339

 

0340

0341

 

0342

0343

0344

0345

 

0346

0347

 

0348

0349

0350

0351

0352

0353

0354

0355

 

0356

 

0357

0358

0359

 

0360

0361

0362

0363

0364

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Identifier"/>

        <AttributeValue>

          <Issuer type="TextString"                                 value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

          <SerialNumber type="TextString" value="01"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Issuer"/>

        <AttributeValue>

          <CertificateIssuerDistinguishedName type="TextString"     value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Subject"/>

        <AttributeValue>

          <CertificateSubjectDistinguishedName type="TextString"    value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Type"/>

        <AttributeValue type="Enumeration" value="X_509"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Digital Signature Algorithm"/>

        <AttributeValue type="Enumeration"                          value="SHA_1WithRSAEncryption"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Cryptographic Length"/>

        <AttributeValue type="Integer" value="2048"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

 

0377

0378

0379

0380

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

 

0396

0397

0398

0399

0400

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0401

0402

0403

0404

0405

0406

0407

0408

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0409

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

 

0421

0422

0423

0424

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

0436

0437

0438

0439

 

0440

0441

0442

0443

0444

 

 

 

 

 

 

 

 

 

0445

0446

0447

0448

0449

0450

0451

0452

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <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>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0453

0454

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

 

0465

0466

0467

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0468

0469

0470

0471

0472

0473

0474

0475

0476

0477

0478

0479

0480

0481

0482

 

0483

0484

0485

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0486

0487

0488

0489

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="30820312308201faa003020102020101300d06092a864886f70d0101050500303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950301e170d3130313130313233353935395a170d3230313130313233353935395a303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d495030820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a321301f301d0603551d0e0416041404e57bd2c431b2e816e180a19823fac858273f6b300d06092a864886f70d01010505000382010100a876adbc6c8e0ff017216e195fea76bff61a567c9a13dc50d13fec12a4273c441547cfabcb5d61d991e966319df72c0d41ba826a45112ff26089a2344f4d71cf7c921b4bdfaef1600d1baaa15336057e014b8b496d4fae9e8a6c1da9aeb6cbc960cbf2fae77f587ec4bb282045338845b88dd9aeea53e482a36e734e4f5f03b9d0dfc4cafc6bb34ea9053e52bd609ee01e86d9b09fb51120c19834a997b09ce08d79e81311762f974bb1c8c09186c4d78933e0db38e905084877e147c78af52fae07192ff166d19fa94a11cc11b27ed050f7a27fae13b205a574c4ee00aa8bd65d0d7057c985c839ef336a441ed53a53c6b6b696f1bdeb5f7ea811ebb25a7f86"/>

      </Certificate>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0490

0491

0492

0493

0494

0495

0496

0497

0498

0499

0500

0501

 

0502

0503

0504

# TIME 9

<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>

0505

0506

0507

0508

0509

0510

0511

0512

0513

0514

0515

0516

0517

0518

 

0519

0520

0521

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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>

 

0522

0523

0524

0525

0526

0527

0528

0529

0530

0531

0532

0533

 

0534

0535

0536

# TIME 10

<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>

0537

0538

0539

0540

0541

0542

0543

0544

0545

0546

0547

0548

0549

0550

 

0551

0552

0553

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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>

 

0554

0555

0556

0557

0558

0559

0560

0561

0562

0563

0564

0565

 

0566

0567

0568

# TIME 11

<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_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0569

0570

0571

0572

0573

0574

0575

0576

0577

0578

0579

0580

0581

0582

 

0583

0584

0585

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.26 TC-133-12 - Create, Re-key Key Pair

Create a public/private key pair on the server and retrieve the keys in PKCS_1 format. Re-key the key pair and retrieve the new public/private key pair in transparent format. To verify that the links are set correctly, the Link attributes are retrieved. Finally, all the keys are destroyed.

Note: a server is not required to support conversion between key formats so returning keys in Transparent form when registerd in PKCS_1 may not be supported.

 

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

0048

0049

0050

# 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="CreateKeyPair"/>

    <RequestPayload>

      <CommonTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="RSA"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="2048"/>

        </Attribute>

      </CommonTemplateAttribute>

      <PrivateKeyTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-133-12-privateKey1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Sign"/>

        </Attribute>

      </PrivateKeyTemplateAttribute>

      <PublicKeyTemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-133-12-publicKey1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify"/>

        </Attribute>

      </PublicKeyTemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

 

0065

 

0066

0067

0068

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:39+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="CreateKeyPair"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <PrivateKeyUniqueIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

      <PublicKeyUniqueIdentifier type="TextString"                  value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

 

0081

0082

0083

0084

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

0111

0112

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:39+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_1"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="308204a30201000282010100b0612bccafdd11d41819a274526d68dbf3c3f25667c402a0e0e8e4cce007ea6b6ea53699e8bd7ccab7d5ae66c00b28fd678b81ba1d4e841c3a36caf13f852004633f80d840be7aad9bcdeabde11514b6ab3bce602e11305cf5e9c34ebee32c3c468b9b146502738c0ae82e63ab8bd1fc4db0c6a09eb0c9f6e01b9cc8d22317aedab328209a1dc5d2ce8529d81521c41730c1c8c76249d233e89096ca44dfeb469e3532bb90d6691c6932d0c63dbb7647c6e64337b719a1f100b1366cff3bbb213b17c716beb2c9ad88b3b76abacc378c4898636480fff1108e1fa1e7573c096606e21b18a05245ebd976701bb676dc2962a328d39385ef7571bc48ae134b374102030100010282010037b71a3cd838bf0efe65ea9950085b9d4f4d5059d70165cb2800a975c636f9e7e1d5b27fbfb34b9e459fec2d6cf0998c228f40f567988bc6d6e4c40a9d04126f1062d8f276d134b36e8a0762df9ce72424c70993fc3955cba7aaa61553db32f7ff58ce2e0d124f29a7b05c2703e370fb80171d47539988d2c14c37a4802cb1a7f5685bcc78865480ca4e5d367cafc8b533e610620f94f54a082effc4c4e50998410dd32fa7dedae895200b56437fe177f47d1b373b5e8e0c62f64b3a19e5918be83e90a1bbe195a4b516f3ceae6db35b0e4427858631dcbce6b1e49cf12345297df41e54d2cbc2834c34e37bb92888e4659d232a4f3d22edeb9bff43b7881c7902818100eab386180dec393c70c8b00c5fae6a10e6b620ae82e5096ce11bf4c539a015165a7481227e91492748159d85317d1e81b780cca1cf19630a10987b940663a2496a4ead2ed4bfb7017dc813e7a49017aa278b8ac1381ef27fde54ed4a1ee1e74812dcaee514cb9d48590eb3972b26ba2f21de0aab64cfc1dbcba32561f5f31d6f02818100c062be5756e93ebe005be752a5b7be2d35b342e483ff266cc9f595edbcffff603c8e03dcd9350a19fabf434077f9543088132f0e843c2da6fe4f1cedee49a5eb9a8aea1219a41c1db39252196137a041def9edcff43aa9280d90be137dbf48777e6055695f58fcc9cd6b07924fdab47a5553f5ad7b82d52553f6ec3f647ffe4f0281804221676d2baf1dc97bf5f034ec58d6a6007bdce58f183df9a1cc20c1d9a4d38c42dc84ee553f569f6cde3a4e274d9be4ecf1abb70405a1345accbc354f3f8fa0a4059b2290eb9c031d8fdc9bee70735a8c5df330d241560ed574948fc7f7db1521cb70b43791cfb56cf28983d4b2cacf30f9c183dd99f4839bf3523b31f3d89d0281806cbe63c0928bbcbf410cb1b071a36e87b776e034b2b7a24c93cb913794414f64625613b0ddc5b134061bde33ae9cec0d929ce5585b3e78bf8fb7c02e6d268bf6a4a028b69a6fbcc4bd1fd3f02c9778aa43131a6d152ba339d491201f7c5086f1a429679dec1b2ca814c88ebb11101a3b9bc79d72b601b9e12398cae8fa31aed90281810099777cd45f0d1a862888eb2cf7ac14d22d75b88e99adf66f15cccbd29979bf5eaa90bb8c29b29a8be1257425a9a2db2f493df4a740c7fbc138e4b4d80f24e7ca11d63528d900ba2dd5c44da59e2d601544ec92681161f17b86c838694a49a978f76ff05287bfce0704c6f3f9fa87551d0cf1a970b2cb130b5320783a36ea8613"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

 

0125

0126

0127

0128

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyFormatType type="Enumeration" value="PKCS_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

 

0144

0145

0146

0147

0148

 

 

 

 

 

 

 

 

 

0149

0150

0151

0152

0153

0154

0155

0156

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:39+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_1"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3082010a0282010100b0612bccafdd11d41819a274526d68dbf3c3f25667c402a0e0e8e4cce007ea6b6ea53699e8bd7ccab7d5ae66c00b28fd678b81ba1d4e841c3a36caf13f852004633f80d840be7aad9bcdeabde11514b6ab3bce602e11305cf5e9c34ebee32c3c468b9b146502738c0ae82e63ab8bd1fc4db0c6a09eb0c9f6e01b9cc8d22317aedab328209a1dc5d2ce8529d81521c41730c1c8c76249d233e89096ca44dfeb469e3532bb90d6691c6932d0c63dbb7647c6e64337b719a1f100b1366cff3bbb213b17c716beb2c9ad88b3b76abacc378c4898636480fff1108e1fa1e7573c096606e21b18a05245ebd976701bb676dc2962a328d39385ef7571bc48ae134b37410203010001"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

 

0169

0170

0171

# 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="ReKeyKeyPair"/>

    <RequestPayload>

      <PrivateKeyUniqueIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

 

0186

 

0187

0188

0189

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReKeyKeyPair"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <PrivateKeyUniqueIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

      <PublicKeyUniqueIdentifier type="TextString"                  value="$UNIQUE_IDENTIFIER_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

 

0208

 

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

 

0222

0223

0224

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="f409f9adc43f836f"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-133-12-privateKey1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="396c4d8b5bde0667"/>

    <RequestPayload>

      <KeyFormatType type="Enumeration"                             value="TransparentRSAPrivateKey"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

 

0240

0241

0242

0243

0244

0245

0246

0247

0248

 

0249

0250

0251

 

0252

0253

0254

 

 

 

 

 

 

 

 

0255

 

 

 

 

 

 

 

 

0256

 

0257

 

 

 

 

 

0258

 

 

 

 

 

0259

 

 

 

 

 

0260

 

 

 

 

 

0261

 

 

 

 

 

0262

0263

0264

0265

0266

0267

0268

0269

0270

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="f409f9adc43f836f"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="396c4d8b5bde0667"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration"                         value="TransparentRSAPrivateKey"/>

          <KeyValue>

            <KeyMaterial>

              <Modulus type="BigInteger"                            value="0000000000000000eab4492bbb2364359408c57b8af47003572c81aaed719ed92d9b13c741cc196b717d1c98f0c250580e37ac3ade11a7cd1aaede3a0424b53d33200510ce7eef71ded7e96e585d1d7ba3767a8dbfad4d2701b5831a34552a827fc2cd398e659fd5063e1dfd28a994b0e6a7449bbad8dcf40e22943b841aa9e58519fa3575b4409abfeb57f5723b45f7ce4e5277a2d0acccbcd49608d6ff8a7c933d4d70a9e8c8df24829b58404a5af1b0d4c8668c35e3549e28204f2249bfc13b20c05ab0252c975e53f604f68c6e498c7b14adb72debac91221a8eb1ad581080144eb8900b4bf9d9792be37ec6191ad183e2b60b80174eecb66ca08c3ac07f51ba1c056130ec69"/>

              <PrivateExponent type="BigInteger"                    value="42e22587e4c86d2227916855907f9ffc13b7872c228622725960bbfe286df5407d12de376744b8889f64961c20747f911f6d7dbea2b7a33e51776a7a239e60b5de7f40f2451423f6bbda638a497925675c41519f0212d30e65422a21a0c6ad0993c1d7e1f0d8829af6dfebd94521cfb56ce1c5c4401d2915531cd804ac0a35ee57d2a43ffd7671aeaad0ab090f17f8419073445ac6fb218bd3c7c5beb9f3e7bf41e4e5f9632d8492eb0cb2ada41083e040535ae409ad866d1998a0335f253cda2d21a95b2feebacee64b969aaccab322fa0ecbc75c3f0c15c267dbf431abedecae191b72000b612e41e65eb93c9f08eef67740b84ba32d9c5697ed91e1c8ccd1"/>

              <PublicExponent type="BigInteger"                     value="0000000000010001"/>

              <P type="BigInteger"                                  value="0000000000000000f88c737435b8b3f5bdb2b2eb73dd5a665e2ee56c64e055169038f754ed3021d3e72ae82234dacd4a5fa12edeb4874b70c5915bba4571bef55964389d8a4b8a79b628771bb4d634fbd18a27ab5fb6973309c4af9e27d269b1c4054b62012d1c52847e3679f71f91cf7ff6b646c9edaafe5b46845fc1190fa0ef80b8a45de63973"/>

              <Q type="BigInteger"                                  value="0000000000000000f1bd952150d189707c316486f205429680230505581b40ed503901bef82cec4e2a0a564c58365e8c82b7d34a0305d407194b1d15c273015d1212969906267322827303b276d0c7585a21ee6758a74e95bfecc5b544686325754e5d2602f0d5734c58f870aa2ca00e08122e940e4d6d0e11611d47966482df8845b8ff88d1fbb3"/>

              <PrimeExponentP type="BigInteger"                     value="0000000000000000e9717156eac62a305b15a63ac33e5a13dfce0829c0ad7afd904410f9b1350df0ab247f96f131b8b36c1245a562c5d833793cc77cb290dd1c2ff393c1540d1368b1905c1ea7c0b14efb45d9707a9b5273db6ee2cb96f767d2511befeb82d34dd0ab24a821f1dbb2e5c3788347058db696e43fdd40da6aa16534ce1f9e319b74c5"/>

              <PrimeExponentQ type="BigInteger"                     value="0000000000000000eb6294819a364dc3afca507e6dcedd65ba635f12331666842d6734e204b989671adc71e768c5980eed819d4525e858ea88a07133ace15ae48b227a6d8a658a1a823707d49088fe72736132c882b4767aae2518e64633f6c69490b776b9ca53ad2f1c3add4976a66ac34521019d639adae5e5502352b7900fa49b6f65b28df4ad"/>

              <CRTCoefficient type="BigInteger"                     value="0000000000000000cc75a52cab58eb65878acf7c19070c0a495d5376f40b86531b98b1e3b44e28d39db55898db8aa317ce214814efdd00c1d234d4c27168710a1a68cfdae310f1a56e17e1a51f43d069137beeb7a6aeef4da2b3dfde54d222e24c77209dc5c8c831b8f09f816d3ee628e76e93bae2594229a59b36ea1f507be2db99ae358896956e"/>

            </KeyMaterial>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

 

0289

 

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

 

0303

0304

0305

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="5df01d7748d64a16"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-133-12-publicKey1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="7c7f588280a61c24"/>

    <RequestPayload>

      <KeyFormatType type="Enumeration"                             value="TransparentRSAPublicKey"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

0320

 

0321

0322

0323

0324

0325

0326

0327

0328

0329

 

0330

0331

0332

 

0333

0334

0335

 

 

 

 

 

 

 

 

0336

 

0337

0338

0339

0340

0341

0342

0343

0344

0345

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="5df01d7748d64a16"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="7c7f588280a61c24"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration"                         value="TransparentRSAPublicKey"/>

          <KeyValue>

            <KeyMaterial>

              <Modulus type="BigInteger"                            value="0000000000000000eab4492bbb2364359408c57b8af47003572c81aaed719ed92d9b13c741cc196b717d1c98f0c250580e37ac3ade11a7cd1aaede3a0424b53d33200510ce7eef71ded7e96e585d1d7ba3767a8dbfad4d2701b5831a34552a827fc2cd398e659fd5063e1dfd28a994b0e6a7449bbad8dcf40e22943b841aa9e58519fa3575b4409abfeb57f5723b45f7ce4e5277a2d0acccbcd49608d6ff8a7c933d4d70a9e8c8df24829b58404a5af1b0d4c8668c35e3549e28204f2249bfc13b20c05ab0252c975e53f604f68c6e498c7b14adb72debac91221a8eb1ad581080144eb8900b4bf9d9792be37ec6191ad183e2b60b80174eecb66ca08c3ac07f51ba1c056130ec69"/>

              <PublicExponent type="BigInteger"                     value="0000000000010001"/>

            </KeyMaterial>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

0357

 

0358

0359

0360

0361

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

 

0376

0377

0378

0379

0380

 

0381

0382

0383

0384

0385

0386

0387

0388

 

0389

0390

0391

0392

0393

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_3"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="ReplacedObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0394

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

 

0406

0407

0408

0409

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

0421

0422

0423

 

0424

0425

0426

0427

0428

 

0429

0430

0431

0432

0433

0434

0435

0436

 

0437

0438

0439

0440

0441

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="ReplacedObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0442

0443

0444

0445

0446

0447

0448

0449

0450

0451

0452

0453

 

0454

0455

0456

0457

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

0468

0469

0470

0471

 

0472

0473

0474

0475

0476

 

0477

0478

0479

0480

0481

0482

0483

 

0484

 

0485

0486

0487

0488

0489

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration"                              value="ReplacementObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0490

0491

0492

0493

0494

0495

0496

0497

0498

0499

0500

0501

 

0502

0503

0504

0505

# TIME 9

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0506

0507

0508

0509

0510

0511

0512

0513

0514

0515

0516

0517

0518

0519

 

0520

0521

0522

0523

0524

 

0525

0526

0527

0528

0529

0530

0531

 

0532

 

0533

0534

0535

0536

0537

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration"                              value="ReplacementObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_3"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0538

0539

0540

0541

0542

0543

0544

0545

0546

0547

0548

0549

 

0550

0551

0552

# TIME 10

<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>

0553

0554

0555

0556

0557

0558

0559

0560

0561

0562

0563

0564

0565

0566

 

0567

0568

0569

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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>

 

0570

0571

0572

0573

0574

0575

0576

0577

0578

0579

0580

0581

 

0582

0583

0584

# TIME 11

<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>

0585

0586

0587

0588

0589

0590

0591

0592

0593

0594

0595

0596

0597

0598

 

0599

0600

0601

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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>

 

0602

0603

0604

0605

0606

0607

0608

0609

0610

0611

0612

0613

 

0614

0615

0616

# TIME 12

<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_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0617

0618

0619

0620

0621

0622

0623

0624

0625

0626

0627

0628

0629

0630

 

0631

0632

0633

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0634

0635

0636

0637

0638

0639

0640

0641

0642

0643

0644

0645

 

0646

0647

0648

# TIME 13

<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_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0649

0650

0651

0652

0653

0654

0655

0656

0657

0658

0659

0660

0661

0662

 

0663

0664

0665

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.27 TC-134-12 - Register Key Pair, Certify and Re-certify Public Key

Register a public/private key pair on the server. Request the server to have a certificate created using the Certify operation. Retrieve the certificate and its attributes, then execute the Re-certify operation to re-certify the public key. Finally, destroy all the objects.

The new KMIP 1.1 certificate DN attributes are retrieved as are the original (deprecated) KMIP 1.0 certificate DN attributes.

 

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

# 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="TC-134-12-pubkey1"/>

        </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>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# 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="PrivateKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-134-12-prikey1"/>

        </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>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# 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="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0172

0173

0174

 

0175

0176

0177

0178

0179

0180

 

0181

 

0182

0183

0184

0185

0186

0187

# 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="Certify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <CertificateRequestType type="Enumeration" value="PKCS_10"/>

      <CertificateRequest type="ByteString"                         value="3082028130820169020100303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e7430820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a000300d06092a864886f70d010105050003820101002d90f5492c3df1771df4e87e1087cb952197319a9696e2d588efda580d8d3304427b997cd921ad7c674aea413fba85fd61e6a481de9ab2e8a4ff43c02655015d3437f783fe0c781519cd08ffd3c007c7fade9632fe5659e2cac35bd6aaf3e13dc18097d996df01b66fc5e26ca109380863a209125cc0fd79533f327fa1cad444d89d3ff81b92a91428c469c846090fd1324846e12d01671962c332a7826152daaf486cc867185c2e27caf2f009898db07fe4b45c518192aa493d8f8c0198db67f90672ab6de05a08032941377f473d80716d85adc6182003ab34942302214eb3895f15403f2616adfd6bb5e6aa47fa38c9dfc73f4de80ddb91bdb04d21c82ba6"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-134-12-certificate1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </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="2012-04-27T08:14:41+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Certify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0220

0221

0222

0223

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-18T08:55:57+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="30820277308201e0a0030201020209009bba23d1b6a48f97300d06092a864886f70d01010b0500303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950301e170d3133303631383038353535375a170d3134303631383038353535375a303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e7430820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001300d06092a864886f70d01010b050003818100c4fe08d5bd74239648c7faabaed0978527ac01a0fd17b8a65c0d92501c4eab3f487511062eafedc1024e74dc6bfdaae7f66d1fdda7574f6db3f03c6de83586b52c593a4671001a0531bc43eff4849880b07924b7a9a0236d5d64d82d4d8e42dcd3a72c80728804f9ba7f0e80c3fe3eb09cb3ed7fbfbb2167c99be513ff9db0b6"/>

      </Certificate>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# 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="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

 

0271

0272

0273

0274

 

0275

0276

0277

0278

 

0279

 

0280

0281

 

0282

0283

0284

0285

0286

0287

0288

 

0289

0290

 

0291

 

0292

 

0293

0294

0295

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Length"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="Fresh"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="Name"/>

      <AttributeName type="TextString" value="Original Creation Date"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

      <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

      <AttributeName type="TextString" value="X.509 Certificate Subject"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

 

0308

 

0309

0310

0311

0312

 

0313

 

0314

0315

 

0316

 

0317

 

0318

0319

0320

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Certificate Length"/>

      <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

      <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

      <AttributeName type="TextString" value="X.509 Certificate Subject"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

0334

 

0335

0336

 

0337

0338

 

0339

0340

0341

0342

0343

 

0344

0345

 

0346

0347

0348

0349

 

0350

0351

 

0352

0353

0354

0355

0356

0357

0358

0359

 

0360

 

0361

0362

0363

 

0364

0365

0366

0367

 

0368

0369

0370

0371

 

0372

0373

 

 

0374

 

0375

0376

0377

0378

 

0379

0380

 

 

0381

0382

0383

0384

 

0385

0386

 

 

0387

0388

0389

0390

0391

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Identifier"/>

        <AttributeValue>

          <Issuer type="TextString"                                 value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

          <SerialNumber type="TextString" value="9BBA23D1B6A48F97"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Issuer"/>

        <AttributeValue>

          <CertificateIssuerDistinguishedName type="TextString"     value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Subject"/>

        <AttributeValue>

          <CertificateSubjectDistinguishedName type="TextString"    value="CN=Client,OU=KMIP,O=ACME,C=US"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Type"/>

        <AttributeValue type="Enumeration" value="X_509"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Digital Signature Algorithm"/>

        <AttributeValue type="Enumeration"                          value="SHA_256WithRSAEncryption"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Cryptographic Length"/>

        <AttributeValue type="Integer" value="2048"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Length"/>

        <AttributeValue type="Integer" value="635"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

        <AttributeValue>

          <IssuerDistinguishedName type="ByteString"                value="303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950"/>

          <CertificateSerialNumber type="ByteString"                value="0209009bba23d1b6a48f97"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

        <AttributeValue>

          <IssuerDistinguishedName type="ByteString"                value="303b310b3009060355040613025553310d300b060355040a130454455354310e300c060355040b13054f41534953310d300b060355040313044b4d4950"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Subject"/>

        <AttributeValue>

          <SubjectDistinguishedName type="ByteString"               value="303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e74"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0392

0393

0394

0395

0396

0397

0398

0399

0400

0401

0402

0403

 

0404

0405

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0406

0407

0408

 

0409

0410

0411

0412

0413

0414

 

0415

 

0416

0417

0418

0419

0420

0421

# 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="ReCertify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <CertificateRequestType type="Enumeration" value="PKCS_10"/>

      <CertificateRequest type="ByteString"                         value="3082028130820169020100303c310b3009060355040613025553310d300b060355040a130441434d45310d300b060355040b13044b4d4950310f300d06035504031306436c69656e7430820122300d06092a864886f70d01010105000382010f003082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001a000300d06092a864886f70d010105050003820101002d90f5492c3df1771df4e87e1087cb952197319a9696e2d588efda580d8d3304427b997cd921ad7c674aea413fba85fd61e6a481de9ab2e8a4ff43c02655015d3437f783fe0c781519cd08ffd3c007c7fade9632fe5659e2cac35bd6aaf3e13dc18097d996df01b66fc5e26ca109380863a209125cc0fd79533f327fa1cad444d89d3ff81b92a91428c469c846090fd1324846e12d01671962c332a7826152daaf486cc867185c2e27caf2f009898db07fe4b45c518192aa493d8f8c0198db67f90672ab6de05a08032941377f473d80716d85adc6182003ab34942302214eb3895f15403f2616adfd6bb5e6aa47fa38c9dfc73f4de80ddb91bdb04d21c82ba6"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-134-12-certificate2"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

 

0436

0437

0438

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ReCertify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

0450

 

0451

0452

0453

0454

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

0468

 

0469

0470

0471

0472

0473

 

0474

0475

0476

0477

0478

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0479

0480

0481

0482

0483

0484

0485

0486

0487

0488

0489

0490

 

0491

0492

0493

0494

# TIME 9

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0495

0496

0497

0498

0499

0500

0501

0502

0503

0504

0505

0506

0507

0508

 

0509

0510

0511

0512

0513

 

0514

0515

0516

0517

0518

0519

0520

0521

 

0522

0523

0524

0525

0526

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_3"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0527

0528

0529

0530

0531

0532

0533

0534

0535

0536

0537

0538

 

0539

0540

0541

0542

# TIME 10

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Link"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0543

0544

0545

0546

0547

0548

0549

0550

0551

0552

0553

0554

0555

0556

 

0557

0558

0559

0560

0561

 

0562

0563

0564

0565

0566

0567

0568

 

0569

 

0570

0571

0572

0573

0574

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration"                              value="ReplacementObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_3"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0575

0576

0577

0578

0579

0580

0581

0582

0583

0584

0585

0586

 

0587

0588

 

0589

0590

0591

0592

# TIME 11

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0593

0594

0595

0596

0597

0598

0599

0600

0601

0602

0603

0604

0605

0606

 

0607

0608

0609

0610

0611

 

0612

0613

0614

0615

0616

0617

0618

0619

 

0620

0621

0622

0623

 

0624

0625

 

0626

0627

0628

0629

0630

0631

0632

 

0633

 

0634

0635

0636

0637

0638

0639

0640

 

0641

 

0642

0643

0644

0645

0646

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-18T08:55:57+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="ReplacedObjectLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Certificate Identifier"/>

        <AttributeValue>

          <Issuer type="TextString"                                 value="CN=KMIP,OU=OASIS,O=TEST,C=US"/>

          <SerialNumber type="TextString" value="CF77F7A23282BC12"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-134-12-certificate2"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-134-12-certificate1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0647

0648

0649

0650

0651

0652

0653

0654

0655

0656

0657

0658

 

0659

0660

0661

# TIME 12

<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>

0662

0663

0664

0665

0666

0667

0668

0669

0670

0671

0672

0673

0674

0675

 

0676

0677

0678

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0679

0680

0681

0682

0683

0684

0685

0686

0687

0688

0689

0690

 

0691

0692

0693

# TIME 13

<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>

0694

0695

0696

0697

0698

0699

0700

0701

0702

0703

0704

0705

0706

0707

 

0708

0709

0710

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0711

0712

0713

0714

0715

0716

0717

0718

0719

0720

0721

0722

 

0723

0724

0725

# TIME 14

<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_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0726

0727

0728

0729

0730

0731

0732

0733

0734

0735

0736

0737

0738

0739

 

0740

0741

0742

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0743

0744

0745

0746

0747

0748

0749

0750

0751

0752

0753

0754

 

0755

0756

0757

# TIME 15

<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_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0758

0759

0760

0761

0762

0763

0764

0765

0766

0767

0768

0769

0770

0771

 

0772

0773

0774

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.28 TC-141-12 - Key Wrapping using AES Key Wrap and No Encoding

Register a 128-bit AES key encryption key (KEK) with the Cryptographic Usage Mask attribute set to Wrap and the Cryptographic Parameters specifying NIST Key Wrap as the Block Cipher Mode. Subsequently, register another 128-bit AES data key (DEK). Retrieve the data key wrapped using the NIST Key Wrap algorithm and the KEK. The Encoding Option is set to No Encoding, which means that only the key material is wrapped as opposed to the whole TTLV-encoded Key Value structure being wrapped. Finally, destroy both keys to return the server to the initial state.  The key material for both the KEK and the DEK are from the test vectors specified in Section 4.6 of [NISTKeyWrap].

 

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

0048

# 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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-141-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="WrapKey"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration"                     value="NISTKeyWrap"/>

          </AttributeValue>

        </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="000102030405060708090a0b0c0d0e0f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

 

0063

0064

0065

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

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

# 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="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-141-12-key2"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

 

0118

0119

0120

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

 

0133

0134

0135

0136

 

0137

0138

 

0139

0140

0141

0142

0143

0144

0145

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyWrappingSpecification>

        <WrappingMethod type="Enumeration" value="Encrypt"/>

        <EncryptionKeyInformation>

          <UniqueIdentifier type="TextString"                       value="$UNIQUE_IDENTIFIER_0"/>

          <CryptographicParameters>

            <BlockCipherMode type="Enumeration"                     value="NISTKeyWrap"/>

          </CryptographicParameters>

        </EncryptionKeyInformation>

        <EncodingOption type="Enumeration" value="NoEncoding"/>

      </KeyWrappingSpecification>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

 

0161

0162

0163

0164

 

0165

0166

0167

0168

0169

0170

 

0171

0172

 

0173

0174

0175

0176

0177

0178

0179

0180

0181

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue type="ByteString"                               value="1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5"/>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

          <KeyWrappingData>

            <WrappingMethod type="Enumeration" value="Encrypt"/>

            <EncryptionKeyInformation>

              <UniqueIdentifier type="TextString"                   value="$UNIQUE_IDENTIFIER_0"/>

              <CryptographicParameters>

                <BlockCipherMode type="Enumeration"                 value="NISTKeyWrap"/>

              </CryptographicParameters>

            </EncryptionKeyInformation>

            <EncodingOption type="Enumeration" value="NoEncoding"/>

          </KeyWrappingData>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

0193

 

0194

0195

0196

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

 

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

0222

0223

0224

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

 

0237

0238

0239

# 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_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

 

0269

0270

 

0271

0272

0273

0274

# 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>

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

 

0289

0290

0291

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

 

0304

0305

0306

# 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>

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

0320

 

0321

0322

0323

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

2.3.29 TC-142-12 - Key Wrapping using AES Key Wrap with Attributes

Register a 128-bit AES key encryption key (KEK) with the Cryptographic Usage Mask attribute set to Wrap and the Cryptographic Parameters specifying NIST Key Wrap as the Block Cipher Mode. Subsequently, register another 128-bit AES data key (DEK). Retrieve the DEK wrapped using the NIST Key Wrap algorithm and the KEK. The Cryptographic Usage Mask Attribute Name is specified, indicating to the server that this attribute is to be wrapped together with the key material. The Encoding Option field is omitted, which means that the default TTLV-encoding is used. Finally, destroy both keys to return the server to the initial state.

The key material for both the KEK and the DEK are from the test vectors specified in Section 4.6 of [NISTKeyWrap].

 

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

0048

# 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="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-142-12-key1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="WrapKey"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Parameters"/>

          <AttributeValue>

            <BlockCipherMode type="Enumeration"                     value="NISTKeyWrap"/>

          </AttributeValue>

        </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="000102030405060708090a0b0c0d0e0f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

 

0063

0064

0065

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:42+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>

 

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

# 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="SymmetricKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-142-12-key2"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

 

0118

0119

0120

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

 

0133

0134

0135

0136

 

0137

0138

 

0139

0140

0141

 

0142

0143

0144

0145

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <KeyWrappingSpecification>

        <WrappingMethod type="Enumeration" value="Encrypt"/>

        <EncryptionKeyInformation>

          <UniqueIdentifier type="TextString"                       value="$UNIQUE_IDENTIFIER_0"/>

          <CryptographicParameters>

            <BlockCipherMode type="Enumeration"                     value="NISTKeyWrap"/>

          </CryptographicParameters>

        </EncryptionKeyInformation>

        <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      </KeyWrappingSpecification>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

 

0161

0162

0163

0164

 

 

 

0165

0166

0167

0168

0169

0170

 

0171

0172

 

0173

0174

0175

0176

0177

0178

0179

0180

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue type="ByteString"                               value="0dc0f8cb416e7b4422d85805d3dd80e49c6c75f763d1be99748de568e4eecdc05b94b1c1946fd3def14cfe184daada0daf07c93e038ceb9f501bdd8a82c7d6b33152dbf9d415924b9f13f6cb75ff880ab09dc862e473f74bdaf9398ec7695d41"/>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

          <KeyWrappingData>

            <WrappingMethod type="Enumeration" value="Encrypt"/>

            <EncryptionKeyInformation>

              <UniqueIdentifier type="TextString"                   value="$UNIQUE_IDENTIFIER_0"/>

              <CryptographicParameters>

                <BlockCipherMode type="Enumeration"                 value="NISTKeyWrap"/>

              </CryptographicParameters>

            </EncryptionKeyInformation>

          </KeyWrappingData>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

 

0193

0194

0195

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

 

0211

0212

0213

0214

0215

 

0216

0217

0218

0219

0220

0221

0222

0223

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0224

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

 

0236

0237

0238

# 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_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

 

0253

0254

0255

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

 

0268

0269

 

0270

0271

0272

0273

# 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>

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

 

0288

0289

0290

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

 

0303

0304

0305

# 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>

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

 

0320

0321

0322

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

2.3.30 TC-151-12 - Locate a Fresh Object from the Default Group

Locate a single fresh object from the default object group. Perform a Get Attribute to retrieve the value of the Fresh attribute to make sure that the key is fresh. Get the object (the kind of object returned depends on the server policy), and get the Fresh attribute again to verify that the object is no longer fresh. Finally, destroy the object.  This test case illustrates only one possible behavior related to the default group. In this test case, it is assumed that the server has fresh objects available in the default group, or that it creates a new object on-the-fly as a consequence of the Locate request. It is also assumed that no other client retrieves the object after the Locate but before the batched Get Attributes request, thereby toggling the value of the Fresh attribute.

 

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

# TIME 0

<RequestMessage>  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="1e766d8a95d6e5d1"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberFresh"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="default"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="8650f83be5373722"/>

    <RequestPayload>

      <AttributeName type="TextString" value="Fresh"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0029

0030

0031

0032

0033

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

 

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

0055

0056

0057

0058

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="1e766d8a95d6e5d1"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <UniqueBatchItemID type="ByteString" value="8650f83be5373722"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0059

0060

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

 

0071

0072

0073

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="7fe09d434868ae14a0021ac19330f8d9226790d680e519f8ac25f42d72f60f0c"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

 

0114

0115

0116

0117

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Fresh"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

 

0132

0133

0134

0135

0136

0137

0138

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="false"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </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="2012-04-27T08:14:43+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>

 

2.3.31 TC-152-12 - Client-side Group Management

Register two symmetric keys, both with the same (non-default) Object Group name specified and the Fresh attribute set to true. Get the Fresh attribute from both keys to make sure it was set. Perform three batched Locate and Get requests to get a fresh key from the group. The first two requests should return both the registered keys, whereas the third request should return no key. To clean up, destroy both keys.  This test case assumes that the server supports and sets the Fresh attribute when requested to do so by the client.

 

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

0048

0049

0050

0051

# 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 Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString"                         value="ClientFreshTest"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Fresh"/>

          <AttributeValue type="Boolean" value="true"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-152-12-key1"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

 

0066

0067

0068

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

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

0111

 

 

0112

0113

0114

0115

0116

0117

0118

0119

# 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="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="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString"                         value="ClientFreshTest"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Fresh"/>

          <AttributeValue type="Boolean" value="true"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-152-12-key2"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

0133

 

0134

0135

0136

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+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>

 

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

 

0149

0150

0151

0152

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Fresh"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

 

0167

0168

0169

0170

0171

0172

0173

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:43+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

 

0186

0187

0188

0189

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Fresh"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

 

0204

0205

0206

0207

0208

0209

0210

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

 

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="294fb5e3e93f8ecc"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberFresh"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="ClientFreshTest"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="9da79a935d4e4ae6"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

0257

0258

0259

0260

0261

0262

 

0263

0264

0265

0266

0267

 

 

0268

0269

0270

0271

0272

0273

0274

0275

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="294fb5e3e93f8ecc"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="9da79a935d4e4ae6"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

0290

 

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="85e3e21d14d6df1d"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberFresh"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="ClientFreshTest"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="40feae5ec1bda875"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

 

0319

0320

0321

0322

0323

0324

0325

0326

0327

 

0328

0329

0330

0331

0332

 

 

0333

0334

0335

0336

0337

0338

0339

0340

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="85e3e21d14d6df1d"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="40feae5ec1bda875"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

 

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="657339bdf375bfa2"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberFresh"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString" value="ClientFreshTest"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="5713c4911444b36e"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="657339bdf375bfa2"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="5713c4911444b36e"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="ItemNotFound"/>

    <ResultMessage type="TextString" value="NOT_FOUND"/>

  </BatchItem>

</ResponseMessage>

 

0393

0394

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

 

0405

0406

0407

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0408

0409

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

0421

 

0422

0423

0424

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+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>

 

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

0436

 

0437

0438

0439

# 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>

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

0450

0451

0452

0453

 

0454

0455

0456

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+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>

 

2.3.32 TC-153-12 - Default Object Group Member

This test case exercises the 'default' Object Group Member flag in the Locate request. Three keys are created on the server and put into the same group (the Object Group attribute is set to the same value for all keys). Thereafter, the client performs four batched Locate and Get requests, asking for the default object from the group.  This test case assumes that the server policy is such that it serves objects from the group in a round-robin fashion. The pointer to the default object is advanced each time an object is retrieved using a Get request. The first three times Locate and Get is executed, the three keys are returned one after the other. When Locate and Get is executed for the fourth time, the first key is again returned. Finally, all keys are destroyed.

Note: there is no requirement for a server to implement support for any round-robin based allocation; this test case illustrates a server which supports such a policy.

 

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

0048

0049

 

0050

0051

0052

0053

 

0054

0055

0056

0057

0058

 

0059

0060

0061

0062

0063

0064

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

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="3"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="75e8bdb337aec40e"/>

    <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="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString"                         value="RoundRobinTestGroup"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-153-12-key1"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="ac0e6e56e8d99f66"/>

    <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="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString"                         value="RoundRobinTestGroup"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-153-12-key2"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="77e87d356ba09da1"/>

    <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="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Object Group"/>

          <AttributeValue type="TextString"                         value="RoundRobinTestGroup"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-153-12-key3"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

 

0113

0114

0115

0116

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="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="3"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="75e8bdb337aec40e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="ac0e6e56e8d99f66"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Create"/>

    <UniqueBatchItemID type="ByteString" value="77e87d356ba09da1"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

 

0149

0150

0151

 

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="99e7a6ea0125bb67"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberDefault"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString"                           value="RoundRobinTestGroup"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="0efd9c2e346ee1cb"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

 

0177

0178

0179

0180

0181

0182

0183

0184

0185

 

0186

0187

0188

0189

0190

 

 

0191

0192

0193

0194

0195

0196

0197

0198

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="99e7a6ea0125bb67"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="0efd9c2e346ee1cb"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="bd13da8bce07ea6b89c4d110827bf6a8478cf95edca9bbc278ab04f4cbeecff0"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

 

0214

0215

0216

 

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="0303428f37f17b8d"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberDefault"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString"                           value="RoundRobinTestGroup"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="dae46b60d9b6459b"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

 

0251

0252

0253

0254

0255

 

 

0256

0257

0258

0259

0260

0261

0262

0263

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="0303428f37f17b8d"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="dae46b60d9b6459b"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="430bfb0cbc273e15326e3a23965f7704a13af37a642c37026c9a59694c83b7a3"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0264

0265

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

0278

 

0279

0280

0281

 

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="863c27d7a0d3da5e"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberDefault"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString"                           value="RoundRobinTestGroup"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="c4617b3205e96fb2"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

 

0307

0308

0309

0310

0311

0312

0313

0314

0315

 

0316

0317

0318

0319

0320

 

 

0321

0322

0323

0324

0325

0326

0327

0328

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="863c27d7a0d3da5e"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="c4617b3205e96fb2"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="a51b38e400168a25f2f122d7b8543a00daf022e61677a08a33a834f5f52c3097"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

 

0344

0345

0346

 

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="f1ce9893ee5bde19"/>

    <RequestPayload>

      <MaximumItems type="Integer" value="1"/>

      <ObjectGroupMember type="Enumeration"                         value="GroupMemberDefault"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Group"/>

        <AttributeValue type="TextString"                           value="RoundRobinTestGroup"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="9a18dd11cc6ce394"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

 

0372

0373

0374

0375

0376

0377

0378

0379

0380

 

0381

0382

0383

0384

0385

 

 

0386

0387

0388

0389

0390

0391

0392

0393

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <UniqueBatchItemID type="ByteString" value="f1ce9893ee5bde19"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <UniqueBatchItemID type="ByteString" value="9a18dd11cc6ce394"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="bd13da8bce07ea6b89c4d110827bf6a8478cf95edca9bbc278ab04f4cbeecff0"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0394

0395

0396

0397

0398

0399

0400

 

0401

0402

0403

0404

0405

0406

0407

0408

 

0409

0410

0411

0412

0413

0414

0415

 

0416

0417

0418

0419

0420

0421

0422

 

0423

0424

0425

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchErrorContinuationOption type="Enumeration"                value="Continue"/>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="3"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="f4cf0a5614786eb7"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="dd55da10ebe91928"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="18334af52fee87fa"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

0436

0437

0438

0439

0440

 

0441

0442

0443

0444

0445

0446

0447

0448

 

0449

0450

0451

0452

0453

0454

0455

0456

 

0457

0458

0459

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="3"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="f4cf0a5614786eb7"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="dd55da10ebe91928"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <UniqueBatchItemID type="ByteString" value="18334af52fee87fa"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.33 TC-161-12 - Discover Versions

Exercise the Discover Versions operation in different ways in order to find out which versions a server supports, as well as to get a list of versions supported by both client and server.

This test case shows the expected responses from a KMIP 1.2 server that supports versions 1.2, 1.1 and 1.0, with 1.2 being the preferred version.

 

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0013

0014

# 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="DiscoverVersions"/>

    <RequestPayload>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2011-12-01T08:46:15+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="2"/>

      </ProtocolVersion>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="1"/>

      </ProtocolVersion>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="0"/>

      </ProtocolVersion>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0043

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

# 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="DiscoverVersions"/>

    <RequestPayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="0"/>

      </ProtocolVersion>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2011-06-24T12:52:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="0"/>

      </ProtocolVersion>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0081

0082

0083

0084

0085

0086

0087

0088

0089

0090

0091

0092

0093

0094

0095

0096

0097

0098

# 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="DiscoverVersions"/>

    <RequestPayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="1"/>

      </ProtocolVersion>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2011-12-01T08:46:15+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="1"/>

      </ProtocolVersion>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

0135

0136

# 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="DiscoverVersions"/>

    <RequestPayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="2"/>

      </ProtocolVersion>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2011-12-01T08:46:15+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="1"/>

        <ProtocolVersionMinor type="Integer" value="2"/>

      </ProtocolVersion>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

# 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="DiscoverVersions"/>

    <RequestPayload>

      <ProtocolVersion>

        <ProtocolVersionMajor type="Integer" value="9"/>

        <ProtocolVersionMinor type="Integer" value="31"/>

      </ProtocolVersion>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2011-12-01T08:46:15+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DiscoverVersions"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.34 TC-171-12 - Handling of Attributes and Attribute Index Values

This test case illustrates the changes in Attribute and Attribute Index handling introduced in KMIP-1.1. A symmetric key is created on the server, and two Name attributes and the Contact Information attribute is specified for the key. A Get Attributes request containing the Object Type attribute name twice is sent, but this operation fails since a single Attribute Name cannot be specified more than once in a Get Attributes request. The Object Type Attribute is then requested once, and this request succeeds. Thereafter, the Contact Information Attribute is modified, with the Attribute Index value of 0 specified. The Name attribute is deleted without specifying the Attribute Index which succeeds (which would have failed under KMIP-1.0). Finally, the created key is destroyed.

 

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="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="256"/>

        </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="TC-171-12-name1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="TC-171-12-name2"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Contact Information"/>

          <AttributeValue type="TextString"                         value="admin@localhost"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

 

0063

0064

0065

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+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>

 

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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Object Type"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="InvalidMessage"/>

    <ResultMessage type="TextString" value="Attribute Name specified more than once: Object Type"/>

  </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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Object Type"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0115

0116

0117

0118

0119

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="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

 

0150

0151

0152

0153

0154

0155

# 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="ModifyAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Contact Information"/>

        <AttributeIndex type="Integer" value="0"/>

        <AttributeValue type="TextString" value="donald@localhost"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

 

0172

0173

0174

0175

0176

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Contact Information"/>

        <AttributeValue type="TextString" value="donald@localhost"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

0187

0188

 

0189

0190

0191

0192

# 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="DeleteAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

 

0207

0208

0209

0210

0211

 

0212

0213

0214

0215

0216

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="DeleteAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Name"/>

        <AttributeValue>

          <NameValue type="TextString" value="TC-171-12-name1"/>

          <NameType type="Enumeration"                              value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0217

0218

0219

0220

0221

0222

0223

0224

0225

0226

0227

0228

 

0229

0230

0231

# 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>

0232

0233

0234

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

 

0246

0247

0248

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:44+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>

 

2.3.35 TC-181-12 - Digests of Symmetric Keys

Exercise the Digest attribute by registering two symmetric keys with the same key material but using different Key Format Type. The Digest Value for the key with the Key Format Type set to Transparent Symmetric Key is calculated on the TTLV-encoded Key Material structure, whereas the Digest Value for the key registered in the Raw Key Format Type is calculated on the raw Key Material Byte String. The server calculates the value of the mandatory Digest attribute instance using the Key Format Type used by the client when registering the keys. Thereafter, the client asks the server to create a symmetric key using the Create operation. In this situation, it is up to the server to choose what Key Format Type of the created key it uses to calculate the Digest Value.

Note: This test case assumes a server that does not compute any additional Digest attributes using another Hashing Algorithm and/or Key Format Type. A server is permitted to provide multiple Digest attributes.

 

 

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

# 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 Algorithm"/>

          <AttributeValue type="Enumeration" value="AES"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-181-12-key1"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

 

0058

0059

0060

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Digest"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="6c064fe051add11edc07727b594eb48711df843e08445bba2cd786bc16bc58e8"/>

          <KeyFormatType type="Enumeration" value="Raw"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

 

0117

0118

0119

0120

 

0121

0122

0123

0124

 

0125

0126

0127

0128

0129

0130

0131

0132

0133

0134

 

0135

0136

0137

 

 

0138

0139

0140

0141

0142

0143

0144

0145

0146

# 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="Register"/>

    <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="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-181-12-key2"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration"                         value="TransparentSymmetricKey"/>

          <KeyValue>

            <KeyMaterial>

              <Key type="ByteString"                                value="0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff"/>

            </KeyMaterial>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

 

0161

0162

0163

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

 

0176

0177

0178

0179

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Digest"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0180

0181

0182

0183

0184

0185

0186

0187

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="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="499ce96ff6f5e19fe9fe7a2fe4c3e92b88db0001a4e8df28d9966856b6c4b87c"/>

          <KeyFormatType type="Enumeration"                         value="TransparentSymmetricKey"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

 

0224

0225

0226

0227

 

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

# 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="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="256"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Decrypt Encrypt"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-181-12-key3"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0238

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

 

0253

0254

0255

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

 

0268

0269

0270

0271

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Digest"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

 

0286

0287

0288

0289

0290

 

 

0291

0292

0293

0294

0295

0296

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="314b223505091db03325c638a6016cf7080d3b116eb3f4896b6d24d4ec2215f8"/>

          <KeyFormatType type="Enumeration" value="Raw"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

 

0309

0310

0311

0312

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <KeyFormatType type="Enumeration" value="Raw"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

 

0328

0329

0330

0331

0332

 

 

0333

0334

0335

0336

0337

0338

0339

0340

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="c1a99ac4716d4ea787d40b449d7b816f0ce82772b463cbf3a042b3f8e81e7bb7"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

 

0353

0354

0355

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

 

0370

0371

0372

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

0373

0374

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

 

0385

0386

0387

# 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>

0388

0389

0390

0391

0392

0393

0394

0395

0396

0397

0398

0399

0400

0401

 

0402

0403

0404

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

0415

0416

 

0417

0418

0419

# TIME 9

<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_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0420

0421

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

 

0434

0435

0436

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.36 TC-182-12 - Digests of RSA Private Keys

Exercise the Digest attribute by registering two RSA private keys with the same key material but using different Key Format Type. The Digest Value for the key with the Key Format Type set to Transparent RSA Private Key is calculated on the TTLV-encoded Key Material structure, whereas the Digest Value for the key registered in the PKCS_1 Key Format Type is calculated on the Key Material Byte String. The server calculates the value of the mandatory Digest attribute instance using the Key Format Type used by the client when registering the keys.

Note: This test case assumes a server that does not compute any additional Digest attributes using another Hashing Algorithm and/or Key Format Type. A server is permitted to provide multiple Digest attributes.

 

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

# 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 Algorithm"/>

          <AttributeValue type="Enumeration" value="RSA"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="2048"/>

        </Attribute>

        <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="TC-182-12-prikey1"/>

        </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>

0044

0045

0046

0047

0048

0049

0050

0051

0052

0053

0054

0055

0056

0057

 

0058

0059

0060

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+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>

 

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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Digest"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="11110a01ed4589d9987c9ad60368e2b762f2b20c00946e1932c1605a18172f55"/>

          <KeyFormatType type="Enumeration" value="PKCS_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

 

0117

0118

0119

0120

 

0121

0122

0123

0124

 

0125

0126

0127

0128

0129

 

0130

0131

0132

0133

0134

 

0135

0136

0137

 

 

 

 

 

 

 

 

0138

 

 

 

 

 

 

 

 

0139

 

0140

 

 

 

 

 

0141

 

 

 

 

 

0142

 

 

 

 

 

0143

 

 

 

 

 

0144

 

 

 

 

 

0145

0146

0147

0148

0149

0150

0151

0152

0153

# 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="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Algorithm"/>

          <AttributeValue type="Enumeration" value="RSA"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Length"/>

          <AttributeValue type="Integer" value="2048"/>

        </Attribute>

        <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="TC-182-12-prikey2"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration"                         value="TransparentRSAPrivateKey"/>

          <KeyValue>

            <KeyMaterial>

              <Modulus type="BigInteger"                            value="0000000000000000ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f605"/>

              <PrivateExponent type="BigInteger"                    value="3b12455d53c1816516c518493f6398aafa72b17dfa894db888a7d48c0a47f62579a4e644f86da711fec850cdd9dbbd17f69a443d2ec1dd60d3c618fa74cde5fdafabd6baa26eb0a3adb4def6480fb1218cd3b083e252e885b6f0729f98b2144d2b72293e1b11d73393bc41f75b15ee3d7569b4995ed1a14425da4319b7b26b0e8fef17c37542ae5c6d5849f87209567f3925a47b016d564859717bc57fcb4522d0aa49ce816e5be7b3088193236ec9efff140858045b73c5d79baf38f7c67f04c5dcf0e3806ad982d1259058c3473e847179a878f2c6b3bd968fb99ea46e9185892f3676e78965c2aed4877ba3917df07c5e927474f19e764ba61dc38d63bf29"/>

              <PublicExponent type="BigInteger"                     value="0000000000010001"/>

              <P type="BigInteger"                                  value="0000000000000000d5c69c8c3cdc2464744a793713dafb9f1dbc799ff96423fecd3cba794286bce920f4b5c183f99ee9028db6212c6277c4c8297fcfbce7f7c24ca4c51fc7182fb8f4019fb1d5659674c5cbe6d5fa992051341760cd00735729a070a9e54d342beba8ef47ee82d3a01b04cec4a00d4ddb41e35116fc221e854b43a696c0e6419b1b"/>

              <Q type="BigInteger"                                  value="0000000000000000cd5ea7702789064b673540cbff09356ad80bc3d592812eba47610b9fac6aecefe22acae438459cda74e59653d88c04189d34399bf5b14b920e34ef38a7d09fe69593396e8fe735e6f0a6ae4990401041d8a406b6fd86a1161e45f95a3eaa5c1012e6662e44f15f335ac971e1766b2bb9c985109974141b44d37e1e319820a55f"/>

              <PrimeExponentP type="BigInteger"                     value="0000000000000000b2871237bf9fad38c3316ab7877a6a868063e542a7186d431e8d27c19ac0414584033942e9ff6e2973bb7b2d8b0e94ad1ee82158108fbc8664517a5a467fb963014bd5dcc2b4fb087c23039d11920dbe22fd9f16b4d89e23225cd455adbaf32ef43f185864a36d630309d6853f7714b39aae1ebee3938f87c2707e178c739f9f"/>

              <PrimeExponentQ type="BigInteger"                     value="00000000000000009690bed14b2afaa26d986d592231ee27d71d49065bd2ba1f78157e20229881fd9d23227d0f8479eaefa922fd75d5b16b1a561fa6680b040ca0bdce650b23b917a4b1bb7983a74fad70e1c305cbec2bff1a85a726a1d90260e4f1084f518234dcd3fe770b9520215bd543bb6a4117718754676a34171666a79f26e79c149c5aa1"/>

              <CRTCoefficient type="BigInteger"                     value="0000000000000000a0c985a0a0a791a659f99731134c44f37b2e520a2cea35800ad27241ed360dfde6e8ca614f12047fd08b76ac4d13c056a0699e2f98a1cac91011294d71208f4abab33ba87aa0517f415baca88d6bac006088fa601d349417e1f0c9b23affa4d496618dbc024986ed690bbb7b025768ff9df8ac15416f489f8129c32341a8b44f"/>

            </KeyMaterial>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PrivateKey>

    </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="2012-04-27T08:14:45+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>

 

0171

0172

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

 

0183

0184

0185

0186

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Digest"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

 

0201

0202

0203

0204

0205

 

 

0206

 

0207

0208

0209

0210

0211

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:45+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="d73bbc51e83332935f912dbfc35c5efc3b7bf8021835ba86b8da4181f74244ac"/>

          <KeyFormatType type="Enumeration"                         value="TransparentRSAPrivateKey"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

 

0224

0225

0226

# 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_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

0238

0239

0240

 

0241

0242

0243

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:46+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>

 

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

 

0256

0257

0258

# 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>

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

0272

 

0273

0274

0275

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:46+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>

 

2.3.37 TC-NP-1-12 - Put

In this test case the client issues a Create request, whereby the server creates a new symmetric key and returns the Unique Identifier. To clean up, the client then performs a Destroy operation to destroy the key.

The server sends Put messages to the client via a separate channel.

 

 

 

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

# TIME 0

# [Client-to-Server]

<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="x-ID"/>

          <AttributeValue type="TextString" value="TC-NP-1-12"/>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

 

0049

0050

0051

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:13:47+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>

 

 

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

 

0064

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

0111

0112

0113

 

0114

0115

0116

0117

 

0118

0119

0120

0121

0122

0123

0124

 

0125

 

0126

0127

0128

0129

0130

0131

0132

0133

# TIME 1

# [Server-to-Client]

<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="Put"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PutFunction type="Enumeration" value="New"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="7546ef6cd37c49806824984477987d1e"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

      <Attribute>

        <AttributeName type="TextString" value="x-ID"/>

        <AttributeValue type="TextString" value="TC-NP-1-12"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <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="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="7549ecda2cd1569974c3748f223fbc947ce9cabce581497522e4b75e9d6ede81"/>

          <KeyFormatType type="Enumeration" value="Raw"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Initial Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:13:48+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:13:48+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Lease Time"/>

        <AttributeValue type="Interval" value="3600"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Original Creation Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:13:48+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:13:48+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

# TIME 2

# [Client-to-Server]

<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>

 

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

 

0179

0180

0181

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:13:48+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>

 

2.3.38 TC-NP-2-12 - Notify & Put

This test case tests the import of key using the Register operation. To validate that the registered key is treated the same as a locally created key, an attribute is added to the key and then modified. Finally, the key is destroyed.

The server sends Notify and Put messages to the client via a separate channel.

 

 

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

# TIME 0

# [Client-to-Server]

<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"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-NP-2-12"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="1122456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+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>

 

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

 

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

0111

0112

0113

0114

 

0115

0116

0117

0118

 

0119

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

# TIME 1

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PutFunction type="Enumeration" value="New"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="1122456789abcdef0123456789abcdef"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

      <Attribute>

        <AttributeName type="TextString" value="x-ID"/>

        <AttributeValue type="TextString" value="TC-NP-2-12"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Unique Identifier"/>

        <AttributeValue type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="SymmetricKey"/>

      </Attribute>

      <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="Encrypt"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Digest"/>

        <AttributeValue>

          <HashingAlgorithm type="Enumeration" value="SHA_256"/>

          <DigestValue type="ByteString"                            value="47c01d3851ce2f254d18928526b6126de30cef9a34a4cfbd4648ec3ed21a9e86"/>

          <KeyFormatType type="Enumeration" value="Raw"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Fresh"/>

        <AttributeValue type="Boolean" value="true"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Initial Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Lease Time"/>

        <AttributeValue type="Interval" value="3600"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="PreActive"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Put"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

 

0159

0160

0161

0162

0163

0164

0165

# TIME 2

# [Client-to-Server]

<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="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

0178

0179

 

0180

0181

0182

0183

0184

0185

0186

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0187

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

 

0199

0200

0201

0202

0203

0204

0205

 

0206

0207

0208

0209

# TIME 3

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="unknown"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

0225

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

0243

0244

# TIME 4

# [Client-to-Server]

<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="ModifyAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

0258

 

0259

0260

0261

0262

0263

0264

0265

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="ModifyAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0266

0267

0268

0269

0270

0271

0272

0273

0274

0275

0276

0277

 

0278

0279

0280

0281

0282

0283

0284

 

0285

0286

0287

0288

# TIME 5

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="x-provider"/>

        <AttributeValue type="TextString" value="third party"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

 

0317

0318

0319

# TIME 6

# [Client-to-Server]

<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>

 

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

 

0334

0335

0336

# [Client-to-Server]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+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>

 

 

0337

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

 

0349

0350

0351

 

0352

0353

0354

0355

0356

0357

0358

0359

# TIME 7

# [Server-to-Client]

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Last Change Date"/>

        <AttributeValue type="DateTime" value="2013-06-26T05:54:18+00:00"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="State"/>

        <AttributeValue type="Enumeration" value="Destroyed"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

0375

# [Server-to-Client]

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="0"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-26T05:54:18+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Notify"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.39 TC-ECC-1-12 - Register an ECC Key Pair

EC recommended curve is secp256k1

- Private Key format ECPrivateKey - http://tools.ietf.org/html/rfc5915

- Public Key format SubjectPublicKeyInfo - http://tools.ietf.org/html/rfc5480

Register a EC private key in the ECPrivateKey key format, then register the corresponding public key, in X.509 (SubjectPublicKeyInfo) format, with the Link attribute pointing to the previously registered private key. Then add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in default format, then destroy both the private and the public key.

 

 -----BEGIN EC PRIVATE KEY-----

 MHQCAQEEINtNEowwyjCeYsQBl1jAC6JE3WTZv1KjEHiGa4oAwZxooAcGBSuBBAAK

 oUQDQgAE2rXTwlMRPbQUq/wcDr9aAlWeZWqhyLCqjYcKoDJM2kiZkl6h5tvCWabH

 glz0ZZKsdZTMQL1gS3KNiLY28xfTZg==

 -----END EC PRIVATE KEY-----

 

 -----BEGIN PUBLIC KEY-----

 MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2rXTwlMRPbQUq/wcDr9aAlWeZWqhyLCq

 jYcKoDJM2kiZkl6h5tvCWabHglz0ZZKsdZTMQL1gS3KNiLY28xfTZg==

 -----END PUBLIC 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

# 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="TC-ECC-1-12-prikey1"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30740201010420db4d128c30ca309e62c4019758c00ba244dd64d9bf52a31078866b8a00c19c68a00706052b8104000aa14403420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="EC"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# 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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-1-12-pubkey1"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3056301006072a8648ce3d020106052b8104000a03420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="EC"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# 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="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

0273

0274

0275

0276

 

 

 

 

0277

0278

0279

0280

0281

0282

0283

0284

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30740201010420db4d128c30ca309e62c4019758c00ba244dd64d9bf52a31078866b8a00c19c68a00706052b8104000aa14403420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="EC"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

 

0297

0298

0299

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

 

0315

0316

0317

0318

0319

 

 

 

0320

0321

0322

0323

0324

0325

0326

0327

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

       <PublicKey>

      <KeyBlock>

        <KeyFormatType type="Enumeration" value="X_509"/>

        <KeyValue>

          <KeyMaterial type="ByteString"                                 value="3056301006072a8648ce3d020106052b8104000a03420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

        </KeyValue>

        <CryptographicAlgorithm type="Enumeration" value="EC"/>

        <CryptographicLength type="Integer" value="256"/>

      </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0328

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

 

0340

0341

0342

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

 

0357

0358

0359

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

 

0372

0373

0374

# 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>

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

 

0389

0390

0391

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

2.3.40 TC-ECC-2-12 - Register an ECC Key Pair in PKCS8 Format

EC recommended curve is secp256k1

- Public Key format SubjectPublicKeyInfo - http://tools.ietf.org/html/rfc5480

Register a EC private key in PKCS8 key format (with passphrase 'secret' using pbeWithSHAAnd3-KeyTripleDES-CBC), then register the corresponding public key, in X.509 (SubjectPublicKeyInfo) format, with the Link attribute pointing to the previously registered private key. Then add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in default format, then destroy both the private and the public key.

 

 -----BEGIN ENCRYPTED PRIVATE KEY-----

 MIGpMBwGCiqGSIb3DQEMAQMwDgQIrlU0TS8GObcCAggABIGIA7njjI0W9Cmq6ORn

 eFHqc9yko1oSsvg8aETKc4sZxLOAHG2u5RcHqOIWvXLTQmzU8m3yZhlZDz1OIJfg

 w2X8XZ2gPAo8CAkbuZRO21wzey2ZZnigF2u3z6PtX+fyyxn6jOou17SeaYp0OUx0

 ovFD2eJEWlcOa9TkBeVhK4ziaHHuv0jH5Wxt4A==

 -----END ENCRYPTED PRIVATE KEY-----

 

 -----BEGIN PUBLIC KEY-----

 MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2rXTwlMRPbQUq/wcDr9aAlWeZWqhyLCq

 jYcKoDJM2kiZkl6h5tvCWabHglz0ZZKsdZTMQL1gS3KNiLY28xfTZg==

 -----END PUBLIC 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

# 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="TC-ECC-2-12-prikey1"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_8"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3081a9301c060a2a864886f70d010c0103300e0408dc4dc656aa7bcc0402020800048188824b0a6786064a1d5686b852d8ff3073cb3379397dee978c60031353e1835a1a3c6289f16ff617b2d8b2d32829c265b997b406a69b96894caa39cee1c556cda380e7174271606a4dfde4bc6182943de6e827573ce3d877b72f1cdd3a59a3721b34740466fa43390ab29fb8ac01df172f9af6bb222aeee0f9be744b425e9620902ebc76ab8ceaa555"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="EC"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# 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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-2-12-pubkey1"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3056301006072a8648ce3d020106052b8104000a03420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="EC"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

 

0129

0130

0131

0132

0133

# 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="AddAttribute"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

0151

0152

 

0153

0154

0155

0156

0157

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </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="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

0219

 

0220

0221

0222

0223

0224

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

 

0254

0255

0256

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

0273

0274

0275

0276

 

 

 

 

0277

0278

0279

0280

0281

0282

0283

0284

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="PKCS_8"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30740201010420db4d128c30ca309e62c4019758c00ba244dd64d9bf52a31078866b8a00c19c68a00706052b8104000aa14403420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="EC"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

 

0297

0298

0299

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

 

0315

0316

0317

0318

0319

 

 

 

0320

0321

0322

0323

0324

0325

0326

0327

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

       <PublicKey>

      <KeyBlock>

        <KeyFormatType type="Enumeration" value="X_509"/>

        <KeyValue>

          <KeyMaterial type="ByteString"                                 value="3056301006072a8648ce3d020106052b8104000a03420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

        </KeyValue>

        <CryptographicAlgorithm type="Enumeration" value="EC"/>

        <CryptographicLength type="Integer" value="256"/>

      </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0328

0329

0330

0331

0332

0333

0334

0335

0336

0337

0338

0339

 

0340

0341

0342

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0343

0344

0345

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

 

0357

0358

0359

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

 

0372

0373

0374

# 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>

0375

0376

0377

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

 

0389

0390

0391

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

2.3.41 TC-ECC-3-12 - Register an ECC Key Pair and ECDSA Certificate

EC recommended curve is secp256k1

- Private Key format ECPrivateKey - http://tools.ietf.org/html/rfc5915

- Public Key format SubjectPublicKeyInfo - http://tools.ietf.org/html/rfc5480

Register a EC private key in the ECPrivateKey key format, then register the corresponding public key, in X.509 (SubjectPublicKeyInfo) format, and a corresponding ECDSA certificate, with the Link attribute pointing to the previously registered private key. Return the attribute values for the ECDSA certificate showing the correct server parsing of the certificate. Then add the Link attribute to the private key, and perform Locate operations to find the public and private keys using the Link attribute. Get both the private and public keys in default format, then destroy both the private and the public key.

 

 -----BEGIN EC PRIVATE KEY-----

 MHQCAQEEINtNEowwyjCeYsQBl1jAC6JE3WTZv1KjEHiGa4oAwZxooAcGBSuBBAAK

 oUQDQgAE2rXTwlMRPbQUq/wcDr9aAlWeZWqhyLCqjYcKoDJM2kiZkl6h5tvCWabH

 glz0ZZKsdZTMQL1gS3KNiLY28xfTZg==

 -----END EC PRIVATE KEY-----

 

 -----BEGIN PUBLIC KEY-----

 MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2rXTwlMRPbQUq/wcDr9aAlWeZWqhyLCq

 jYcKoDJM2kiZkl6h5tvCWabHglz0ZZKsdZTMQL1gS3KNiLY28xfTZg==

 -----END PUBLIC KEY-----

 

 -----BEGIN CERTIFICATE-----

 MIIB1TCCAXqgAwIBAgIJAOwLdAIZbVKVMAoGCCqGSM49BAMCMEgxCzAJBgNVBAYT

 AlVTMQ0wCwYDVQQKDARURVNUMQ4wDAYDVQQLDAVPQVNJUzEaMBgGA1UEAwwRS01J

 UC1FQy1zZWNwMjU2azEwHhcNMTMwNjI1MTAzMzExWhcNMjMwNjIzMTAzMzExWjBI

 MQswCQYDVQQGEwJVUzENMAsGA1UECgwEVEVTVDEOMAwGA1UECwwFT0FTSVMxGjAY

 BgNVBAMMEUtNSVAtRUMtc2VjcDI1NmsxMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE

 2rXTwlMRPbQUq/wcDr9aAlWeZWqhyLCqjYcKoDJM2kiZkl6h5tvCWabHglz0ZZKs

 dZTMQL1gS3KNiLY28xfTZqNQME4wHQYDVR0OBBYEFKCY1LuogX9+lQaMh1++yFCz

 4XegMB8GA1UdIwQYMBaAFKCY1LuogX9+lQaMh1++yFCz4XegMAwGA1UdEwQFMAMB

 Af8wCgYIKoZIzj0EAwIDSQAwRgIhAOnNFLY+PlfdJt37p3o+0dBbNyFFT2F1Cd/z

 ua8C1PWuAiEAya/vk0S4+LEsUltGGNw2Ibzn+LOQrAH/vmhsx2Qcdrs=

 -----END CERTIFICATE-----

 

 

 

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

# 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="TC-ECC-3-12-prikey1"/>

        </Attribute>

      </TemplateAttribute>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30740201010420db4d128c30ca309e62c4019758c00ba244dd64d9bf52a31078866b8a00c19c68a00706052b8104000aa14403420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="EC"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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

# 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="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PrivateKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-3-12-pubkey1"/>

        </Attribute>

      </TemplateAttribute>

      <PublicKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="X_509"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3056301006072a8648ce3d020106052b8104000a03420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="EC"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PublicKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

 

0109

0110

0111

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

 

0127

0128

0129

0130

0131

0132

0133

 

0134

0135

0136

0137

0138

 

0139

0140

0141

0142

0143

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0144

0145

0146

0147

# 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="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="Certificate"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

          <AttributeValue type="Integer" value="Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-ECC-3-12-cert1"/>

        </Attribute>

      </TemplateAttribute>

      <Certificate>

        <CertificateType type="Enumeration" value="X_509"/>

        <CertificateValue type="ByteString"                         value="308201d53082017aa003020102020900ec0b7402196d5295300a06082a8648ce3d0403023048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d736563703235366b31301e170d3133303632353130333331315a170d3233303632333130333331315a3048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d736563703235366b313056301006072a8648ce3d020106052b8104000a03420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366a350304e301d0603551d0e04160414a098d4bba8817f7e95068c875fbec850b3e177a0301f0603551d23041830168014a098d4bba8817f7e95068c875fbec850b3e177a0300c0603551d13040530030101ff300a06082a8648ce3d0403020349003046022100e9cd14b63e3e57dd26ddfba77a3ed1d05b3721454f617509dff3b9af02d4f5ae022100c9afef9344b8f8b12c525b4618dc3621bce7f8b390ac01ffbe686cc7641c76bb"/>

      </Certificate>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0148

0149

0150

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

 

0162

0163

0164

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0165

0166

0167

0168

0169

0170

0171

0172

0173

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

 

0183

0184

0185

0186

0187

0188

0189

0190

0191

 

0192

0193

0194

0195

0196

 

0197

0198

0199

0200

0201

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchCount type="Integer" value="2"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="01"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="02"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

 

0217

0218

0219

0220

0221

 

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

 

0232

0233

0234

0235

0236

0237

 

0238

0239

0240

0241

0242

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="2"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="01"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="02"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="CertificateLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_2"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

 

0255

0256

0257

# 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="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

 

0272

0273

0274

0275

0276

 

0277

0278

0279

0280

 

0281

 

0282

0283

 

0284

0285

0286

0287

0288

0289

0290

 

0291

 

0292

 

0293

0294

0295

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="x-ID"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Certificate Type"/>

      <AttributeName type="TextString" value="Certificate Identifier"/>

      <AttributeName type="TextString" value="Certificate Issuer"/>

      <AttributeName type="TextString" value="Certificate Length"/>

      <AttributeName type="TextString" value="Certificate Subject"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Cryptographic Usage Mask"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="Fresh"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

      <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

      <AttributeName type="TextString" value="X.509 Certificate Subject"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

0306

0307

 

0308

 

0309

 

0310

 

0311

 

0312

0313

0314

# 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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <AttributeName type="TextString" value="Digital Signature Algorithm"/>

      <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

      <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

      <AttributeName type="TextString" value="X.509 Certificate Subject"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

0328

 

0329

0330

 

0331

0332

0333

0334

 

0335

0336

 

 

 

0337

 

0338

0339

0340

0341

 

0342

0343

 

 

 

0344

0345

0346

0347

 

0348

0349

 

 

 

0350

0351

0352

0353

0354

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <Attribute>

        <AttributeName type="TextString" value="Digital Signature Algorithm"/>

        <AttributeValue type="Enumeration" value="ECDSAWithSHA256"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Identifier"/>

        <AttributeValue>

          <IssuerDistinguishedName type="ByteString"                value="3048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d736563703235366b31"/>

          <CertificateSerialNumber type="ByteString"                value="020900ec0b7402196d5295"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Issuer"/>

        <AttributeValue>

          <IssuerDistinguishedName type="ByteString"                value="3048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d736563703235366b31"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="X.509 Certificate Subject"/>

        <AttributeValue>

          <SubjectDistinguishedName type="ByteString"               value="3048310b3009060355040613025553310d300b060355040a0c0454455354310e300c060355040b0c054f41534953311a301806035504030c114b4d49502d45432d736563703235366b31"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

 

0375

0376

0377

0378

0379

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PublicKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_0"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

 

0394

0395

0396

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

0409

0410

0411

0412

0413

0414

0415

0416

 

0417

0418

0419

0420

0421

# 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="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Object Type"/>

        <AttributeValue type="Enumeration" value="PrivateKey"/>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PublicKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0422

0423

0424

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

 

0436

0437

0438

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0439

0440

0441

0442

0443

0444

0445

0446

0447

0448

0449

0450

 

0451

0452

0453

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0454

0455

0456

0457

0458

0459

0460

0461

0462

0463

0464

0465

0466

0467

0468

 

0469

0470

0471

0472

0473

 

 

 

 

0474

0475

0476

0477

0478

0479

0480

0481

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PrivateKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PrivateKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="ECPrivateKey"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="30740201010420db4d128c30ca309e62c4019758c00ba244dd64d9bf52a31078866b8a00c19c68a00706052b8104000aa14403420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="EC"/>

          <CryptographicLength type="Integer" value="256"/>

        </KeyBlock>

      </PrivateKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0482

0483

0484

0485

0486

0487

0488

0489

0490

0491

0492

0493

 

0494

0495

0496

# TIME 9

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0497

0498

0499

0500

0501

0502

0503

0504

0505

0506

0507

0508

0509

0510

0511

 

0512

0513

0514

0515

0516

 

 

 

0517

0518

0519

0520

0521

0522

0523

0524

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PublicKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

       <PublicKey>

      <KeyBlock>

        <KeyFormatType type="Enumeration" value="X_509"/>

        <KeyValue>

          <KeyMaterial type="ByteString"                                 value="3056301006072a8648ce3d020106052b8104000a03420004dab5d3c253113db414abfc1c0ebf5a02559e656aa1c8b0aa8d870aa0324cda4899925ea1e6dbc259a6c7825cf46592ac7594cc40bd604b728d88b636f317d366"/>

        </KeyValue>

        <CryptographicAlgorithm type="Enumeration" value="EC"/>

        <CryptographicLength type="Integer" value="256"/>

      </KeyBlock>

      </PublicKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0525

0526

0527

0528

0529

0530

0531

0532

0533

0534

0535

0536

 

0537

0538

0539

# TIME 10

<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>

0540

0541

0542

0543

0544

0545

0546

0547

0548

0549

0550

0551

0552

0553

 

0554

0555

0556

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0557

0558

0559

0560

0561

0562

0563

0564

0565

0566

0567

0568

 

0569

0570

0571

# TIME 11

<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>

0572

0573

0574

0575

0576

0577

0578

0579

0580

0581

0582

0583

0584

0585

 

0586

0587

0588

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

0589

0590

0591

0592

0593

0594

0595

0596

0597

0598

0599

0600

 

0601

0602

0603

# TIME 12

<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_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0604

0605

0606

0607

0608

0609

0610

0611

0612

0613

0614

0615

0616

0617

 

0618

0619

0620

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.42 TC-PGP-1-12 - Register PGP Key - RSA

Register a PGP public and private key block. Add the appropriate links between the registered objects. Make sure everything was registered and the attributes set correctly by listing and retrieving the attributes. Get the keys, and finally destroy all the registered objects.

Note: the ascii armored keys are:

 

 -----BEGIN PGP PUBLIC KEY BLOCK-----

 

 mQENBFHA/dQBCADged9e6tib8klFhPpwSni1JseckqjSL5wT1QKKmJMMRyI1Ru5R

 rJSBcRwjOoaaRdavnZEJ1xujU32Zj+2H2sqs6sSnizCNnkF5HCWO2J3b5M5vPkdG

 PYqrlcv7lvP8P0wjcTOueDxnSgx6Ijn4QDjd+tLnTxTK8U0YhzsGZCwu+3S6kwhg

 xlWSz+39oP0kT58+Jvnlx8vowtvqZ+7npqrMOojIVedFSfk+z2Co1UObj6l+xzTt

 1kqQZfXC/yyMAFwTKcPEy/KCw6u2bzvouZMM3dkgfU/AuqqpKSBABH0Z/blnC2Ty

 QdSuOKxzgcyIBcW5wRnKtjstWW9YCf/jI6EtABEBAAG0T0tNSVAgVVNFUiBSU0Eg

 KE9BU0lTIEtleSBNYW5hZ2VtZW50IEludGVyb3BlcmFiaWxpdHkgUHJvdG9jb2wp

 IDxrbWlwM0BrbWlwLmNvbT6JATYEEwECACAFAlHA/dQCGy8GCwkIBwMCBBUCCAME

 FgIDAQIeAQIXgAAKCRAkDBezbMoNJkd1B/9PLphGbxPO27yeyX9CnZ/ZsRPbGVHW

 XmMR2riXoBXB1FR4dlV/Xngrevk4SZBXFIKx2w0hppSQVgrBKYCms/hFCKScVaVb

 cNQy8L0Q5TNjFPzxyUAP8MLUFu+Rr5OIiPIYuGFM26QnTBfDFOhDh7Mvjj2wWUuZ

 b2oV6i6gj97mfyNJ1mJHfr+MbO6hBebAPvns6kYivSDyrGr06cpUatoeh0+2YN25

 XdEmDk0bqy9kpJMwHjjULkwnsFjbv+KhXxl2jG6mlEqNiAiUVPftXY4yKmTfiBZa

 4J0j04omkU8Jj4fvlkOo2o6kbs+htqD+J5WHxmX1TosgrfzuV8z5Mt7U

 =nVOy

 -----END PGP PUBLIC KEY BLOCK-----

 

 -----BEGIN PGP PRIVATE KEY BLOCK-----

 

 lQO+BFHA/dQBCADged9e6tib8klFhPpwSni1JseckqjSL5wT1QKKmJMMRyI1Ru5R

 rJSBcRwjOoaaRdavnZEJ1xujU32Zj+2H2sqs6sSnizCNnkF5HCWO2J3b5M5vPkdG

 PYqrlcv7lvP8P0wjcTOueDxnSgx6Ijn4QDjd+tLnTxTK8U0YhzsGZCwu+3S6kwhg

 xlWSz+39oP0kT58+Jvnlx8vowtvqZ+7npqrMOojIVedFSfk+z2Co1UObj6l+xzTt

 1kqQZfXC/yyMAFwTKcPEy/KCw6u2bzvouZMM3dkgfU/AuqqpKSBABH0Z/blnC2Ty

 QdSuOKxzgcyIBcW5wRnKtjstWW9YCf/jI6EtABEBAAH+AwMCKJbXYz63HjZgp520

 SnT31jWMxLnE+A4SNw6COTS/6brgHJVCkPYnORZQDpoakJg+F8HWqx+movO6l0UN

 dj0gqyR4NF/2tMvgKTT0FMdr7LriSLQsCCh5EwqXm2vnfv9p4qfL0BtjtACv+5XZ

 DZXydaFtbSgE8bbLe/AFQLqPOdWOtoLCH/ED0R54Q+VciaZmogiAVbwIjYkNWxMV

 1gSETpwL74Fzgu0DigFJpE7SyhqRSdDskMXlyAmZwg0uoLDCtN8aYrSEjrBsy7Rt

 337AsWSSMznFtyzYbV1PhtHh0GhHBdUro/4Ad5o76Mset3BclM6UAg6UMSbjC/vv

 U6yPyje8yepvCfov/G7tSQbiIEwSOXUxamm2etvno3YBMxm5l7x9ZP7Zfz8+zcVJ

 mAVxS5/QQGv9EMFOGGYWQ5ZcTckQ+eGnzZMQmB6jVWahqU8iXM3/g5Y8IP5i87OY

 zLHhybp24RXyOoTiB2rxulzmMVUYKlgd6gNlHdysQM4K1deHw8R37e/NKJrmGX+3

 psHINp5EJqnB3JfQ3p7A7CMhcJ5Phx3m9UmCrKlyGMJdFCl+tN2P5QSA8dAchgvB

 C0L4oZ83CCZUmmM4ljI+BoscLOgyKSPmsplzrz4L7TrHM8K5zFoXHkZzPPWZTM25

 ilTywogsUhqXe9wyyaw6PHTHBy+c1hvXcHQffFwfqeyKeO5nGuKBZcpqsXJg/Zg1

 rqKmrU2azd2mGtYikQmxlkR+IO9dD58B7gOAkyzAHe5NauT90CtL67qjAX2+aJRb

 uu2FLD1yUBMjpfUq3a5sQl6qo9/rC8iknDA/hFBpID3LRqDJGtYafPv8o6FjZH1U

 rUCx80Y0rmNelV65XPtE8+so2Hl/hgwHERdNspiTsGESfSE1RxuuNS+iFW/gSy3C

 ErRPS01JUCBVU0VSIFJTQSAoT0FTSVMgS2V5IE1hbmFnZW1lbnQgSW50ZXJvcGVy

 YWJpbGl0eSBQcm90b2NvbCkgPGttaXAzQGttaXAuY29tPokBNgQTAQIAIAUCUcD9

 1AIbLwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJECQMF7Nsyg0mR3UH/08umEZv

 E87bvJ7Jf0Kdn9mxE9sZUdZeYxHauJegFcHUVHh2VX9eeCt6+ThJkFcUgrHbDSGm

 lJBWCsEpgKaz+EUIpJxVpVtw1DLwvRDlM2MU/PHJQA/wwtQW75Gvk4iI8hi4YUzb

 pCdMF8MU6EOHsy+OPbBZS5lvahXqLqCP3uZ/I0nWYkd+v4xs7qEF5sA++ezqRiK9

 IPKsavTpylRq2h6HT7Zg3bld0SYOTRurL2SkkzAeONQuTCewWNu/4qFfGXaMbqaU

 So2ICJRU9+1djjIqZN+IFlrgnSPTiiaRTwmPh++WQ6jajqRuz6G2oP4nlYfGZfVO

 iyCt/O5XzPky3tQ=

 =vd7s

 -----END PGP PRIVATE KEY BLOCK-----  

 

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

0048

0049

0050

0051

0052

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0053

0054

0055

0056

0057

0058

0059

0060

# 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="PGPKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-PGP-1-12-pubkey1"/>

        </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Alternative Name"/>

        <AttributeValue>

          <AlternativeNameValue type="TextString"                        value="kmip3@kmip.com"/>

          <AlternativeNameType type="Enumeration"                        value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Alternative Name"/>

        <AttributeValue>

          <AlternativeNameValue type="TextString" value="KMIP USER RSA (OASIS Key Management Interoperability Protocol) &lt;kmip3@kmip.com&gt;"/>

          <AlternativeNameType type="Enumeration"                        value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Alternative Name"/>

        <AttributeValue>

          <AlternativeNameValue type="TextString" value="6CCA0D26"/>

          <AlternativeNameType type="Enumeration"                        value="ObjectSerialNumber"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Alternative Name"/>

        <AttributeValue>

          <AlternativeNameValue type="TextString"                        value="240C17B36CCA0D26"/>

          <AlternativeNameType type="Enumeration"                        value="ObjectSerialNumber"/>

        </AttributeValue>

      </Attribute>

      </TemplateAttribute>

      <PGPKey>

      <PGPKeyVersion type="Integer" value="4"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="2d2d2d2d2d424547494e20504750205055424c4943204b455920424c4f434b2d2d2d2d2d0a0a6d51454e424648412f645142434144676564396536746962386b6c4668507077536e69314a7365636b716a534c35775431514b4b6d4a4d4d52794931527535520a724a53426352776a4f6f6161526461766e5a454a3178756a5533325a6a2b3248327371733673536e697a434e6e6b46354843574f324a3362354d3576506b64470a505971726c6376376c7650385030776a63544f756544786e53677836496a6e3451446a642b744c6e5478544b38553059687a73475a4377752b3353366b7768670a786c57537a2b33396f50306b5435382b4a766e6c7838766f777476715a2b376e7071724d4f6f6a495665644653666b2b7a32436f31554f626a366c2b787a54740a316b71515a6658432f79794d414677544b635045792f4b4377367532627a766f755a4d4d33646b6766552f41757171704b5342414248305a2f626c6e433254790a516453754f4b787a676379494263573577526e4b746a73745757395943662f6a4936457441424542414147305430744e5356416756564e4655694253553045670a4b45394255306c544945746c6553424e595735685a3256745a57353049456c75644756796233426c636d46696157787064486b6755484a766447396a623277700a4944787262576c774d30427262576c774c6d4e766254364a415459454577454341434146416c48412f6451434779384743776b4942774d434242554343414d450a4667494441514965415149586741414b4352416b4442657a624d6f4e4a6b6431422f39504c7068476278504f32377965795839436e5a2f5a73525062475648570a586d4d52327269586f42584231465234646c562f586e677265766b34535a425846494b783277306870705351566772424b59436d732f6846434b5363566156620a634e5179384c305135544e6a46507a7879554150384d4c5546752b5272354f49695049597547464d3236516e54426644464f684468374d766a6a32775755755a0a62326f56366936676a39376d66794e4a316d4a4866722b4d624f36684265624150766e73366b596976534479724772303663705561746f6568302b32594e32350a5864456d446b30627179396b704a4d77486a6a554c6b776e73466a62762b4b6858786c326a47366d6c45714e6941695556506674585934794b6d546669425a610a344a306a30346f6d6b55384a6a3466766c6b4f6f326f366b62732b687471442b4a355748786d5831546f736772667a7556387a354d7437550a3d6e564f790a2d2d2d2d2d454e4420504750205055424c4943204b455920424c4f434b2d2d2d2d2d0a"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PGPKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0061

0062

0063

0064

0065

0066

0067

0068

0069

0070

0071

0072

0073

0074

 

0075

0076

0077

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+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>

 

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

0111

0112

0113

0114

0115

0116

# 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="PGPKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-PGP-1-12-prikey1"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Link"/>

          <AttributeValue>

            <LinkType type="Enumeration" value="PublicKeyLink"/>

            <LinkedObjectIdentifier type="TextString"               value="$UNIQUE_IDENTIFIER_0"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <PGPKey>

      <PGPKeyVersion type="Integer" value="4"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="2d2d2d2d2d424547494e205047502050524956415445204b455920424c4f434b2d2d2d2d2d0a0a6c514f2b424648412f645142434144676564396536746962386b6c4668507077536e69314a7365636b716a534c35775431514b4b6d4a4d4d52794931527535520a724a53426352776a4f6f6161526461766e5a454a3178756a5533325a6a2b3248327371733673536e697a434e6e6b46354843574f324a3362354d3576506b64470a505971726c6376376c7650385030776a63544f756544786e53677836496a6e3451446a642b744c6e5478544b38553059687a73475a4377752b3353366b7768670a786c57537a2b33396f50306b5435382b4a766e6c7838766f777476715a2b376e7071724d4f6f6a495665644653666b2b7a32436f31554f626a366c2b787a54740a316b71515a6658432f79794d414677544b635045792f4b4377367532627a766f755a4d4d33646b6766552f41757171704b5342414248305a2f626c6e433254790a516453754f4b787a676379494263573577526e4b746a73745757395943662f6a49364574414245424141482b41774d434b4a6258597a3633486a5a67703532300a536e5433316a574d784c6e452b4134534e7736434f54532f36627267484a56436b50596e4f525a5144706f616b4a672b4638485771782b6d6f764f366c30554e0a646a3067717952344e462f32744d76674b545430464d6472374c7269534c517343436835457771586d32766e667639703471664c3042746a744143762b35585a0a445a587964614674625367453862624c652f4146514c71504f64574f746f4c43482f454430523534512b566369615a6d6f676941566277496a596b4e57784d560a316753455470774c3734467a677530446967464a7045375379687152536444736b4d586c79416d5a776730756f4c4443744e3861597253456a724273793752740a33333741735753534d7a6e4674797a59625631506874486830476848426455726f2f344164356f37364d7365743342636c4d3655416736554d53626a432f76760a55367950796a65387965707643666f762f47377453516269494577534f585578616d6d326574766e6f3359424d786d356c3778395a50375a667a382b7a63564a0a6d41567853352f5151477639454d464f4747595751355a6354636b512b65476e7a5a4d516d42366a5657616871553869584d332f673559384950356938374f590a7a4c486879627032345258794f6f546942327278756c7a6d4d5655594b6c676436674e6c48647973514d344b316465487738523337652f4e4b4a726d47582b330a707348494e7035454a716e42334a66513370374137434d68634a35506878336d39556d43724b6c79474d4a6446436c2b744e32503551534138644163686776420a43304c346f5a383343435a556d6d4d346c6a492b426f73634c4f67794b53506d73706c7a727a344c375472484d384b357a466f58486b5a7a5050575a544d32350a696c5479776f67735568715865397779796177365048544842792b633168765863485166664677667165794b654f356e47754b425a63707173584a672f5a67310a72714b6d725532617a64326d477459696b516d786c6b522b494f39644435384237674f416b797a414865354e617554393043744c3637716a4158322b614a52620a757532464c44317955424d6a7066557133613573516c36716f392f724338696b6e44412f684642704944334c5271444a47745961665076386f36466a5a4831550a7255437838305930726d4e656c56363558507445382b736f32486c2f686777484552644e737069547347455366534531527875754e532b6946572f67537933430a457252505330314a554342565530565349464a545153416f5430465453564d675332563549453168626d466e5a57316c626e5167535735305a584a76634756790a59574a7062476c3065534251636d393062324e7662436b67504774746158417a514774746158417559323974506f6b424e6751544151494149415543556344390a314149624c77594c4351674841774945465149494177515741674d42416834424168654141416f4a4543514d46374e737967306d523355482f3038756d455a760a45383762764a374a66304b646e396d784539735a55645a6559784861754a6567466348555648683256583965654374362b54684a6b466355677248624453476d0a6c4a425743734570674b617a2b455549704a78567056747731444c777652446c4d324d552f50484a51412f7777745157373547766b3469493868693459557a620a7043644d46384d5536454f4873792b4f5062425a53356c76616858714c71435033755a2f49306e57596b642b76347873377145463573412b2b657a7152694b390a49504b7361765470796c52713268364854375a6733626c643053594f545275724c32536b6b7a41654f4e517554436577574e752f347146664758614d627161550a536f3249434a5255392b31646a6a49715a4e2b49466c72676e5350546969615254776d50682b2b5751366a616a7152757a3647326f50346e6c5966475a66564f0a697943742f4f35587a506b793374513d0a3d766437730a2d2d2d2d2d454e44205047502050524956415445204b455920424c4f434b2d2d2d2d2d0a"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PGPKey>

    </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="2012-04-27T08:14:36+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>

 

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

 

0147

0148

0149

0150

0151

 

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

 

0171

0172

0173

0174

0175

 

0176

0177

0178

0179

0180

# 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="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="31f81bfb0f0492bd"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </RequestPayload>

  </BatchItem>

 </RequestMessage><ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="AddAttribute"/>

    <UniqueBatchItemID type="ByteString" value="31f81bfb0f0492bd"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Link"/>

        <AttributeValue>

          <LinkType type="Enumeration" value="PrivateKeyLink"/>

          <LinkedObjectIdentifier type="TextString"                 value="$UNIQUE_IDENTIFIER_1"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

0181

0182

0183

0184

0185

0186

0187

0188

0189

0190

0191

0192

 

0193

0194

0195

<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="GetAttributeList"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

0207

0208

0209

 

0210

0211

0212

0213

 

0214

 

0215

0216

0217

0218

0219

0220

0221

0222

0223

0224

# TIME 3

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:36+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributeList"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="x-ID"/>

      <AttributeName type="TextString" value="Unique Identifier"/>

      <AttributeName type="TextString" value="Object Type"/>

      <AttributeName type="TextString" value="Cryptographic Algorithm"/>

      <AttributeName type="TextString" value="Cryptographic Length"/>

      <AttributeName type="TextString" value="Digest"/>

      <AttributeName type="TextString" value="Initial Date"/>

      <AttributeName type="TextString" value="Last Change Date"/>

      <AttributeName type="TextString" value="Lease Time"/>

      <AttributeName type="TextString" value="Link"/>

      <AttributeName type="TextString" value="State"/>

      <AttributeName type="TextString" value="Alternative Name"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

0236

 

0237

0238

0239

0240

<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="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Alternative Name"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

0253

0254

 

0255

0256

0257

0258

 

0259

 

0260

0261

0262

0263

0264

0265

0266

 

 

0267

 

0268

0269

0270

0271

0272

0273

0274

0275

 

0276

0277

0278

0279

0280

0281

0282

 

0283

 

0284

0285

0286

0287

0288

# TIME 4

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Alternative Name"/>

        <AttributeValue>

          <AlternativeNameValue type="TextString"                   value="kmip3@kmip.com"/>

          <AlternativeNameType type="Enumeration"                   value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Alternative Name"/>

        <AttributeIndex type="Integer" value="1"/>

        <AttributeValue>

          <AlternativeNameValue type="TextString" value="KMIP USER RSA (OASIS Key Management Interoperability Protocol) &lt;kmip3@kmip.com&gt;"/>

          <AlternativeNameType type="Enumeration"                   value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Alternative Name"/>

        <AttributeIndex type="Integer" value="2"/>

        <AttributeValue>

          <AlternativeNameValue type="TextString" value="6CCA0D26"/>

          <AlternativeNameType type="Enumeration"                   value="ObjectSerialNumber"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Alternative Name"/>

        <AttributeIndex type="Integer" value="3"/>

        <AttributeValue>

          <AlternativeNameValue type="TextString"                   value="240C17B36CCA0D26"/>

          <AlternativeNameType type="Enumeration"                   value="ObjectSerialNumber"/>

        </AttributeValue>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

0300

 

0301

0302

0303

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

 

0319

0320

0321

0322

0323

0324

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0325

0326

0327

0328

0329

0330

0331

0332

# TIME 5

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PGPKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <PGPKey>

      <PGPKeyVersion type="Integer" value="4"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="2d2d2d2d2d424547494e205047502050524956415445204b455920424c4f434b2d2d2d2d2d0a0a6c514f2b424648412f645142434144676564396536746962386b6c4668507077536e69314a7365636b716a534c35775431514b4b6d4a4d4d52794931527535520a724a53426352776a4f6f6161526461766e5a454a3178756a5533325a6a2b3248327371733673536e697a434e6e6b46354843574f324a3362354d3576506b64470a505971726c6376376c7650385030776a63544f756544786e53677836496a6e3451446a642b744c6e5478544b38553059687a73475a4377752b3353366b7768670a786c57537a2b33396f50306b5435382b4a766e6c7838766f777476715a2b376e7071724d4f6f6a495665644653666b2b7a32436f31554f626a366c2b787a54740a316b71515a6658432f79794d414677544b635045792f4b4377367532627a766f755a4d4d33646b6766552f41757171704b5342414248305a2f626c6e433254790a516453754f4b787a676379494263573577526e4b746a73745757395943662f6a49364574414245424141482b41774d434b4a6258597a3633486a5a67703532300a536e5433316a574d784c6e452b4134534e7736434f54532f36627267484a56436b50596e4f525a5144706f616b4a672b4638485771782b6d6f764f366c30554e0a646a3067717952344e462f32744d76674b545430464d6472374c7269534c517343436835457771586d32766e667639703471664c3042746a744143762b35585a0a445a587964614674625367453862624c652f4146514c71504f64574f746f4c43482f454430523534512b566369615a6d6f676941566277496a596b4e57784d560a316753455470774c3734467a677530446967464a7045375379687152536444736b4d586c79416d5a776730756f4c4443744e3861597253456a724273793752740a33333741735753534d7a6e4674797a59625631506874486830476848426455726f2f344164356f37364d7365743342636c4d3655416736554d53626a432f76760a55367950796a65387965707643666f762f47377453516269494577534f585578616d6d326574766e6f3359424d786d356c3778395a50375a667a382b7a63564a0a6d41567853352f5151477639454d464f4747595751355a6354636b512b65476e7a5a4d516d42366a5657616871553869584d332f673559384950356938374f590a7a4c486879627032345258794f6f546942327278756c7a6d4d5655594b6c676436674e6c48647973514d344b316465487738523337652f4e4b4a726d47582b330a707348494e7035454a716e42334a66513370374137434d68634a35506878336d39556d43724b6c79474d4a6446436c2b744e32503551534138644163686776420a43304c346f5a383343435a556d6d4d346c6a492b426f73634c4f67794b53506d73706c7a727a344c375472484d384b357a466f58486b5a7a5050575a544d32350a696c5479776f67735568715865397779796177365048544842792b633168765863485166664677667165794b654f356e47754b425a63707173584a672f5a67310a72714b6d725532617a64326d477459696b516d786c6b522b494f39644435384237674f416b797a414865354e617554393043744c3637716a4158322b614a52620a757532464c44317955424d6a7066557133613573516c36716f392f724338696b6e44412f684642704944334c5271444a47745961665076386f36466a5a4831550a7255437838305930726d4e656c56363558507445382b736f32486c2f686777484552644e737069547347455366534531527875754e532b6946572f67537933430a457252505330314a554342565530565349464a545153416f5430465453564d675332563549453168626d466e5a57316c626e5167535735305a584a76634756790a59574a7062476c3065534251636d393062324e7662436b67504774746158417a514774746158417559323974506f6b424e6751544151494149415543556344390a314149624c77594c4351674841774945465149494177515741674d42416834424168654141416f4a4543514d46374e737967306d523355482f3038756d455a760a45383762764a374a66304b646e396d784539735a55645a6559784861754a6567466348555648683256583965654374362b54684a6b466355677248624453476d0a6c4a425743734570674b617a2b455549704a78567056747731444c777652446c4d324d552f50484a51412f7777745157373547766b3469493868693459557a620a7043644d46384d5536454f4873792b4f5062425a53356c76616858714c71435033755a2f49306e57596b642b76347873377145463573412b2b657a7152694b390a49504b7361765470796c52713268364854375a6733626c643053594f545275724c32536b6b7a41654f4e517554436577574e752f347146664758614d627161550a536f3249434a5255392b31646a6a49715a4e2b49466c72676e5350546969615254776d50682b2b5751366a616a7152757a3647326f50346e6c5966475a66564f0a697943742f4f35587a506b793374513d0a3d766437730a2d2d2d2d2d454e44205047502050524956415445204b455920424c4f434b2d2d2d2d2d0a"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PGPKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

0343

0344

 

0345

0346

0347

0348

<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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <KeyFormatType type="Enumeration" value="Raw"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

 

0349

0350

0351

0352

0353

0354

0355

0356

0357

0358

0359

0360

0361

0362

0363

 

0364

0365

0366

0367

0368

0369

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0370

0371

0372

0373

0374

0375

0376

0377

# TIME 6

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="PGPKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <PGPKey>

      <PGPKeyVersion type="Integer" value="4"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="2d2d2d2d2d424547494e20504750205055424c4943204b455920424c4f434b2d2d2d2d2d0a0a6d51454e424648412f645142434144676564396536746962386b6c4668507077536e69314a7365636b716a534c35775431514b4b6d4a4d4d52794931527535520a724a53426352776a4f6f6161526461766e5a454a3178756a5533325a6a2b3248327371733673536e697a434e6e6b46354843574f324a3362354d3576506b64470a505971726c6376376c7650385030776a63544f756544786e53677836496a6e3451446a642b744c6e5478544b38553059687a73475a4377752b3353366b7768670a786c57537a2b33396f50306b5435382b4a766e6c7838766f777476715a2b376e7071724d4f6f6a495665644653666b2b7a32436f31554f626a366c2b787a54740a316b71515a6658432f79794d414677544b635045792f4b4377367532627a766f755a4d4d33646b6766552f41757171704b5342414248305a2f626c6e433254790a516453754f4b787a676379494263573577526e4b746a73745757395943662f6a4936457441424542414147305430744e5356416756564e4655694253553045670a4b45394255306c544945746c6553424e595735685a3256745a57353049456c75644756796233426c636d46696157787064486b6755484a766447396a623277700a4944787262576c774d30427262576c774c6d4e766254364a415459454577454341434146416c48412f6451434779384743776b4942774d434242554343414d450a4667494441514965415149586741414b4352416b4442657a624d6f4e4a6b6431422f39504c7068476278504f32377965795839436e5a2f5a73525062475648570a586d4d52327269586f42584231465234646c562f586e677265766b34535a425846494b783277306870705351566772424b59436d732f6846434b5363566156620a634e5179384c305135544e6a46507a7879554150384d4c5546752b5272354f49695049597547464d3236516e54426644464f684468374d766a6a32775755755a0a62326f56366936676a39376d66794e4a316d4a4866722b4d624f36684265624150766e73366b596976534479724772303663705561746f6568302b32594e32350a5864456d446b30627179396b704a4d77486a6a554c6b776e73466a62762b4b6858786c326a47366d6c45714e6941695556506674585934794b6d546669425a610a344a306a30346f6d6b55384a6a3466766c6b4f6f326f366b62732b687471442b4a355748786d5831546f736772667a7556387a354d7437550a3d6e564f790a2d2d2d2d2d454e4420504750205055424c4943204b455920424c4f434b2d2d2d2d2d0a"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="RSA"/>

          <CryptographicLength type="Integer" value="2048"/>

        </KeyBlock>

      </PGPKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

 

0390

0391

0392

<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>

 

0393

0394

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

 

0407

0408

0409

# TIME 7

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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>

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

0421

 

0422

0423

0424

<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>

 

0425

0426

0427

0428

0429

0430

0431

0432

0433

0434

0435

0436

0437

0438

 

0439

0440

0441

# TIME 8

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:14:37+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>

 

2.3.43 TC-MDO-1-12 - Register MDO Key

Client registers a metadata-only object with the key management server and then locates and gets the value and the associated attributes. Finally the managed object is destroyed.

 

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

0048

0049

0050

0051

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <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 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="Encrypt Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Key Value Location"/>

          <AttributeValue>

            <KeyValueLocationValue type="TextString" value="HSM-12345"/>

            <KeyValueLocationType type="Enumeration"                value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="MDO-M-1-12"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

 

0066

0067

0068

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-11-27T23:21:22+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>

 

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

0081

 

0082

0083

0084

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-11-28T00:15:10+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

 

0123

0124

0125

 

0126

0127

0128

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Key Value Location"/>

      <AttributeName type="TextString" value="Key Value Present"/>

      <AttributeName type="TextString" value="Original Creation Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

 

0143

0144

 

0145

0146

 

0147

 

0148

0149

0150

0151

0152

0153

0154

0155

0156

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-11-28T00:48:54+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Key Value Location"/>

        <AttributeValue>

          <KeyValueLocationValue type="TextString" value="HSM-12345"/>

          <KeyValueLocationType type="Enumeration"                  value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Key Value Present"/>

        <AttributeValue type="Boolean" value="false"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

0172

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

 

0187

0188

0189

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-14T07:00:22+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>

 

2.3.44 TC-MDO-2-12 - Locate MDO keys by Key Value Present

Client registers both a metadata-only object and a normal object with key management server and then locates just the metadata-only object, and gets the value and the associated attributes. Finally the managed object is destroyed.

 

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

0048

0049

0050

0051

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <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 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="Encrypt Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Key Value Location"/>

          <AttributeValue>

            <KeyValueLocationValue type="TextString" value="HSM-12345"/>

            <KeyValueLocationType type="Enumeration"                value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="MDO-M-2-12-mdokey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

 

0066

0067

0068

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-11-27T23:21:22+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>

 

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

0111

 

0112

0113

0114

0115

0116

0117

0118

0119

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <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 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="Encrypt Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="MDO-M-2-12-non-mdokey"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Original Creation Date"/>

          <AttributeValue type="DateTime" value="1970-01-01T10:42:00+00:00"/>

        </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>

0120

0121

0122

0123

0124

0125

0126

0127

0128

0129

0130

0131

0132

0133

 

0134

0135

0136

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-11-27T23:21:22+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>

 

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

0153

0154

0155

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <RequestPayload>

      <Attribute>

        <AttributeName type="TextString" value="Key Value Present"/>

        <AttributeValue type="Boolean" value="false"/>

      </Attribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

0172

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-14T08:35:02+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Locate"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

 

0186

0187

0188

 

0189

0190

0191

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Key Value Location"/>

      <AttributeName type="TextString" value="Key Value Present"/>

      <AttributeName type="TextString" value="Original Creation Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

 

0206

0207

 

0208

0209

 

0210

 

0211

0212

0213

0214

0215

0216

0217

0218

0219

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-11-28T00:48:54+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Key Value Location"/>

        <AttributeValue>

          <KeyValueLocationValue type="TextString" value="HSM-12345"/>

          <KeyValueLocationType type="Enumeration"                  value="UninterpretedTextString"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Key Value Present"/>

        <AttributeValue type="Boolean" value="false"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0220

0221

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

 

0233

0234

0235

 

0236

0237

0238

# TIME 4

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <AttributeName type="TextString" value="Key Value Location"/>

      <AttributeName type="TextString" value="Key Value Present"/>

      <AttributeName type="TextString" value="Original Creation Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

 

0253

0254

 

0255

 

0256

0257

0258

0259

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-11-28T00:48:54+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <Attribute>

        <AttributeName type="TextString" value="Original Creation Date"/>

        <AttributeValue type="DateTime" value="1970-01-01T10:42:00+00:00"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0260

0261

0262

0263

0264

0265

0266

0267

0268

0269

0270

0271

0272

 

0273

0274

0275

# TIME 5

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

0286

0287

0288

0289

 

0290

0291

0292

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-14T07:00:22+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>

 

0293

0294

0295

0296

0297

0298

0299

0300

0301

0302

0303

0304

0305

 

0306

0307

0308

# TIME 6

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0309

0310

0311

0312

0313

0314

0315

0316

0317

0318

0319

0320

0321

0322

 

0323

0324

0325

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-14T07:00:22+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>

 

2.3.45 TC-MDO-3-12 - Register MDO Key using PKCS11 URI

 Client registers a metadata-only object with the key management server using the URI form of the Key Value Location and then locates and gets the value and the associated attributes. Finally the managed object is destroyed.

See http://tools.ietf.org/html/draft-pechanec-pkcs11uri-10 for more details on the PKCS11 URI format.

 

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

0048

0049

0050

0051

# TIME 0

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <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 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="Encrypt Verify Sign"/>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Key Value Location"/>

          <AttributeValue>

            <KeyValueLocationValue type="TextString" value="pkcs11:token=My%20Token;object=MDO-M-3;objecttype=secretkey;id=%69%95%3e%5c%f4%bd%ec%91"/>

            <KeyValueLocationType type="Enumeration" value="URI"/>

          </AttributeValue>

        </Attribute>

        <Attribute>

          <AttributeName type="TextString" value="Name"/>

          <AttributeValue>

            <NameValue type="TextString" value="MDO-M-3-12"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

 

0066

0067

0068

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-11-27T23:21:22+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>

 

0069

0070

0071

0072

0073

0074

0075

0076

0077

0078

0079

0080

0081

 

0082

0083

0084

# TIME 1

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-11-28T00:15:10+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

 

0123

0124

0125

 

0126

0127

0128

# TIME 2

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <AttributeName type="TextString" value="Key Value Location"/>

      <AttributeName type="TextString" value="Key Value Present"/>

      <AttributeName type="TextString" value="Original Creation Date"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0129

0130

0131

0132

0133

0134

0135

0136

0137

0138

0139

0140

0141

0142

 

0143

0144

 

0145

0146

 

 

0147

0148

0149

0150

0151

0152

0153

0154

0155

0156

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-11-28T00:48:54+00:00"/>

    <BatchCount type="Integer" value="1"/>

  </ResponseHeader>

  <BatchItem>

    <Operation type="Enumeration" value="GetAttributes"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <Attribute>

        <AttributeName type="TextString" value="Key Value Location"/>

        <AttributeValue>

          <KeyValueLocationValue type="TextString" value="pkcs11:token=My%20Token;object=MDO-M-3;objecttype=secretkey;id=%69%95%3e%5c%f4%bd%ec%91"/>

          <KeyValueLocationType type="Enumeration" value="URI"/>

        </AttributeValue>

      </Attribute>

      <Attribute>

        <AttributeName type="TextString" value="Key Value Present"/>

        <AttributeValue type="Boolean" value="false"/>

      </Attribute>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

 

0170

0171

0172

# TIME 3

<RequestMessage>

  <RequestHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <BatchOrderOption type="Boolean" value="true"/>

    <BatchCount type="Integer" value="1"/>

  </RequestHeader>

  <BatchItem>

    <Operation type="Enumeration" value="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0173

0174

0175

0176

0177

0178

0179

0180

0181

0182

0183

0184

0185

0186

 

0187

0188

0189

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2013-06-14T07:00:22+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>

 

2.3.46 TC-SJ-1-12 - Create and Split/Join

Create a symmetric key and perform split and join in various combinations.

 

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

# 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="TC-SJ-1-12"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

0050

0051

 

0052

0053

0054

<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>

 

0055

0056

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="CreateSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SplitKeyParts type="Integer" value="5"/>

      <SplitKeyThreshold type="Integer" value="3"/>

      <SplitKeyMethod type="Enumeration"                            value="PolynomialSharingGF2_8"/>

      <TemplateAttribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0076

0077

0078

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="CreateSplitKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_4"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_5"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0097

0098

0099

0100

0101

0102

0103

0104

0105

0106

0107

0108

0109

 

0110

 

0111

 

0112

0113

0114

 

0115

0116

0117

0118

 

0119

0120

0121

0122

 

0123

0124

0125

0126

0127

0128

0129

 

0130

0131

0132

0133

0134

0135

# TIME 2

# Successful Join with 3 of the required 3-of-5 keys

<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="JoinSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_5"/>

      <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="TC-SJ-1-12-join1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

0148

0149

 

0150

0151

0152

<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="JoinSplitKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_6"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0153

0154

0155

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

 

0166

 

0167

0168

0169

 

0170

0171

0172

0173

 

0174

0175

0176

0177

 

0178

0179

0180

0181

0182

0183

0184

 

0185

0186

0187

0188

0189

0190

# TIME 3

# Non-successful Join with only 2 of the required 3-of-5 keys

<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="JoinSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_4"/>

      <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="TC-SJ-1-12-join2"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0191

0192

0193

0194

0195

0196

0197

0198

0199

0200

0201

0202

0203

0204

0205

0206

<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="JoinSplitKey"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="CryptographicFailure"/>

    <ResultMessage type="TextString" value="FAILURE"/>

  </BatchItem>

</ResponseMessage>

 

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

0218

 

0219

0220

0221

# 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>

0222

0223

0224

0225

0226

0227

0228

0229

0230

0231

0232

0233

0234

0235

 

0236

0237

0238

<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>

 

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

 

0251

0252

0253

# 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_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

 

0268

0269

0270

<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>

 

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

 

0283

0284

0285

# 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_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0286

0287

0288

0289

0290

0291

0292

0293

0294

0295

0296

0297

0298

0299

 

0300

0301

0302

<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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0303

0304

0305

0306

0307

0308

0309

0310

0311

0312

0313

0314

 

0315

0316

0317

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

 

0332

0333

0334

<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_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0335

0336

0337

0338

0339

0340

0341

0342

0343

0344

0345

0346

 

0347

0348

0349

# 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_4"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0350

0351

0352

0353

0354

0355

0356

0357

0358

0359

0360

0361

0362

0363

 

0364

0365

0366

<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_4"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0367

0368

0369

0370

0371

0372

0373

0374

0375

0376

0377

0378

 

0379

0380

0381

# TIME 9

<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_5"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

0395

 

0396

0397

0398

<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_5"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

0409

0410

 

0411

0412

0413

# TIME 10

<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_6"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0414

0415

0416

0417

0418

0419

0420

0421

0422

0423

0424

0425

0426

0427

 

0428

0429

0430

<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_6"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.47 TC-SJ-2-12 - Register and Split / Join

Register a symmetric key and perform split and join in various combinations.

 

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

# 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="TC-SJ-2-12"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0102030405060708090A0B0C0D0E0F10"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

 

0066

0067

0068

 

0069

0070

0071

0072

0073

# 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="CreateSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SplitKeyParts type="Integer" value="4"/>

      <SplitKeyThreshold type="Integer" value="2"/>

      <SplitKeyMethod type="Enumeration"                            value="PolynomialSharingGF2_8"/>

      <TemplateAttribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0074

0075

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="CreateSplitKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_4"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

 

0106

0107

0108

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

0129

0130

0131

0132

 

0133

0134

0135

0136

0137

0138

0139

0140

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="1"/>

      <SplitKeyThreshold type="Integer" value="2"/>

      <SplitKeyMethod type="Enumeration" value="PolynomialSharingGF2_8"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="66C46A7754F94DE420C7B1A7FFF5EC56"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SplitKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

 

0153

0154

0155

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

 

0171

0172

0173

0174

0175

0176

0177

0178

0179

 

0180

0181

0182

0183

0184

0185

0186

0187

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="2"/>

      <SplitKeyThreshold type="Integer" value="2"/>

      <SplitKeyMethod type="Enumeration" value="PolynomialSharingGF2_8"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="CF93D1E2A7E593CD5B8D6247F4E5D49C"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SplitKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

 

0200

0201

0202

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

 

0218

0219

0220

0221

0222

0223

0224

0225

0226

 

0227

0228

0229

0230

0231

0232

0233

0234

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="3"/>

      <SplitKeyThreshold type="Integer" value="2"/>

      <SplitKeyMethod type="Enumeration" value="PolynomialSharingGF2_8"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="A855B891F61AD9217240D8EC061E37DA"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SplitKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

0246

 

0247

0248

0249

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_4"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

 

0265

0266

0267

0268

0269

0270

0271

0272

0273

 

0274

0275

0276

0277

0278

0279

0280

0281

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="4"/>

      <SplitKeyThreshold type="Integer" value="2"/>

      <SplitKeyMethod type="Enumeration" value="PolynomialSharingGF2_8"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="803DBAD55CDD329FAD19D99AE2C5A415"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SplitKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

 

0295

 

0296

0297

0298

 

0299

0300

0301

0302

 

0303

0304

0305

0306

 

0307

0308

0309

0310

0311

0312

0313

 

0314

0315

0316

0317

0318

0319

# TIME 6

# Successful Join with 2 of the required 2-of-4 keys

<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="JoinSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <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="TC-SJ-2-12-join1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

 

0334

0335

0336

<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="JoinSplitKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_5"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0337

0338

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

 

0349

0350

0351

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_5"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0352

0353

0354

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

 

0367

0368

0369

0370

0371

 

0372

0373

0374

0375

0376

0377

0378

0379

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_5"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0102030405060708090A0B0C0D0E0F10"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

 

0393

0394

0395

# TIME 8

# Non-successful Join with only 1 of the required 2-of-4 keys

<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="JoinSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

0409

0410

0411

<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="JoinSplitKey"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="CryptographicFailure"/>

    <ResultMessage type="TextString" value="FAILURE"/>

  </BatchItem>

</ResponseMessage>

 

0412

0413

0414

0415

0416

0417

0418

0419

0420

0421

0422

0423

 

0424

0425

0426

# TIME 9

<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>

0427

0428

0429

0430

0431

0432

0433

0434

0435

0436

0437

0438

0439

0440

 

0441

0442

0443

<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>

 

0444

0445

0446

0447

0448

0449

0450

0451

0452

0453

0454

0455

 

0456

0457

0458

# TIME 10

<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>

0459

0460

0461

0462

0463

0464

0465

0466

0467

0468

0469

0470

0471

0472

 

0473

0474

0475

<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>

 

0476

0477

0478

0479

0480

0481

0482

0483

0484

0485

0486

0487

 

0488

0489

0490

# TIME 11

<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_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0491

0492

0493

0494

0495

0496

0497

0498

0499

0500

0501

0502

0503

0504

 

0505

0506

0507

<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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0508

0509

0510

0511

0512

0513

0514

0515

0516

0517

0518

0519

 

0520

0521

0522

# TIME 12

<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_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0523

0524

0525

0526

0527

0528

0529

0530

0531

0532

0533

0534

0535

0536

 

0537

0538

0539

<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_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0540

0541

0542

0543

0544

0545

0546

0547

0548

0549

0550

0551

 

0552

0553

0554

# TIME 13

<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_4"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0555

0556

0557

0558

0559

0560

0561

0562

0563

0564

0565

0566

0567

0568

 

0569

0570

0571

<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_4"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0572

0573

0574

0575

0576

0577

0578

0579

0580

0581

0582

0583

 

0584

0585

0586

# TIME 14

<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_5"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0587

0588

0589

0590

0591

0592

0593

0594

0595

0596

0597

0598

0599

0600

 

0601

0602

0603

<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_5"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.48 TC-SJ-3-12 - Join Split Keys

Register split keys and join in various combinations.

 

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

# 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="SplitKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-SJ-3-12-split1"/>

        </Attribute>

      </TemplateAttribute>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="1"/>

      <SplitKeyThreshold type="Integer" value="2"/>

      <SplitKeyMethod type="Enumeration" value="PolynomialSharingGF2_8"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="66C46A7754F94DE420C7B1A7FFF5EC56"/>

          </KeyValue>

        </KeyBlock>

      </SplitKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0034

0035

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

 

0048

0049

0050

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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>

 

0051

0052

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

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="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-SJ-3-12-split2"/>

        </Attribute>

      </TemplateAttribute>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="2"/>

      <SplitKeyThreshold type="Integer" value="2"/>

      <SplitKeyMethod type="Enumeration" value="PolynomialSharingGF2_8"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="CF93D1E2A7E593CD5B8D6247F4E5D49C"/>

          </KeyValue>

        </KeyBlock>

      </SplitKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

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="2012-04-27T08:12:25+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>

 

0101

0102

0103

0104

0105

0106

0107

0108

0109

0110

0111

0112

0113

0114

0115

0116

 

0117

0118

0119

0120

0121

0122

0123

0124

0125

0126

0127

 

0128

0129

0130

0131

0132

0133

# 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="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-SJ-3-12-split3"/>

        </Attribute>

      </TemplateAttribute>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="3"/>

      <SplitKeyThreshold type="Integer" value="2"/>

      <SplitKeyMethod type="Enumeration" value="PolynomialSharingGF2_8"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="A855B891F61AD9217240D8EC061E37DA"/>

          </KeyValue>

        </KeyBlock>

      </SplitKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0134

0135

0136

0137

0138

0139

0140

0141

0142

0143

0144

0145

0146

0147

 

0148

0149

0150

<ResponseMessage>

  <ResponseHeader>

    <ProtocolVersion>

      <ProtocolVersionMajor type="Integer" value="1"/>

      <ProtocolVersionMinor type="Integer" value="2"/>

    </ProtocolVersion>

    <TimeStamp type="DateTime" value="2012-04-27T08:12:25+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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0151

0152

0153

0154

0155

0156

0157

0158

0159

0160

0161

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="Register"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <TemplateAttribute>

        <Attribute>

          <AttributeName type="TextString" value="x-ID"/>

          <AttributeValue type="TextString" value="TC-SJ-3-12-split4"/>

        </Attribute>

      </TemplateAttribute>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="4"/>

      <SplitKeyThreshold type="Integer" value="2"/>

      <SplitKeyMethod type="Enumeration" value="PolynomialSharingGF2_8"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="803DBAD55CDD329FAD19D99AE2C5A415"/>

          </KeyValue>

        </KeyBlock>

      </SplitKey>

    </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="2012-04-27T08:12:25+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_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0201

0202

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

 

0214

 

0215

0216

0217

 

0218

0219

0220

0221

 

0222

0223

0224

0225

 

0226

0227

0228

0229

0230

0231

0232

 

0233

0234

0235

0236

0237

0238

# TIME 4

# Successful Join with 2 of the required 2-of-4 keys

<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="JoinSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <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="TC-SJ-3-12-join1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0239

0240

0241

0242

0243

0244

0245

0246

0247

0248

0249

0250

0251

0252

 

0253

0254

0255

<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="JoinSplitKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_4"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0256

0257

0258

0259

0260

0261

0262

0263

0264

0265

0266

0267

 

0268

0269

0270

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_4"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0271

0272

0273

0274

0275

0276

0277

0278

0279

0280

0281

0282

0283

0284

0285

 

0286

0287

0288

0289

0290

 

0291

0292

0293

0294

0295

0296

0297

0298

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_4"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0102030405060708090a0b0c0d0e0f10"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0299

0300

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

0311

 

0312

0313

0314

# TIME 6

# Non-successful Join with only 1 of the required 2-of-4 keys

<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="JoinSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0315

0316

0317

0318

0319

0320

0321

0322

0323

0324

0325

0326

0327

0328

0329

0330

<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="JoinSplitKey"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="CryptographicFailure"/>

    <ResultMessage type="TextString" value="FAILURE"/>

  </BatchItem>

</ResponseMessage>

 

0331

0332

0333

0334

0335

0336

0337

0338

0339

0340

0341

0342

 

0343

0344

0345

# 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="Destroy"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0346

0347

0348

0349

0350

0351

0352

0353

0354

0355

0356

0357

0358

0359

 

0360

0361

0362

<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>

 

0363

0364

0365

0366

0367

0368

0369

0370

0371

0372

0373

0374

 

0375

0376

0377

# 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>

0378

0379

0380

0381

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

 

0392

0393

0394

<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>

 

0395

0396

0397

0398

0399

0400

0401

0402

0403

0404

0405

0406

 

0407

0408

0409

# TIME 9

<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_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0410

0411

0412

0413

0414

0415

0416

0417

0418

0419

0420

0421

0422

0423

 

0424

0425

0426

<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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0427

0428

0429

0430

0431

0432

0433

0434

0435

0436

0437

0438

 

0439

0440

0441

# TIME 10

<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_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0442

0443

0444

0445

0446

0447

0448

0449

0450

0451

0452

0453

0454

0455

 

0456

0457

0458

<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_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0459

0460

0461

0462

0463

0464

0465

0466

0467

0468

0469

0470

 

0471

0472

0473

# TIME 11

<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_4"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0474

0475

0476

0477

0478

0479

0480

0481

0482

0483

0484

0485

0486

0487

 

0488

0489

0490

<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_4"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

2.3.49 TC-SJ-4-12 - Register and Split / Join with XOR

Register a symmetric key and perform split and join in various combinations.

 

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

# 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="TC-SJ-4-12"/>

        </Attribute>

      </TemplateAttribute>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0102030405060708090a0b0c0d0e0f10"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0036

0037

0038

0039

0040

0041

0042

0043

0044

0045

0046

0047

0048

0049

 

0050

0051

0052

<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>

 

0053

0054

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

 

0066

0067

0068

0069

0070

0071

0072

0073

# 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="CreateSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_0"/>

      <SplitKeyParts type="Integer" value="4"/>

      <SplitKeyThreshold type="Integer" value="4"/>

      <SplitKeyMethod type="Enumeration" value="XOR"/>

      <TemplateAttribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0074

0075

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="CreateSplitKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_4"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0094

0095

0096

0097

0098

0099

0100

0101

0102

0103

0104

0105

 

0106

0107

0108

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0109

0110

0111

0112

0113

0114

0115

0116

0117

0118

0119

0120

0121

0122

0123

 

0124

0125

0126

0127

0128

0129

0130

0131

0132

 

0133

0134

0135

0136

0137

0138

0139

0140

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="1"/>

      <SplitKeyThreshold type="Integer" value="4"/>

      <SplitKeyMethod type="Enumeration" value="XOR"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="d4b92c299199298e30dee13b967e6dda"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SplitKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0141

0142

0143

0144

0145

0146

0147

0148

0149

0150

0151

0152

 

0153

0154

0155

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0156

0157

0158

0159

0160

0161

0162

0163

0164

0165

0166

0167

0168

0169

0170

 

0171

0172

0173

0174

0175

0176

0177

0178

0179

 

0180

0181

0182

0183

0184

0185

0186

0187

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="2"/>

      <SplitKeyThreshold type="Integer" value="4"/>

      <SplitKeyMethod type="Enumeration" value="XOR"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="35ea4f615686230c7b11538693674e89"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SplitKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0188

0189

0190

0191

0192

0193

0194

0195

0196

0197

0198

0199

 

0200

0201

0202

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0203

0204

0205

0206

0207

0208

0209

0210

0211

0212

0213

0214

0215

0216

0217

 

0218

0219

0220

0221

0222

0223

0224

0225

0226

 

0227

0228

0229

0230

0231

0232

0233

0234

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="3"/>

      <SplitKeyThreshold type="Integer" value="4"/>

      <SplitKeyMethod type="Enumeration" value="XOR"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="3478ddd2e1f89f2005011d26d9fff37c"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SplitKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0235

0236

0237

0238

0239

0240

0241

0242

0243

0244

0245

0246

 

0247

0248

0249

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_4"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0250

0251

0252

0253

0254

0255

0256

0257

0258

0259

0260

0261

0262

0263

0264

 

0265

0266

0267

0268

0269

0270

0271

0272

0273

 

0274

0275

0276

0277

0278

0279

0280

0281

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SplitKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <SplitKey>

      <SplitKeyParts type="Integer" value="4"/>

      <KeyPartIdentifier type="Integer" value="4"/>

      <SplitKeyThreshold type="Integer" value="4"/>

      <SplitKeyMethod type="Enumeration" value="XOR"/>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="d429bd9e23e192aa47c4a497d1e8df3f"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SplitKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0282

0283

0284

0285

0286

0287

0288

0289

0290

0291

0292

0293

0294

 

0295

 

0296

 

0297

 

0298

0299

0300

 

0301

0302

0303

0304

 

0305

0306

0307

0308

 

0309

0310

0311

0312

0313

0314

0315

 

0316

0317

0318

0319

0320

0321

# TIME 6

# Successful Join with 4 of the required 4-of-4 keys

<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="JoinSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_4"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_3"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_1"/>

      <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="TC-SJ-4-12-join1"/>

            <NameType type="Enumeration"                            value="UninterpretedTextString"/>

          </AttributeValue>

        </Attribute>

      </TemplateAttribute>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0322

0323

0324

0325

0326

0327

0328

0329

0330

0331

0332

0333

0334

0335

 

0336

0337

0338

<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="JoinSplitKey"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_5"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0339

0340

0341

0342

0343

0344

0345

0346

0347

0348

0349

0350

 

0351

0352

0353

# 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="Get"/>

    <RequestPayload>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_5"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0354

0355

0356

0357

0358

0359

0360

0361

0362

0363

0364

0365

0366

0367

0368

 

0369

0370

0371

0372

0373

 

0374

0375

0376

0377

0378

0379

0380

0381

<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="Get"/>

    <ResultStatus type="Enumeration" value="Success"/>

    <ResponsePayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_5"/>

      <SymmetricKey>

        <KeyBlock>

          <KeyFormatType type="Enumeration" value="Raw"/>

          <KeyValue>

            <KeyMaterial type="ByteString"                          value="0102030405060708090a0b0c0d0e0f10"/>

          </KeyValue>

          <CryptographicAlgorithm type="Enumeration" value="AES"/>

          <CryptographicLength type="Integer" value="128"/>

        </KeyBlock>

      </SymmetricKey>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

 

0382

0383

0384

0385

0386

0387

0388

0389

0390

0391

0392

0393

0394

 

0395

0396

0397

# TIME 8

# Non-successful Join with only 1 of the required 4-of-4 keys

<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="JoinSplitKey"/>

    <RequestPayload>

      <ObjectType type="Enumeration" value="SymmetricKey"/>

      <UniqueIdentifier type="TextString"                           value="$UNIQUE_IDENTIFIER_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0398

0399

0400

0401

0402

0403

0404

0405

0406

0407

0408

0409

0410

0411

0412

0413

<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="JoinSplitKey"/>

    <ResultStatus type="Enumeration" value="OperationFailed"/>

    <ResultReason type="Enumeration" value="CryptographicFailure"/>

    <ResultMessage type="TextString" value="FAILURE"/>

  </BatchItem>

</ResponseMessage>

 

0414

0415

0416

0417

0418

0419

0420

0421

0422

0423

0424

0425

 

0426

0427

0428

# TIME 9

<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>

0429

0430

0431

0432

0433

0434

0435

0436

0437

0438

0439

0440

0441

0442

 

0443

0444

0445

<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>

 

0446

0447

0448

0449

0450

0451

0452

0453

0454

0455

0456

0457

 

0458

0459

0460

# TIME 10

<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>

0461

0462

0463

0464

0465

0466

0467

0468

0469

0470

0471

0472

0473

0474

 

0475

0476

0477

<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>

 

0478

0479

0480

0481

0482

0483

0484

0485

0486

0487

0488

0489

 

0490

0491

0492

# TIME 11

<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_2"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0493

0494

0495

0496

0497

0498

0499

0500

0501

0502

0503

0504

0505

0506

 

0507

0508

0509

<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_2"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0510

0511

0512

0513

0514

0515

0516

0517

0518

0519

0520

0521

 

0522

0523

0524

# TIME 12

<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_3"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0525

0526

0527

0528

0529

0530

0531

0532

0533

0534

0535

0536

0537

0538

 

0539

0540

0541

<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_3"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0542

0543

0544

0545

0546

0547

0548

0549

0550

0551

0552

0553

 

0554

0555

0556

# TIME 13

<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_4"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0557

0558

0559

0560

0561

0562

0563

0564

0565

0566

0567

0568

0569

0570

 

0571

0572

0573

<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_4"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

0574

0575

0576

0577

0578

0579

0580

0581

0582

0583

0584

0585

 

0586

0587

0588

# TIME 14

<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_5"/>

    </RequestPayload>

  </BatchItem>

</RequestMessage>

0589

0590

0591

0592

0593

0594

0595

0596

0597

0598

0599

0600

0601

0602

 

0603

0604

0605

<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_5"/>

    </ResponsePayload>

  </BatchItem>

</ResponseMessage>

 

Appendix A.           Acknowledgments

The following individuals have participated in the creation of this specification and are gratefully acknowledged:

Editors of the previous versions of this document:

Mathias Björkqvist, IBM (v1.0 and v1.1)

Tim Hudson, Cryptsoft (v1.1)

René Pawlitzek, IBM (v1.0)

 

Technical Committee Participants:

Hal Aldridge, Sypris Electronics

Mike Allen, Symantec

Gordon Arnold, IBM

Todd Arnold, IBM

Richard Austin, Hewlett-Packard

Lars Bagnert, PrimeKey

Elaine Barker, NIST

Peter Bartok, Venafi, Inc.

Tom Benjamin, IBM

Anthony Berglas, Cryptsoft

Mathias Björkqvist, IBM

Kevin Bocket, Venafi

Anne Bolgert, IBM

Alan Brown, Thales e-Security

Tim Bruce, CA Technologies

Chris Burchett, Credant Technologies, Inc.

Kelley Burgin, National Security Agency

Robert Burns, Thales e-Security

Chuck Castleton, Venafi

Kenli Chong, QuintessenceLabs

John Clark, Hewlett-Packard

Tom Clifford, Symantec Corp.

Doron Cohen, SafeNet, Inc

Tony Cox, Cryptsoft

Russell Dietz, SafeNet, Inc

Graydon Dodson, Lexmark International Inc.

Vinod Duggirala, EMC Corporation

Chris Dunn, SafeNet, Inc.

Michael Duren, Sypris Electronics

James Dzierzanowski, American Express CCoE

Faisal Faruqui, Thales e-Security

Stan Feather, Hewlett-Packard

David Finkelstein, Symantec Corp.

James Fitzgerald, SafeNet, Inc.

Indra Fitzgerald, Hewlett-Packard

Judith Furlong, EMC Corporation

Susan Gleeson, Oracle

Robert Griffin, EMC Corporation

Paul Grojean, Individual

Robert Haas, IBM

Thomas Hardjono, M.I.T.

ChengDong He, Huawei Technologies Co., Ltd.

Steve He, Vormetric

Kurt Heberlein, Hewlett-Packard

Larry Hofer, Emulex Corporation

Maryann Hondo, IBM

Walt Hubis, NetApp

Tim Hudson, Cryptsoft

Jonas Iggbom, Venafi, Inc.

Sitaram Inguva, American Express CCoE

Jay Jacobs, Target Corporation

Glen Jaquette, IBM

Mahadev Karadiguddi, NetApp

Greg Kazmierczak, Wave Systems Corp.

Marc Kenig, SafeNet, Inc.

Mark Knight, Thales e-Security

Kathy Kriese, Symantec Corporation

Mark Lambiase, SecureAuth

John Leiseboer, Quintenssence Labs

Hal Lockhart, Oracle Corporation

Robert Lockhart, Thales e-Security

Anne Luk, Cryptsoft

Sairam Manidi, Freescale

Luther Martin, Voltage Security

Neil McEvoy, iFOSSF

Marina Milshtein, Individual

Dale Moberg, Axway Software

Jishnu Mukeri, Hewlett-Packard

Bryan Olson, Hewlett-Packard              

John Peck, IBM

Rob Philpott, EMC Corporation

Denis Pochuev, SafeNet, Inc.

Reid Poole, Venafi, Inc.

Ajai Puri, SafeNet, Inc.

Saravanan Ramalingam, Thales e-Security

Peter Reed, SafeNet, Inc.

Bruce Rich, IBM

Christina Richards, American Express CCoE

Warren Robbins, Dell

Peter Robinson, EMC Corporation

Scott Rotondo, Oracle

Saikat Saha, SafeNet, Inc.

Anil Saldhana, Red Hat

Subhash Sankuratripati, NetApp

Boris Schumperli, Cryptomathic

Greg Singh, QuintessenceLabs

David Smith, Venafi, Inc

Brian Spector, Certivox

Terence Spies, Voltage Security

Deborah Steckroth, RouteOne LLC

Michael Stevens, QuintessenceLabs

Marcus Streets, Thales e-Security

Satish Sundar, IBM

Kiran Thota, VMware

Somanchi Trinath, Freescale Semiconductor, Inc.

Nathan Turajski, Thales e-Security

Sean Turner, IECA, Inc.

Paul Turner, Venafi, Inc.

Rod Wideman, Quantum Corporation

Steven Wierenga, Hewlett-Packard

Jin Wong, QuintessenceLabs

Sameer Yami, Thales e-Security

Peter Yee, EMC Corporation

Krishna Yellepeddy, IBM

Catherine Ying, SafeNet, Inc.

Tatu Ylonen, SSH Communications Security (Tectia Corp)

Michael Yoder, Vormetric. Inc.

Magda Zdunkiewicz, Cryptsoft

Peter Zelechoski, Election Systems & Software

 

Appendix B.            Revision History

Revision

Date

Editor

Changes Made

wd01

26-June-2013

Tim Hudson /
Faisal Faruqui

Initial draft with updated conformance wording style. Updated test case style. Included test cases for 1.0, 1.1 and 1.2. Applied new OASIS template.

wd02

6-August-2013

Tim Hudson /
Faisal Faruqui

Updated Test Cases based on July 2013 Interop

wd02a

24-October-2013

Tim Hudson

Editorial corrections to two typographical errors in the test cases in TC-71-{10,11,12}, TC-MDO-{1,2}.

pr01update

11-June-2014

Tim Hudson

Updated following Public Review