ConceptioArchiveOASIS Open
OASIS Openopen access

KMIP Cryptographic Services Profile v1.0 (2015-05-20)

OASIS Open · OASIS Open
OASIS Open · Standards · License: Open Access
Open Source ↗
cskmiposprofilev1v1.0
oasis, standard, oasis open, specification, open standard, oasis_kmip-cs-profile-v1.0-os, kmip, cryptographic, services, profile, v1.0, kmip-cs-profile-v1.0-os, cs, v1, os, 1.0

KMIP Cryptographic Services Profile Version 1.0 OASIS Standard 19 May 2015 Specification URIs This version: http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/os/kmip-cs-profile-v1.0-os.doc (Authoritative) http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/os/kmip-cs-profile-v1.0-os.html http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/os/kmip-cs-profile-v1.0-os.pdf Previous version: http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/csprd01/kmip-cs-profile-v1.0-csprd01.doc (Authoritative) http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/csprd01/kmip-cs-profile-v1.0-csprd01.html http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/csprd01/kmip-cs-profile-v1.0-csprd01.pdf Latest version: http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/kmip-cs-profile-v1.0.doc (Authoritative) http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/kmip-cs-profile-v1.0.html http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/kmip-cs-profile-v1.0.pdf Technical Committee: OASIS Key Management Interoperability Protocol (KMIP) TC Chairs: Saikat Saha ( [email protected] ), Oracle Tony Cox ( [email protected] ), Cryptsoft Pty Ltd. Editor: Tim Hudson ( [email protected] ), Cryptsoft Pty Ltd. Related work: This specification is related to: � Key Management Interoperability Protocol Profiles Version 1.0. Edited by Robert Griffin and Subhash Sankuratripati. Latest version: http://docs.oasis-open.org/kmip/profiles/v1.0/kmip-profiles-1.0.html . � Key Management Interoperability Protocol Profiles Version 1.1 . Edited by Robert Griffin and Subhash Sankuratripati. Latest version: http://docs.oasis-open.org/kmip/profiles/v1.1/kmip-profiles-v1.1.html . � Key Management Interoperability Protocol Profiles Version 1.2 . Edited by Tim Hudson and Robert Lockhart. Latest version: http://docs.oasis-open.org/kmip/profiles/v1.2/kmip-profiles-v1.2.html . � Key Management Interoperability Protocol Specification Version 1.1 . Edited by Robert Haas and Indra Fitzgerald. Latest version: http://docs.oasis-open.org/kmip/spec/v1.1/kmip-spec-v1.1.html . � Key Management Interoperability Protocol Specification Version 1.2 . Edited by Kiran Thota and Kelley Burgin. Latest version: http://docs.oasis-open.org/kmip/spec/v1.2/kmip-spec-v1.2.html . � Key Management Interoperability Protocol Test Cases Version 1.2 . Edited by Tim Hudson and Faisal Faruqui. Latest version: http://docs.oasis-open.org/kmip/testcases/v1.2/kmip-testcases-v1.2.html . � Key Management Interoperability Protocol Usage Guide Version 1.2 . Edited by Indra Fitzgerald and Judith Furlong. Latest version: http://docs.oasis-open.org/kmip/ug/v1.2/kmip-ug-v1.2.html . Abstract: Describes the use of KMIP operations to support cryptographic services being performed by a KMIP server on behalf of a KMIP client for key management operations. Status: This document was last revised or approved by the membership of OASIS on the above date. The level of approval is also listed above. Check the �Latest version� location noted above for possible later revisions of this document. Any other numbered Versions and other technical work produced by the Technical Committee (TC) are listed at https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=kmip#technical . Technical Committee members should send comments on this specification to the Technical Committee�s email list. Others should send comments to the Technical Committee by using the � Send A Comment � button on the Technical Committee�s web page at https://www.oasis-open.org/committees/kmip/ . For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page ( https://www.oasis-open.org/committees/kmip/ipr.php . Citation format: When referencing this specification the following citation format should be used: [kmip-cs-v1.0] KMIP Cryptographic Services Profile Version 1.0. Edited by Tim Hudson. 19 May 2015. OASIS Standard. http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/os/kmip-cs-profile-v1.0-os.html . Latest version: http://docs.oasis-open.org/kmip/kmip-cs-profile/v1.0/kmip-cs-profile-v1.0.html . Notices Copyright � OASIS Open 2015. All Rights Reserved. All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so. OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims. The name "OASIS" is a trademark of OASIS , the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see https://www.oasis-open.org/policies-guidelines/trademark for above guidance. Table of Contents 1 ������� Introduction . 6 1.1 Terminology . 6 1.2 Normative References . 6 2 ������� Cryptographic Profiles . 7 2.1 Basic Cryptographic Client Profile . 7 2.2 Basic Cryptographic Server Profile . 7 2.3 Advanced Cryptographic Client Profile . 7 2.4 Advanced Cryptographic Server Profile . 8 2.5 RNG Cryptographic Client Profile . 8 2.6 RNG Cryptographic Server Profile . 8 3 ������� Cryptographic Profile Test Cases . 9 3.1 Mandatory Test Cases KMIP v1.2 - Basic . 9 3.1.1 CS-BC-M-1-12 - Encrypt with New Symmetric Key . 9 3.1.2 CS-BC-M-2-12 - Decrypt with New Symmetric Key . 12 3.1.3 CS-BC-M-3-12 - Encrypt and Decrypt with New Symmetric Key . 16 3.1.4 CS-BC-M-4-12 - Encrypt with Known Symmetric Key . 19 3.1.5 CS-BC-M-5-12 - Decrypt with Known Symmetric Key . 23 3.1.6 CS-BC-M-6-12 - Encrypt and Decrypt with Known Symmetric Key . 26 3.1.7 CS-BC-M-7-12 - Encrypt with Known Symmetric Key with Usage Limits . 30 3.1.8 CS-BC-M-8-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding . 34 3.1.9 CS-BC-M-9-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding . 38 3.1.10 CS-BC-M-10-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC � 42 3.1.11 CS-BC-M-11-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and IV � 46 3.1.12 CS-BC-M-12-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and IV � 51 3.1.13 CS-BC-M-13-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and Random IV � 56 3.1.14 CS-BC-M-14-12 - Encrypt and Decrypt with Known Symmetric Key Date Checks . 61 3.2 Mandatory Test Cases KMIP v1.2 - Advanced . 65 3.2.1 CS-AC-M-1-12 - Sign with Known Asymmetric Key . 65 3.2.2 CS-AC-M-2-12 - Signature Verify with Known Asymmetric Key . 69 3.2.3 CS-AC-M-3-12 - Sign and Signature Verify with Known Asymmetric Key . 74 3.2.4 CS-AC-M-4-12 - MAC with Known Key . 82 3.2.5 CS-AC-M-5-12 - MAC Verify with Known Key . 85 3.2.6 CS-AC-M-6-12 - MAC and MAC Verify with Known Key . 88 3.2.7 CS-AC-M-7-12 - HASH . 92 3.2.8 CS-AC-M-8-12 - Sign and Signature Verify with Known Asymmetric Key Date Checks . 94 3.3 Mandatory Test Cases KMIP v1.2 - RNG .. 102 3.3.1 CS-RNG-M-1-12 - RNG Retrieve . 102 3.4 Optional Test Cases KMIP v1.2 - RNG .. 102 3.4.1 CS-RNG-O-1-12 - Seed RNG with Server Accept 102 3.4.2 CS-RNG-O-2-12 - Seed RNG with Server partial Accept 103 3.4.3 CS-RNG-O-3-12 - Seed RNG with Server Ignore . 104 3.4.4 CS-RNG-O-4-12 - Seed RNG with Server Deny . 104 4 ������� Conformance . 106 4.1 Basic Cryptographic Client KMIP v1.2 Profile Conformance . 106 4.2 Basic Cryptographic Server KMIP v1.2 Profile Conformance . 106 4.3 Advanced Cryptographic Client KMIP v1.2 Profile Conformance . 106 4.4 Advanced Cryptographic Server KMIP v1.2 Profile Conformance . 106 4.5 RNG Cryptographic Client KMIP v1.2 Profile Conformance . 106 4.6 RNG Cryptographic Server KMIP v1.2 Profile Conformance . 106 4.7 Permitted Test Case Variations . 106 4.7.1 Variable Items . 106 4.7.2 Variable behavior 108 Appendix A. ������ Acknowledgments . 109 Appendix B. ������ KMIP Specification Cross Reference . 112 Appendix C. ������ Revision History . 117 1 Introduction For normative definition of the elements of KMIP see the KMIP Specification [KMIP-SPEC-1_2] and the KMIP Profiles [KMIP-PROF-1_2] . This profile defines the necessary KMIP functionality that a KMIP implementation conforming to this profile SHALL support in order to interoperate in conformance with this profile. 1.1 Terminology The key words �MUST�, �MUST NOT�, �REQUIRED�, �SHALL�, �SHALL NOT�, �SHOULD�, �SHOULD NOT�, �RECOMMENDED�, �MAY�, and �OPTIONAL� in this document are to be interpreted as described in [RFC2119] . 1.2 Normative References [RFC2119] �������������� Bradner, S., �Key words for use in RFCs to Indicate Requirement Levels�, BCP 14, RFC 2119, March 1997. http://www.ietf.org/rfc/rfc2119.txt . [KMIP-SPEC-1_2]��� Key Management Interoperability Protocol Specification Version 1.2. Edited by Kiran Thota and Kelley Burgin. Latest version: http://docs.oasis-open.org/kmip/spec/v1.2/kmip-spec-v1.2.doc . [KMIP-PROF-1_2]��� Key Management Interoperability Protocol Profiles Version 1.2 . Edited by Tim Hudson and Robert Lockhart. Latest version: http://docs.oasis-open.org/kmip/profiles/v1.2/kmip-profiles-v1.2.doc . 2 Cryptographic Profiles The Basic Cryptographic Client and Server profiles specify the use of KMIP to request encryption and decryption operations from a KMIP server. The Advanced Cryptographic Client and Server profiles specify the use of KMIP to request encryption, decryption, signature, and verification operations from a KMIP server. The RNG Cryptographic Client and Server profiles specify the use of KMIP to request random number generator operations from a KMIP server. 2.1 Basic Cryptographic Client Profile A KMIP client conformant to this profile: SHALL conform to the KMIP Baseline Client profile in [KMIP-PROF-1_2] and [KMIP-SPEC-1_2] SHALL support at least one of the Client-to-Server Operation [KMIP-SPEC-1_2]: Encrypt [KMIP-SPEC-1_2] Decrypt [KMIP-SPEC-1_2] MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.1 MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements. 2.2 Basic Cryptographic Server Profile KMIP servers conformant to this profile under [KMIP-SPEC-1_2]: SHALL conform to the Baseline Server of [KMIP-PROF-1_2] SHALL support the Client-to-Server Operation [KMIP-SPEC-1_2]: Encrypt [KMIP-SPEC-1_2] Decrypt [KMIP-SPEC-1_2] MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.2 MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements. 2.3 Advanced Cryptographic Client Profile A KMIP client conforming to this profile: SHALL conform to the KMIP Baseline Client profile in [KMIP-PROF-1_2] and [KMIP-SPEC-1_2] SHALL support at least one of the Client-to-Server Operation [KMIP-SPEC-1_2]: Encrypt [KMIP-SPEC-1_2] Decrypt [KMIP-SPEC-1_2] Sign [KMIP-SPEC-1_2] Signature Verify [KMIP-SPEC-1_2] MAC [KMIP-SPEC-1_2] MAC Verify [KMIP-SPEC-1_2] RNG Retrieve [KMIP-SPEC-1_2] RNG Seed [KMIP-SPEC-1_2] MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.3 MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements. 2.4 Advanced Cryptographic Server Profile A KMIP server conforming to this profile: SHALL conform to the KMIP Baseline Server profile in [KMIP-PROF-1_2] and [KMIP-SPEC-1_2] SHALL support the Client-to-Server Operation [KMIP-SPEC-1_2]: Encrypt [KMIP-SPEC-1_2] Decrypt [KMIP-SPEC-1_2] Sign [KMIP-SPEC-1_2] Signature Verify [KMIP-SPEC-1_2] MAC [KMIP-SPEC-1_2] MAC Verify [KMIP-SPEC-1_2] RNG Retrieve [KMIP-SPEC-1_2] RNG Seed [KMIP-SPEC-1_2] MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.4 MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements. 2.5 RNG Cryptographic Client Profile A KMIP client conformant to this profile: SHALL conform to the KMIP Baseline Client profile in [KMIP-PROF-1_2] and [KMIP-SPEC-1_2] SHALL support at least one of the Client-to-Server Operation [KMIP-SPEC-1_2]: RNG Retrieve [KMIP-SPEC-1_2] RNG Seed [KMIP-SPEC-1_2] MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.5 MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements. 2.6 RNG Cryptographic Server Profile A KMIP server conforming to this profile: SHALL conform to the KMIP Baseline Server profile in [KMIP-PROF-1_2] and [KMIP-SPEC-1_2] SHALL support the Client-to-Server Operation [KMIP-SPEC-1_2]: RNG Retrieve [KMIP-SPEC-1_2] RNG Seed [KMIP-SPEC-1_2] MAY support any clause within [KMIP-SPEC-1_2] provided it does not conflict with any other clause within this section 2.6 MAY support extensions outside the scope of this standard (e.g., vendor extensions, conformance clauses) that do not contradict any KMIP requirements. 3 Cryptographic Profile Test Cases The test cases define a number of request-response pairs for KMIP operations. Each test case is provided in the XML format specified in [KMIP-ENCODE] intended to be both human-readable and usable by automated tools. The time sequence (starting from 0) for each request-response pair is noted and line numbers are provided for ease of cross-reference for a given test sequence. Each test case has a unique label (the section name) which includes indication of mandatory (-M-) or optional (-O-) status and the protocol version major and minor numbers as part of the identifier. The test cases may depend on a specific configuration of a KMIP client and server being configured in a manner consistent with the test case assumptions. Where possible the flow of unique identifiers between tests, the date-time values, and other dynamic items are indicated using symbolic identifiers � in actual request and response messages these dynamic values will be filled in with valid values. Note: the values for the returned items and the custom attributes are illustrative. Actual values from a real client or server system may vary as specified in section 4.7. 3.1 Mandatory Test Cases KMIP v1.2 - Basic 3.1.1 CS-BC-M-1-12 - Encrypt with New Symmetric Key Create a symmetric key and perform encrypt using the symmetric key. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Create" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Algorithm" /> ��������� <AttributeValue type= "Enumeration" value= "AES" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Length" /> ��������� <AttributeValue type= "Integer" value= "128" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Decrypt Encrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Name" /> ��������� <AttributeValue> � ���������� <NameValue type= "TextString" value= "CS-BC-M-1-12" /> ����������� <NameType type= "Enumeration" ��������������������������� value= "UninterpretedTextString" /> ��������� </AttributeValue> � ������ </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ��������� <AttributeValue> � �� �������� <BlockCipherMode type= "Enumeration" value= "ECB" /> ��������� </AttributeValue> � ������ </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Create" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <UniqueIdentifier type= "TextString" ����� ��������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "fd912d102dbb482f6f6e91bd57119095" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.2 CS-BC-M-2-12 - Decrypt with New Symmetric Key Create a symmetric key and perform decrypt using the symmetric key.� Note: Create followed by Decrypt is unusual but some applications actually do this relying on Decrypt and Encrypt being able to be used around the 'wrong' way to get the same result. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Create" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Algorithm" /> ��������� <AttributeValue type= "Enumeration" value= "AES" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Length" /> ��������� <AttributeValue type= "Integer" value= "128" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Decrypt Encrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Name" /> ��������� <AttributeValue> � ���������� <NameValue type= "TextString" value= "CS-BC-M-2-12" /> ����������� <NameType type= "Enumeration" ��������������������������� value= "UninterpretedTextString" /> ������ ��� </AttributeValue> � ������ </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ��������� <AttributeValue> � ���������� <BlockCipherMode type= "Enumeration" value= "ECB" /> ��������� </AttributeValue> � ������ </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Create" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������� ������������ value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "fd912d102dbb482f6f6e91bd57119095" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" ������������������� ������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.3 CS-BC-M-3-12 - Encrypt and Decrypt with New Symmetric Key Create a symmetric key and perform both encrypt and decrypt operations using the symmetric key. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Create" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Algorithm" /> ��������� <AttributeValue type= "Enumeration" value= "AES" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Length" /> � �������� <AttributeValue type= "Integer" value= "128" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Decrypt Encrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Name" /> ��������� <AttributeValue> � ���������� <NameValue type= "TextString" value= "CS-BC-M-3-12" /> ����������� <NameType type= "Enumeration" ��������������������������� value= "UninterpretedTextString" /> ��������� </AttributeValue> � ������ </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ��������� <AttributeValue> � ���������� <BlockCipherMode type= "Enumeration" value= "ECB" /> ��������� </AttributeValue> � ������ </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ��� �� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Create" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "fd912d102dbb482f6f6e91bd57119095" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �� ������������������������ value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "fd912d102dbb482f6f6e91bd57119095" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" ������� ������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> �� � </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.4 CS-BC-M-4-12 - Encrypt with Known Symmetric Key Register a symmetric key and perform encrypt using the symmetric key. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-4-12" /> � ������ </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0076 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "d9bcce11b0b437b90239552df3a360c9" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0094 0095 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> � �� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0112 0113 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0129 0130 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.5 CS-BC-M-5-12 - Decrypt with Known Symmetric Key Register a symmetric key and perform decrypt using the symmetric key.� Note: Register followed by Decrypt is unusual but some applications actually do this relying on Decrypt and Encrypt being able to be used around the 'wrong' way to get the same result. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-5-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" ������� ������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "d9bcce11b0b437b90239552df3a360c9" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0076 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" ����� ��������������������������������� value= "01020304050607080910111213141516" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0094 0095 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0112 0113 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0129 0130 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" ���� ���������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.6 CS-BC-M-6-12 - Encrypt and Decrypt with Known Symmetric Key Register a symmetric key and perform both encrypt and decrypt operations using the symmetric key. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-6-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" ����� ��������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0076 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" ��� ����������������������������������� value= "fd912d102dbb482f6f6e91bd57119095" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0094 0095 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � � � <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ��� �� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "fd912d102dbb482f6f6e91bd57119095" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0113 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0166 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0181 0182 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.7 CS-BC-M-7-12 - Encrypt with Known Symmetric Key with Usage Limits Register a symmetric key and perform encrypt using the symmetric key. Then attempt to perform an encrypt beyond the usage limits. It must fail. This is otherwise the same as CS-BC-M-4-12. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-7-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> �� ������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> ����� <Attribute> ����� � � <AttributeName type= "TextString" value= "Usage Limits" /> ����� � <AttributeValue> ����� � �� <UsageLimitsTotal type= "LongInteger" value= "16" /> ����� ��� <UsageLimitsUnit type= "Enumeration" value= "Byte" /> ����� � </AttributeValue> ����� </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ����� �������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> � ���� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0082 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 0100 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" ��������������������������� ����������� value= "d9bcce11b0b437b90239552df3a360c9" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 0117 0118 0119 # TIME 2 # Attempt to protect beyond the usage limits. This must fail. <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 0135 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "OperationFailed" /> � �� <ResultReason type= "Enumeration" value= "PermissionDenied" /> ��� <ResultMessage type= "TextString" value= "DENIED" /> � </BatchItem> </ResponseMessage> 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ���� ��������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 0170 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 0183 0184 0185 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 0202 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.8 CS-BC-M-8-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. This is otherwise the same as CS-BC-M-3-12. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-8-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> �������� � <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" ������������������������� � value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � �� �� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "d9bcce11b0b437b90239552df3a360c90efb6bfed93b4d1ea2123ba4db075ff6" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0095 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "d9bcce11b0b437b90239552df3a360c90efb6bfed93b4d1ea2123ba4db075ff6" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � �� �� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.9 CS-BC-M-9-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. The input data is non-block size. This is otherwise the same as CS-BC-M-8-12. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-9-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "010203040506070809101112131415160102030405060708091011121314151601" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "d9bcce11b0b437b90239552df3a360c9d9bcce11b0b437b90239552df3a360c9be261a7bd1371bb738fe004d500381d0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0095 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "d9bcce11b0b437b90239552df3a360c9d9bcce11b0b437b90239552df3a360c9be261a7bd1371bb738fe004d500381d0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" ������� ������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "010203040506070809101112131415160102030405060708091011121314151601" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.10 CS-BC-M-10-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. The input data is non-block size. This is otherwise the same as CS-BC-M-9-12. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-10-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" �������������������� ����� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "CBC" /> ����� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" ���������������������������������� ���� value= "010203040506070809101112131415160102030405060708091011121314151601" /> ����� <IVCounterNonce type= "ByteString" ���������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> � �� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "79abc5c23868ad84d388ce61110a62742bda19d694bbcb757dd06617c0d80fb1df2e71864ad9633d7d797e30860df00d" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "CBC" /> ����� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "79abc5c23868ad84d388ce61110a62742bda19d694bbcb757dd06617c0d80fb1df2e71864ad9633d7d797e30860df00d" /> ����� <IVCounterNonce type= "ByteString" ���������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" ������������ �������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "010203040506070809101112131415160102030405060708091011121314151601" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 0151 0152 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 0183 0184 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.11 CS-BC-M-11-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and IV Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. The input data is non-block size. This is otherwise the same as CS-BC-M-10-12. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-11-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ����������������� �������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "CBC" /> ����� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" ������������������������������� ������� value= "010203040506070809101112131415160102030405060708091011121314151601" /> ����� <IVCounterNonce type= "ByteString" ���������������������������� value= "FF020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 # TIME 2 # Decrypt with the IV being specified as all zeros (which does # not match the Encrypt) will result in the first block being # incorrect. <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" ���������� ���������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "CBC" /> ����� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" ������������ �������������������������� value= "e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546" /> ����� <IVCounterNonce type= "ByteString" ���������������������������� value= "00000000000000000000000000000000" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ���� � <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" ������������������������������������� � value= "fe0000000000000000000000000000000102030405060708091011121314151601" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 0154 # TIME 3 # Decrypt without the IV being specified will result in an error <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "CBC" /> ����� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 0170 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "OperationFailed" /> ��� <ResultReason type= "Enumeration" value= "InvalidMessage" /> ��� <ResultMessage type= "TextString" value= "missing-iv" /> � </BatchItem> </ResponseMessage> 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 0183 0184 0185 0186 0187 0188 0189 0190 0191 # TIME 4 # Decrypt with the IV being specified <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "CBC" /> ����� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546" /> ����� <IVCounterNonce type= "ByteString" � ��������������������������� value= "FF020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 0202 0203 0204 0205 0206 0207 0208 0209 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "010203040506070809101112131415160102030405060708091011121314151601" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0210 0211 0212 0213 0214 0215 0216 0217 0218 0219 0220 0221 0222 0223 0224 0225 0226 0227 # TIME 5 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0228 0229 0230 0231 0232 0233 0234 0235 0236 0237 0238 0239 0240 0241 0242 0243 0244 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0245 0246 0247 0248 0249 0250 0251 0252 0253 0254 0255 0256 0257 0258 0259 # TIME 6 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0260 0261 0262 0263 0264 0265 0266 0267 0268 0269 0270 0271 0272 0273 0274 0275 0276 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.12 CS-BC-M-12-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and IV Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. The input data is non-block size. The Cryptographic Parameters are associated attributes of the key rather than parameters to the operation. This is otherwise the same as CS-BC-M-11-12. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ������� �� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-12-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ����� � <AttributeValue> ����� � �� <BlockCipherMode type= "Enumeration" value= "CBC" /> ����� ��� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� � </AttributeValue> � ������ </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" ����� ��������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "010203040506070809101112131415160102030405060708091011121314151601" /> ����� <IVCounterNonce type= "ByteString" ���������������������������� value= "FF020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 # TIME 2 # Decrypt without the IV being specified will result in an error. <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "OperationFailed" /> ��� <ResultReason type= "Enumeration" value= "InvalidMessage" /> ��� <ResultMessage type= "TextString" value= "missing-iv" /> � </BatchItem> </ResponseMessage> 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 # TIME 3 # Decrypt with the IV being specified <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546" /> ����� <IVCounterNonce type= "ByteString" ���������������������������� value= "FF020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0148 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "010203040506070809101112131415160102030405060708091011121314151601" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0166 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 0183 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������� ������������������ value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0201 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213 0214 0215 # TIME 5 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0216 0217 0218 0219 0220 0221 0222 0223 0224 0225 0226 0227 0228 0229 0230 0231 0232 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.13 CS-BC-M-13-12 - Encrypt and Decrypt with Known Symmetric Key and PKCS5 Padding and CBC and Random IV Register a symmetric key and perform encrypt using the symmetric key followed by decrypt. The input data is non-block size. The Cryptographic Parameters are associated attributes of the key rather than parameters to the operation. This is otherwise the same as CS-BC-M-12-12. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-13-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ����� � <AttributeValue> ����� � �� <BlockCipherMode type= "Enumeration" value= "CBC" /> ����� ��� <PaddingMethod type= "Enumeration" value= "PKCS5" /> ����� ��� <RandomIV type= "Boolean" value= "true" /> ����� � </AttributeValue> � ������ </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "010203040506070809101112131415160102030405060708091011121314151601" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "e768203ba72b6e157daaad34b1e791d8e88457dc147942f01bfaff7b28a3cdde2203d4d5a4c7928ba9e9cc78b66a6546" /> ����� <IVCounterNonce type= "ByteString" ���������������������������� value= "FF020304050607080910111213141516" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 # TIME 2 # Decrypt without the IV being specified will result in an error. <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" value= "$DATA_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "OperationFailed" /> ��� <ResultReason type= "Enumeration" value= "InvalidMessage" /> ��� <ResultMessage type= "TextString" value= "missing-iv" /> � </BatchItem> </ResponseMessage> 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 # TIME 3 # Decrypt with the IV being specified <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" value= "$DATA_0" /> ����� <IVCounterNonce type= "ByteString" value= "$IV_COUNTER_NONCE" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "010203040506070809101112131415160102030405060708091011121314151601" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 0183 0184 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � �� �� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213 0214 0215 0216 # TIME 5 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> �� � </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0217 0218 0219 0220 0221 0222 0223 0224 0225 0226 0227 0228 0229 0230 0231 0232 0233 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.1.14 CS-BC-M-14-12 - Encrypt and Decrypt with Known Symmetric Key Date Checks Register a symmetric key and perform both encrypt and decrypt operations using the symmetric key outside of the valid Process Start Date and Protect Stop Date to confirm the operations fail. The Process Start Date is set to a future date. The Protect Stop Date is set to a past date. This is a modified version of CS-BC-M-6-12. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt" /> ������� </Attribute> � ���� �� <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-BC-M-14-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ����� ���� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Process Start Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW+3600" /> ������� </Attribute> � �� ���� <Attribute> � �������� <AttributeName type= "TextString" value= "Protect Stop Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" ������������ �������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0082 0083 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� </CryptographicParameters> � �� �� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Encrypt" /> ��� <ResultStatus type= "Enumeration" value= "OperationFailed" /> ��� <ResultReason type= "Enumeration" value= "PermissionDenied" /> ��� <ResultMessage type= "TextString" value= "DENIED" /> � </BatchItem> </ResponseMessage> 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 0117 0118 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <CryptographicParameters> ����� <BlockCipherMode type= "Enumeration" value= "ECB" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "fd912d102dbb482f6f6e91bd57119095" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Decrypt" /> ��� <ResultStatus type= "Enumeration" value= "OperationFailed" /> ��� <ResultReason type= "Enumeration" value= "PermissionDenied" /> ��� <ResultMessage type= "TextString" value= "DENIED" /> � </BatchItem> </ResponseMessage> 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 0151 0152 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 0183 0184 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.2 Mandatory Test Cases KMIP v1.2 - Advanced 3.2.1 CS-AC-M-1-12 - Sign with Known Asymmetric Key Register an asymmetric key and perform sign using the asymmetric key. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "PrivateKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Sign" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ��������� <AttributeValue> � ���������� <PaddingMethod type= "Enumeration" value= "PSS" /> ����������� <HashingAlgorithm type= "Enumeration" value= "SHA_256" /> ����������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� </AttributeValue> � ������ </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-AC-M-1-12-prikey1" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ���� </TemplateAttribute> � ���� <PrivateKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "PKCS_1" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "308204a50201000282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001028201003b12455d53c1816516c518493f6398aafa72b17dfa894db888a7d48c0a47f62579a4e644f86da711fec850cdd9dbbd17f69a443d2ec1dd60d3c618fa74cde5fdafabd6baa26eb0a3adb4def6480fb1218cd3b083e252e885b6f0729f98b2144d2b72293e1b11d73393bc41f75b15ee3d7569b4995ed1a14425da4319b7b26b0e8fef17c37542ae5c6d5849f87209567f3925a47b016d564859717bc57fcb4522d0aa49ce816e5be7b3088193236ec9efff140858045b73c5d79baf38f7c67f04c5dcf0e3806ad982d1259058c3473e847179a878f2c6b3bd968fb99ea46e9185892f3676e78965c2aed4877ba3917df07c5e927474f19e764ba61dc38d63bf2902818100d5c69c8c3cdc2464744a793713dafb9f1dbc799ff96423fecd3cba794286bce920f4b5c183f99ee9028db6212c6277c4c8297fcfbce7f7c24ca4c51fc7182fb8f4019fb1d5659674c5cbe6d5fa992051341760cd00735729a070a9e54d342beba8ef47ee82d3a01b04cec4a00d4ddb41e35116fc221e854b43a696c0e6419b1b02818100cd5ea7702789064b673540cbff09356ad80bc3d592812eba47610b9fac6aecefe22acae438459cda74e59653d88c04189d34399bf5b14b920e34ef38a7d09fe69593396e8fe735e6f0a6ae4990401041d8a406b6fd86a1161e45f95a3eaa5c1012e6662e44f15f335ac971e1766b2bb9c985109974141b44d37e1e319820a55f02818100b2871237bf9fad38c3316ab7877a6a868063e542a7186d431e8d27c19ac0414584033942e9ff6e2973bb7b2d8b0e94ad1ee82158108fbc8664517a5a467fb963014bd5dcc2b4fb087c23039d11920dbe22fd9f16b4d89e23225cd455adbaf32ef43f185864a36d630309d6853f7714b39aae1ebee3938f87c2707e178c739f9f028181009690bed14b2afaa26d986d592231ee27d71d49065bd2ba1f78157e20229881fd9d23227d0f8479eaefa922fd75d5b16b1a561fa6680b040ca0bdce650b23b917a4b1bb7983a74fad70e1c305cbec2bff1a85a726a1d90260e4f1084f518234dcd3fe770b9520215bd543bb6a4117718754676a34171666a79f26e79c149c5aa102818100a0c985a0a0a791a659f99731134c44f37b2e520a2cea35800ad27241ed360dfde6e8ca614f12047fd08b76ac4d13c056a0699e2f98a1cac91011294d71208f4abab33ba87aa0517f415baca88d6bac006088fa601d349417e1f0c9b23affa4d496618dbc024986ed690bbb7b025768ff9df8ac15416f489f8129c32341a8b44f" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� <CryptographicLength type= "Integer" value= "2048" /> ������� </KeyBlock> � ���� </PrivateKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> �� � <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Sign" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" ����������������������������������� ��� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Sign" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <SignatureData type= "ByteString" ����������������������������� value= "9d888ed8c169ebc052e21f7392427b0efa78321f64558ac4dba2277f0b22c3a94eb098a608ef2a70931eece25482e5c962a560fe73f83471779a69d85099ff44fe5da16977fe9f92bdd26a153612d57f325c619570577f81eff22ca511c684bc037a579981c899c91da6d1ac34c230fa68db59c3f31bc5add7c75328f9974f342f1bb5e928b89619894fb301002ef60a1d093dfc22f87c442c13cb8a6cd83be0ecc5b18647c51fb92238a90fbd3e4aaf37612ab4b76243bda44db4a48a88b0899fa672d06f7b4c1094858e7257c4851447ca29dbbc11a664c0cd8be7ce7b27173fa8042d54d240ade8ee6069459ec08bf510eaf68e2fc1e50561dc686525ba0f" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" ������� ������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ��� � <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.2.2 CS-AC-M-2-12 - Signature Verify with Known Asymmetric Key Register an asymmetric key and perform signature verify using the asymmetric key. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "PublicKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Verify" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-AC-M-2-12-pubkey1" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ��������� <AttributeValue> � ���������� <PaddingMethod type= "Enumeration" value= "PSS" /> ����������� <HashingAlgorithm type= "Enumeration" value= "SHA_256" /> ����������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� </AttributeValue> � ������ </Attribute> � ���� </TemplateAttribute> � �� �� <PublicKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "PKCS_1" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "3082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� <CryptographicLength type= "Integer" value= "2048" /> ������� </KeyBlock> � ���� </PublicKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ��� � <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" ����������������������������������� ��� value= "01020304050607080910111213141516" /> ����� <SignatureData type= "ByteString" ����������������������������� value= "2925ebf8c6c9d0585c36a44491dd28f8ffd1098d2275a505a0eba7af452e9496472fd5c4a515d1c0db16c7c59ef76863b571cbf498fb8178ffeb75667e6e51b9b9bbf09d55bba54b42acb947aa5a81dc62751727d7cad4616c0c0bf1dd666f8266f24262c5fa9cbbdc424ef5f5e345e633d111e66eb4afc4001bb02e158b2d5d4573c614655f21a688bee0e9dbde6a58324c08f42ae69697e0c51803f9de6b3df242d2915d9b1a8110ad28143ab7855ef92ede48971b484172de3b0b8957f493a74b3372ee2200f2233607735f90d0b180968ab20d74841fd3dba4fb1f225ea5c6c87f99c2a238db72a536e68be202a092cd032337d451477e568f9a48b638cb" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <ValidityIndicator type= "Enumeration" value= "Valid" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 # TIME 2 # Check that an invalid data input fails to match the signature <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" ��������������� ����������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "FF020304050607080910111213141516" /> ����� <SignatureData type= "ByteString" ����������������������������� value= "2925ebf8c6c9d0585c36a44491dd28f8ffd1098d2275a505a0eba7af452e9496472fd5c4a515d1c0db16c7c59ef76863b571cbf498fb8178ffeb75667e6e51b9b9bbf09d55bba54b42acb947aa5a81dc62751727d7cad4616c0c0bf1dd666f8266f24262c5fa9cbbdc424ef5f5e345e633d111e66eb4afc4001bb02e158b2d5d4573c614655f21a688bee0e9dbde6a58324c08f42ae69697e0c51803f9de6b3df242d2915d9b1a8110ad28143ab7855ef92ede48971b484172de3b0b8957f493a74b3372ee2200f2233607735f90d0b180968ab20d74841fd3dba4fb1f225ea5c6c87f99c2a238db72a536e68be202a092cd032337d451477e568f9a48b638cb" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <ValidityIndicator type= "Enumeration" value= "Invalid" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 0151 # TIME 3 # Check that an invalid signature input fails to match the signature <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ����� <SignatureData type= "ByteString" ����������������������������� value= "FF25ebf8c6c9d0585c36a44491dd28f8ffd1098d2275a505a0eba7af452e9496472fd5c4a515d1c0db16c7c59ef76863b571cbf498fb8178ffeb75667e6e51b9b9bbf09d55bba54b42acb947aa5a81dc62751727d7cad4616c0c0bf1dd666f8266f24262c5fa9cbbdc424ef5f5e345e633d111e66eb4afc4001bb02e158b2d5d4573c614655f21a688bee0e9dbde6a58324c08f42ae69697e0c51803f9de6b3df242d2915d9b1a8110ad28143ab7855ef92ede48971b484172de3b0b8957f493a74b3372ee2200f2233607735f90d0b180968ab20d74841fd3dba4fb1f225ea5c6c87f99c2a238db72a536e68be202a092cd032337d451477e568f9a48b638cb" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" ���������������� ���������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <ValidityIndicator type= "Enumeration" value= "Invalid" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 0183 0184 0185 0186 0187 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 0202 0203 0204 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0205 0206 0207 0208 0209 0210 0211 0212 0213 0214 0215 0216 0217 0218 0219 # TIME 5 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0220 0221 0222 0223 0224 0225 0226 0227 0228 0229 0230 0231 0232 0233 0234 0235 0236 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.2.3 CS-AC-M-3-12 - Sign and Signature Verify with Known Asymmetric Key Register an asymmetric key and perform sign and signature verify using the asymmetric key. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "PrivateKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Sign" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-AC-M-3-12-prikey1" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ��������� <AttributeValue> � ���������� <PaddingMethod type= "Enumeration" value= "PSS" /> ����������� <HashingAlgorithm type= "Enumeration" value= "SHA_256" /> ����������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ����� ���� </AttributeValue> � ������ </Attribute> � ���� </TemplateAttribute> � ���� <PrivateKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "PKCS_1" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ����������������������� �� value= "308204a50201000282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001028201003b12455d53c1816516c518493f6398aafa72b17dfa894db888a7d48c0a47f62579a4e644f86da711fec850cdd9dbbd17f69a443d2ec1dd60d3c618fa74cde5fdafabd6baa26eb0a3adb4def6480fb1218cd3b083e252e885b6f0729f98b2144d2b72293e1b11d73393bc41f75b15ee3d7569b4995ed1a14425da4319b7b26b0e8fef17c37542ae5c6d5849f87209567f3925a47b016d564859717bc57fcb4522d0aa49ce816e5be7b3088193236ec9efff140858045b73c5d79baf38f7c67f04c5dcf0e3806ad982d1259058c3473e847179a878f2c6b3bd968fb99ea46e9185892f3676e78965c2aed4877ba3917df07c5e927474f19e764ba61dc38d63bf2902818100d5c69c8c3cdc2464744a793713dafb9f1dbc799ff96423fecd3cba794286bce920f4b5c183f99ee9028db6212c6277c4c8297fcfbce7f7c24ca4c51fc7182fb8f4019fb1d5659674c5cbe6d5fa992051341760cd00735729a070a9e54d342beba8ef47ee82d3a01b04cec4a00d4ddb41e35116fc221e854b43a696c0e6419b1b02818100cd5ea7702789064b673540cbff09356ad80bc3d592812eba47610b9fac6aecefe22acae438459cda74e59653d88c04189d34399bf5b14b920e34ef38a7d09fe69593396e8fe735e6f0a6ae4990401041d8a406b6fd86a1161e45f95a3eaa5c1012e6662e44f15f335ac971e1766b2bb9c985109974141b44d37e1e319820a55f02818100b2871237bf9fad38c3316ab7877a6a868063e542a7186d431e8d27c19ac0414584033942e9ff6e2973bb7b2d8b0e94ad1ee82158108fbc8664517a5a467fb963014bd5dcc2b4fb087c23039d11920dbe22fd9f16b4d89e23225cd455adbaf32ef43f185864a36d630309d6853f7714b39aae1ebee3938f87c2707e178c739f9f028181009690bed14b2afaa26d986d592231ee27d71d49065bd2ba1f78157e20229881fd9d23227d0f8479eaefa922fd75d5b16b1a561fa6680b040ca0bdce650b23b917a4b1bb7983a74fad70e1c305cbec2bff1a85a726a1d90260e4f1084f518234dcd3fe770b9520215bd543bb6a4117718754676a34171666a79f26e79c149c5aa102818100a0c985a0a0a791a659f99731134c44f37b2e520a2cea35800ad27241ed360dfde6e8ca614f12047fd08b76ac4d13c056a0699e2f98a1cac91011294d71208f4abab33ba87aa0517f415baca88d6bac006088fa601d349417e1f0c9b23affa4d496618dbc024986ed690bbb7b025768ff9df8ac15416f489f8129c32341a8b44f" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� <CryptographicLength type= "Integer" value= "2048" /> ������� </KeyBlock> � ���� </PrivateKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "PublicKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Verify" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-AC-M-3-12-pubkey1" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeValue> � �������� �� <PaddingMethod type= "Enumeration" value= "PSS" /> ����������� <HashingAlgorithm type= "Enumeration" value= "SHA_256" /> ����������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� </AttributeValue> � ������ </Attribute> � ���� </TemplateAttribute> � ���� <PublicKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "PKCS_1" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "3082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� <CryptographicLength type= "Integer" value= "2048" /> ������� </KeyBlock> � ���� </PublicKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0111 0112 0113 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0128 0129 0130 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Sign" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Sign" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <SignatureData type= "ByteString" value= "$SIGNATURE_DATA" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0162 0163 0164 0165 0166 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 0183 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ����� <CryptographicParameters> ����� <PaddingMethod type= "Enumeration" value= "PSS" /> ����� <HashingAlgorithm type= "Enumeration" value= "SHA_256" /> ����� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ����� <SignatureData type= "ByteString" value= "$SIGNATURE_DATA" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ����� <ValidityIndicator type= "Enumeration" value= "Valid" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213 0214 0215 0216 0217 0218 0219 0220 0221 0222 0223 # TIME 4 # Check that changing the hashing algorithm causes the signature verify # to fail <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � � � <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> �� ��� <CryptographicParameters> ����� <PaddingMethod type= "Enumeration" value= "PSS" /> ����� <HashingAlgorithm type= "Enumeration" value= "SHA_1" /> ����� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" ��� ����������������������������������� value= "01020304050607080910111213141516" /> ����� <SignatureData type= "ByteString" value= "$SIGNATURE_DATA" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0224 0225 0226 0227 0228 0229 0230 0231 0232 0233 0234 0235 0236 0237 0238 0239 0240 0241 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ��� � <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ����� <ValidityIndicator type= "Enumeration" value= "Invalid" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0242 0243 0244 0245 0246 0247 0248 0249 0250 0251 0252 0253 0254 0255 0256 0257 0258 0259 # TIME 5 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0260 0261 0262 0263 0264 0265 0266 0267 0268 0269 0270 0271 0272 0273 0274 0275 0276 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0277 0278 0279 0280 0281 0282 0283 0284 0285 0286 0287 0288 0289 0290 0291 # TIME 6 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0292 0293 0294 0295 0296 0297 0298 0299 0300 0301 0302 0303 0304 0305 0306 0307 0308 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0309 0310 0311 0312 0313 0314 0315 0316 0317 0318 0319 0320 0321 0322 0323 0324 0325 0326 # TIME 7 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0327 0328 0329 0330 0331 0332 0333 0334 0335 0336 0337 0338 0339 0340 0341 0342 0343 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0344 0345 0346 0347 0348 0349 0350 0351 0352 0353 0354 0355 0356 0357 0358 # TIME 8 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" ��������� ����������������� value= "$UNIQUE_IDENTIFIER_1" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0359 0360 0361 0362 0363 0364 0365 0366 0367 0368 0369 0370 0371 0372 0373 0374 0375 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.2.4 CS-AC-M-4-12 - MAC with Known Key Register a key and perform MAC operations using the key. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt MACGenerate MACVerify" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-AC-M-4-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ��������� <AttributeValue> � ���������� <CryptographicAlgorithm type= "Enumeration" ������� ������ value= "HMAC_SHA256" /> ��������� </AttributeValue> � ������ </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "MAC" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "MAC" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <MACData type= "ByteString" ����������������������������������� value= "c911e78196d64c30f631bb079ea37b97a95936d4da764d6a171df030c895ecf9" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" ��������� ����������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <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 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.2.5 CS-AC-M-5-12 - MAC Verify with Known Key Register a key and perform MAC verification operations using the key. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt MACGenerate MACVerify" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-AC-M-5-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ��������� <AttributeValue> � ���������� <CryptographicAlgorithm type= "Enumeration" ������������� value= "HMAC_SHA256" /> ��������� </AttributeValue> � ������ </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> �������� � </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 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= "MACVerify" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������� ������������������ value= "01020304050607080910111213141516" /> ����� <MACData type= "ByteString" ����������������������������������� value= "c911e78196d64c30f631bb079ea37b97a95936d4da764d6a171df030c895ecf9" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 <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= "MACVerify" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <ValidityIndicator type= "Enumeration" value= "Valid" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0098 0099 0100 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= "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> 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </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= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.2.6 CS-AC-M-6-12 - MAC and MAC Verify with Known Key MAC and MAC Verify with Known Key. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "SymmetricKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Encrypt Decrypt MACGenerate MACVerify" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-AC-M-6-12" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ��������� <AttributeValue> � ���������� <CryptographicAlgorithm type= "Enumeration" ������������� value= "HMAC_SHA256" /> ��������� </AttributeValue> � ������ </Attribute> � ���� </TemplateAttribute> � ���� <SymmetricKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "Raw" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "0123456789abcdef0123456789abcdef" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "AES" /> ��������� <CryptographicLength type= "Integer" value= "128" /> ������� </KeyBlock> � ���� </SymmetricKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "MAC" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "MAC" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <MACData type= "ByteString" ��������������� �������������������� value= "c911e78196d64c30f631bb079ea37b97a95936d4da764d6a171df030c895ecf9" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 # 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= "MACVerify" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ����� <MACData type= "ByteString" value= "$MAC_DATA" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "MACVerify" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <ValidityIndicator type= "Enumeration" value= "Valid" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������ ������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> � �� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 # 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> 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= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.2.7 CS-AC-M-7-12 - HASH Hash Data 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 # 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= "Hash" /> ��� <RequestPayload> � ���� <CryptographicParameters> ����� <HashingAlgorithm type= "Enumeration" value= "SHA_256" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> �� � </RequestPayload> � � </BatchItem> </RequestMessage> 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 <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= "Hash" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <Data type= "ByteString" �������������������������������������� value= "ad41233d22cf9322e3a7ff49a13da434797abed3bab80950a1a0d4e582b7ea72" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 # 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= "Hash" /> ��� <RequestPayload> � ���� <CryptographicParameters> ����� <HashingAlgorithm type= "Enumeration" value= "SHA_512" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ��� </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= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Hash" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <Data type= "ByteString" �������������������������������������� value= "406a806f76c06b90c8aca278995d4271037f91124ebfaba5475f1f59ee21ebe3a0cc7f5ca6f2183d360bcc762cef68713de7c6498eb08dc591075ca62f7a0717" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.2.8 CS-AC-M-8-12 - Sign and Signature Verify with Known Asymmetric Key Date Checks Register an asymmetric key and perform sign and signature verify using the asymmetric key outside of the valid Process Start Date and Protect Stop Date to confirm the operations fail. The Process Start Date is set to a future date. The Protect Stop Date is set to a past date. This is a modified version of CS-AC-M-3-12. 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 # TIME 0 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "PrivateKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Sign" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-AC-M-8-12-prikey1" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Process Start Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW+3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Protect Stop Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ����� �� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Parameters" /> ��������� <AttributeValue> � ���������� <PaddingMethod type= "Enumeration" value= "PSS" /> ����������� <HashingAlgorithm type= "Enumeration" value= "SHA_256" /> ����������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� </AttributeValue> � ������ </Attribute> � ���� </TemplateAttribute> � ���� <PrivateKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "PKCS_1" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "308204a50201000282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001028201003b12455d53c1816516c518493f6398aafa72b17dfa894db888a7d48c0a47f62579a4e644f86da711fec850cdd9dbbd17f69a443d2ec1dd60d3c618fa74cde5fdafabd6baa26eb0a3adb4def6480fb1218cd3b083e252e885b6f0729f98b2144d2b72293e1b11d73393bc41f75b15ee3d7569b4995ed1a14425da4319b7b26b0e8fef17c37542ae5c6d5849f87209567f3925a47b016d564859717bc57fcb4522d0aa49ce816e5be7b3088193236ec9efff140858045b73c5d79baf38f7c67f04c5dcf0e3806ad982d1259058c3473e847179a878f2c6b3bd968fb99ea46e9185892f3676e78965c2aed4877ba3917df07c5e927474f19e764ba61dc38d63bf2902818100d5c69c8c3cdc2464744a793713dafb9f1dbc799ff96423fecd3cba794286bce920f4b5c183f99ee9028db6212c6277c4c8297fcfbce7f7c24ca4c51fc7182fb8f4019fb1d5659674c5cbe6d5fa992051341760cd00735729a070a9e54d342beba8ef47ee82d3a01b04cec4a00d4ddb41e35116fc221e854b43a696c0e6419b1b02818100cd5ea7702789064b673540cbff09356ad80bc3d592812eba47610b9fac6aecefe22acae438459cda74e59653d88c04189d34399bf5b14b920e34ef38a7d09fe69593396e8fe735e6f0a6ae4990401041d8a406b6fd86a1161e45f95a3eaa5c1012e6662e44f15f335ac971e1766b2bb9c985109974141b44d37e1e319820a55f02818100b2871237bf9fad38c3316ab7877a6a868063e542a7186d431e8d27c19ac0414584033942e9ff6e2973bb7b2d8b0e94ad1ee82158108fbc8664517a5a467fb963014bd5dcc2b4fb087c23039d11920dbe22fd9f16b4d89e23225cd455adbaf32ef43f185864a36d630309d6853f7714b39aae1ebee3938f87c2707e178c739f9f028181009690bed14b2afaa26d986d592231ee27d71d49065bd2ba1f78157e20229881fd9d23227d0f8479eaefa922fd75d5b16b1a561fa6680b040ca0bdce650b23b917a4b1bb7983a74fad70e1c305cbec2bff1a85a726a1d90260e4f1084f518234dcd3fe770b9520215bd543bb6a4117718754676a34171666a79f26e79c149c5aa102818100a0c985a0a0a791a659f99731134c44f37b2e520a2cea35800ad27241ed360dfde6e8ca614f12047fd08b76ac4d13c056a0699e2f98a1cac91011294d71208f4abab33ba87aa0517f415baca88d6bac006088fa601d349417e1f0c9b23affa4d496618dbc024986ed690bbb7b025768ff9df8ac15416f489f8129c32341a8b44f" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� <CryptographicLength type= "Integer" value= "2048" /> ������� </KeyBlock> � ���� </PrivateKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 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= "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> 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 # TIME 1 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <RequestPayload> � ���� <ObjectType type= "Enumeration" value= "PublicKey" /> ����� <TemplateAttribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Cryptographic Usage Mask" /> ��������� <AttributeValue type= "Integer" value= "Verify" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "x-ID" /> ��������� <AttributeValue type= "TextString" value= "CS-AC-M-8-12-pubkey1" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Activation Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Process Start Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW+3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeName type= "TextString" value= "Protect Stop Date" /> ��������� <AttributeValue type= "DateTime" value= "$NOW-3600" /> ������� </Attribute> � ������ <Attribute> � �������� <AttributeValue> � ���������� <PaddingMethod type= "Enumeration" value= "PSS" /> ����������� <HashingAlgorithm type= "Enumeration" value= "SHA_256" /> ����������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� </AttributeValue> � ������ </Attribute> � ���� </TemplateAttribute> � ���� <PublicKey> � ������ <KeyBlock> � �������� <KeyFormatType type= "Enumeration" value= "PKCS_1" /> ��������� <KeyValue> � ���������� <KeyMaterial type= "ByteString" ������������������������� value= "3082010a0282010100ab7f161c0042496ccd6c6d4dadb919973435357776003acf54b7af1e440afb80b64a8755f8002cfeba6b184540a2d66086d74648346d75b8d71812b205387c0f6583bc4d7dc7ec114f3b176b7957c422e7d03fc6267fa2a6f89b9bee9e60a1d7c2d833e5a5f4bb0b1434f4e795a41100f8aa214900df8b65089f98135b1c67b701675abdbc7d5721aac9d14a7f081fcec80b64e8a0ecc8295353c795328abf70e1b42e7bb8b7f4e8ac8c810cdb66e3d21126eba8da7d0ca34142cb76f91f013da809e9c1b7ae64c54130fbc21d80e9c2cb06c5c8d7cce8946a9ac99b1c2815c3612a29a82d73a1f99374fe30e54951662a6eda29c6fc411335d5dc7426b0f6050203010001" /> ��������� </KeyValue> � �������� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ��������� <CryptographicLength type= "Integer" value= "2048" /> ������� </KeyBlock> � ���� </PublicKey> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 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= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Register" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 # TIME 2 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Sign" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> �� � </RequestPayload> � � </BatchItem> </RequestMessage> 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= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Sign" /> ��� <ResultStatus type= "Enumeration" value= "OperationFailed" /> ��� <ResultReason type= "Enumeration" value= "PermissionDenied" /> ��� <ResultMessage type= "TextString" value= "DENIED" /> � </BatchItem> </ResponseMessage> 0176 0177 0178 0179 0180 0181 0182 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 # TIME 3 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ����� <CryptographicParameters> ����� <PaddingMethod type= "Enumeration" value= "PSS" /> ����� <HashingAlgorithm type= "Enumeration" value= "SHA_256" /> ����� <CryptographicAlgorithm type= "Enumeration" value= "RSA" /> ����� </CryptographicParameters> � ���� <Data type= "ByteString" �������������������������������������� value= "01020304050607080910111213141516" /> ����� <SignatureData type= "ByteString" ����������������������������� value= "2925ebf8c6c9d0585c36a44491dd28f8ffd1098d2275a505a0eba7af452e9496472fd5c4a515d1c0db16c7c59ef76863b571cbf498fb8178ffeb75667e6e51b9b9bbf09d55bba54b42acb947aa5a81dc62751727d7cad4616c0c0bf1dd666f8266f24262c5fa9cbbdc424ef5f5e345e633d111e66eb4afc4001bb02e158b2d5d4573c614655f21a688bee0e9dbde6a58324c08f42ae69697e0c51803f9de6b3df242d2915d9b1a8110ad28143ab7855ef92ede48971b484172de3b0b8957f493a74b3372ee2200f2233607735f90d0b180968ab20d74841fd3dba4fb1f225ea5c6c87f99c2a238db72a536e68be202a092cd032337d451477e568f9a48b638cb" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0198 0199 0200 0201 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "SignatureVerify" /> ��� <ResultStatus type= "Enumeration" value= "OperationFailed" /> ��� <ResultReason type= "Enumeration" value= "PermissionDenied" /> ��� <ResultMessage type= "TextString" value= "DENIED" /> � </BatchItem> </ResponseMessage> 0214 0215 0216 0217 0218 0219 0220 0221 0222 0223 0224 0225 0226 0227 0228 0229 0230 0231 # TIME 4 <RequestMessage> � � <RequestHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <BatchCount type= "Integer" value= "1" /> � </RequestHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 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= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0249 0250 0251 0252 0253 0254 0255 0256 0257 0258 0259 0260 0261 0262 0263 # 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> 0264 0265 0266 0267 0268 0269 0270 0271 0272 0273 0274 0275 0276 0277 0278 0279 0280 <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> 0281 0282 0283 0284 0285 0286 0287 0288 0289 0290 0291 0292 0293 0294 0295 0296 0297 0298 # 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= "Revoke" /> ��� <RequestPayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ����� <RevocationReason> � ������ <RevocationReasonCode type= "Enumeration" ������������������� value= "Unspecified" /> ����� </RevocationReason> � �� </RequestPayload> � � </BatchItem> </RequestMessage> 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= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Revoke" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 0316 0317 0318 0319 0320 0321 0322 0323 0324 0325 0326 0327 0328 0329 0330 # 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> 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= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:18:59+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "Destroy" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <UniqueIdentifier type= "TextString" �������������������������� value= "$UNIQUE_IDENTIFIER_1" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.3 Mandatory Test Cases KMIP v1.2 - RNG 3.3.1 CS-RNG-M-1-12 - RNG Retrieve Retrieve output from an RNG. 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= "RNGRetrieve" /> ��� <RequestPayload> � ���� <DataLength type= "Integer" value= "32" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 <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= "RNGRetrieve" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <Data type= "ByteString" �������������������������������������� value= "9c0bcd79d775998ddc52457bbbcfce2d4a194b039e20a3adacb63fb6561ba545" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.4 Optional Test Cases KMIP v1.2 - RNG 3.4.1 CS-RNG-O-1-12 - Seed RNG with Server Accept RNG Seed with server accepting all the provided seeding material 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= "RNGSeed" /> ��� <RequestPayload> � ���� <Data type= "ByteString" �������������������������������������� value= "333c06587706225099a67438f263f8f932f64b860c3a7dbb21bc2bd56685d8bc" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:58:37+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "RNGSeed" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <DataLength type= "Integer" value= "32" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.4.2 CS-RNG-O-2-12 - Seed RNG with Server partial Accept RNG Seed with server accepting the first sixteen bytes of the provided seeding material 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= "RNGSeed" /> ��� <RequestPayload> � ���� <Data type= "ByteString" �������������������������������������� value= "333c06587706225099a67438f263f8f932f64b860c3a7dbb21bc2bd56685d8bc" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:59:30+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "RNGSeed" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <DataLength type= "Integer" value= "16" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.4.3 CS-RNG-O-3-12 - Seed RNG with Server Ignore RNG Seed with server ignoring the provided seeding material 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= "RNGSeed" /> ��� <RequestPayload> � ���� <Data type= "ByteString" �������������������������������������� value= "333c06587706225099a67438f263f8f932f64b860c3a7dbb21bc2bd56685d8bc" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T22:57:22+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "RNGSeed" /> ��� <ResultStatus type= "Enumeration" value= "Success" /> ��� <ResponsePayload> � ���� <DataLength type= "Integer" value= "0" /> ��� </ResponsePayload> � � </BatchItem> </ResponseMessage> 3.4.4 CS-RNG-O-4-12 - Seed RNG with Server Deny RNG Seed with server denying the operation 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= "RNGSeed" /> ��� <RequestPayload> � ���� <Data type= "ByteString" �������������������������������������� value= "333c06587706225099a67438f263f8f932f64b860c3a7dbb21bc2bd56685d8bc" /> ��� </RequestPayload> � � </BatchItem> </RequestMessage> 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 <ResponseMessage> � � <ResponseHeader> � �� <ProtocolVersion> � ���� <ProtocolVersionMajor type= "Integer" value= "1" /> ����� <ProtocolVersionMinor type= "Integer" value= "2" /> ��� </ProtocolVersion> � �� <TimeStamp type= "DateTime" value= "2013-06-21T23:01:47+00:00" /> ��� <BatchCount type= "Integer" value= "1" /> � </ResponseHeader> � � <BatchItem> � �� <Operation type= "Enumeration" value= "RNGSeed" /> ��� <ResultStatus type= "Enumeration" value= "OperationFailed" /> ��� <ResultReason type= "Enumeration" value= "PermissionDenied" /> ��� <ResultMessage type= "TextString" value= "DENIED" /> � </BatchItem> </ResponseMessage> 4 Conformance 4.1 Basic Cryptographic Client KMIP v1.2 Profile Conformance KMIP client implementations conformant to this profile: SHALL support the Basic Cryptographic Client Profile conditions (2.1) and; SHALL support at least one of the Mandatory Test Cases KMIP v1.2 - Basic (3.1). 4.2 Basic Cryptographic Server KMIP v1.2 Profile Conformance KMIP server implementations conformant to this profile: SHALL support the Basic Cryptographic Server Profile conditions (2.2) and; SHALL support all the Mandatory Test Cases KMIP v1.2 - Basic (3.1). 4.3 Advanced Cryptographic Client KMIP v1.2 Profile Conformance KMIP client implementations conformant to this profile: SHALL support the Advanced Cryptographic Client Profile conditions (2.3) and; SHALL support at least one of the Mandatory Test Cases KMIP v1.2 - Advanced (3.2). 4.4 Advanced Cryptographic Server KMIP v1.2 Profile Conformance KMIP server implementations conformant to this profile: SHALL support the Advanced Cryptographic Server Profile conditions (2.4) and; SHALL support all the Mandatory Test Cases KMIP v1.2 - Advanced (3.2). 4.5 RNG Cryptographic Client KMIP v1.2 Profile Conformance KMIP client implementations conformant to this profile: SHALL support the RNG Cryptographic Client Profile conditions (2.5) and; SHALL support at least one of the Mandatory Test Cases KMIP v1.2 - RNG (3.3). 4.6 RNG Cryptographic Server KMIP v1.2 Profile Conformance KMIP client implementations conformant to this profile: SHALL support the RNG Cryptographic Server Profile conditions (2.6) and; SHALL support all the Mandatory Test Cases KMIP v1.2 - RNG (3.3). 4.7 Permitted Test Case Variations Whilst the test cases provided in this Profile define the allowed request and response content, some inherent variations MAY occur and are permitted within a successfully completed test case. Each test case MAY include allowed variations in the description of the test case in addition to the variations noted in this section. Other variations not explicitly noted in this Profile SHALL be deemed non-conformant. 4.7.1 Variable Items An implementation conformant to this Profile MAY vary the following values: UniqueIdentifier PrivateKeyUniqueIdentifier PublicKeyUniqueIdentifier UniqueBatchItemIdentifier AsynchronousCorrelationValue TimeStamp KeyValue / KeyMaterial including: key material content returned for managed cryptographic objects which are generated by the server wrapped versions of keys where the wrapping key is dynamic or the wrapping contains variable output for each wrap operation For response containing the output of cryptographic operation in Data / SignatureData/ MACData / IVCounterNonce where: the managed object is generated by the server; or the operation inherently contains variable output For the following DateTime attributes where the value is not specified in the request as a fixed DateTime value: ActivationDate ArchiveDate CompromiseDate CompromiseOccurrenceDate DeactivationDate DestroyDate InitialDate LastChangeDate ProtectStartDate ProcessStopDate ValidityDate OriginalCreationDate LinkedObjectIdentifier DigestValue For those managed cryptographic objects which are dynamically generated KeyFormatType The key format type selected by the server when it creates managed objects Digest a. The HashingAlgorithm selected by the server when it calculates the digest for a managed object for which it has access to the key material b. The Digest Value Extensions reported in Query for ExtensionList and ExtensionMap Application Namespaces reported in Query Object Types reported in Query other than those noted as required in this profile Operation Types reported in Query other than those noted as required in this profile (or any referenced profile documents) For TextString attribute values containing test identifiers: a. �Additional vendor or application prefixes Additional attributes beyond those noted in the response ���������������������������������������������������������������������������������������� An implementation conformant to this Profile MAY allow the following response variations: Object Group values � May or may not return one or more Object Group values not included in the requests y-CustomAttributes � May or may not include additional server-specific associated attributes not included in requests Message Extensions � May or may not include additional (non-critical) vendor extensions TemplateAttribute � May or may not be included in responses where the Template Attribute response is noted as optional in [KMIP-SPEC-1_2] AttributeIndex � May or may not include Attribute Index value where the Attribute Index value is 0 for Protocol Versions 1.1 and above. ResultMessage � May or may not be included in responses and the value (if included) may vary from the text contained within the test case. The list of Protocol Versions returned in a DiscoverVersion response may include additional protocol versions if the request has not specified a list of client supported Protocol Versions. VendorIdentification - The value (if included) may vary from the text contained within the test case. 4.7.2 Variable behavior An implementation conformant to this Profile SHALL allow variation of the following behavior: A test MAY omit the clean-up requests and responses (containing Revoke and/or Destroy) at the end of the test provided there is a separate mechanism to remove the created objects during testing. A test MAY omit the test identifiers if the client is unable to include them in requests. This includes the following attributes: Name; and x-ID A test MAY perform requests with multiple batch items or as multiple requests with a single batch item provided the sequence of operations are equivalent A request MAY contain an optional Authentication [KMIP_SPEC] structure within each request Appendix A. Acknowledgments The following individuals have participated in the creation of this specification and are gratefully acknowledged: 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. KMIP Specification Cross Reference Reference Term KMIP 1.0 KMIP 1.1 KMIP 1.2 1 Introduction Non-Normative References 1.3. 1.3. 1.3. Normative References 1.2. 1.2. 1.2. Terminology 1.1. 1.1. 1.1. 2 Objects Attribute 2.1.1. 2.1.1. 2.1.1. Base Objects 2.1. 2.1. 2.1. Certificate 2.2.1. 2.2.1. 2.2.1. Credential 2.1.2. 2.1.2. 2.1.2. Data - - 2.1.10. Data Length - - 2.1.11. Extension Information - 2.1.9. 2.1.9. Key Block 2.1.3. 2.1.3. 2.1.3. Key Value 2.1.4. 2.1.4. 2.1.4. Key Wrapping Data 2.1.5. 2.1.5. 2.1.5. Key Wrapping Specification 2.1.6. 2.1.6. 2.1.6. MAC Data - - 2.1.13. Managed Objects 2.2. 2.2. 2.2. Nonce - - 2.1.14. Opaque Object 2.2.8. 2.2.8. 2.2.8. PGP Key - - 2.2.9. Private Key 2.2.4. 2.2.4. 2.2.4. Public Key 2.2.3. 2.2.3. 2.2.3. Secret Data 2.2.7. 2.2.7. 2.2.7. Signature Data - - 2.1.12. Split Key 2.2.5. 2.2.5. 2.2.5. Symmetric Key 2.2.2. 2.2.2. 2.2.2. Template 2.2.6. 2.2.6. 2.2.6. Template-Attribute Structures 2.1.8. 2.1.8. 2.1.8. Transparent DH Private Key 2.1.7.6. 2.1.7.6. 2.1.7.6. Transparent DH Public Key 2.1.7.7. 2.1.7.7. 2.1.7.7. Transparent DSA Private Key 2.1.7.2. 2.1.7.2. 2.1.7.2. Transparent DSA Public Key 2.1.7.3. 2.1.7.3. 2.1.7.3. Transparent ECDH Private Key 2.1.7.10. 2.1.7.10. 2.1.7.10. Transparent ECDH Public Key 2.1.7.11. 2.1.7.11. 2.1.7.11. Transparent ECDSA Private Key 2.1.7.8. 2.1.7.8. 2.1.7.8. Transparent ECDSA Public Key 2.1.7.9. 2.1.7.9. 2.1.7.9. Transparent ECMQV Private Key 2.1.7.12. 2.1.7.12. 2.1.7.12. Transparent ECMQV Public Key 2.1.7.13. 2.1.7.13. 2.1.7.13. Transparent Key Structures 2.1.7. 2.1.7. 2.1.7. Transparent RSA Private Key 2.1.7.4. 2.1.7.4. 2.1.7.4. Transparent RSA Public Key 2.1.7.5. 2.1.7.5. 2.1.7.5. Transparent Symmetric Key 2.1.7.1. 2.1.7.1. 2.1.7.1. 3 Attributes Activation Date 3.19. 3.24. 3.24. Alternative Name - - 3.40. Application Specific Information 3.30. 3.36. 3.36. Archive Date 3.27. 3.32. 3.32. Attributes 3 3 3 Certificate Identifier 3.9. 3.13. 3.13. Certificate Issuer 3.11. 3.15. 3.15. Certificate Length - 3.9. 3.9. Certificate Subject 3.10. 3.14. 3.14. Certificate Type 3.8. 3.8. 3.8. Compromise Date 3.25. 3.30. 3.30. Compromise Occurrence Date 3.24. 3.29. 3.29. Contact Information 3.31. 3.37. 3.37. Cryptographic Algorithm 3.4. 3.4. 3.4. Cryptographic Domain Parameters 3.7. 3.7. 3.7. Cryptographic Length 3.5. 3.5. 3.5. Cryptographic Parameters 3.6. 3.6. 3.6. Custom Attribute 3.33. 3.39. 3.39. Deactivation Date 3.22. 3.27. 3.27. Default Operation Policy 3.13.2. 3.18.2. 3.18.2. Default Operation Policy for Certificates and Public Key Objects 3.13.2.2. 3.18.2.2. 3.18.2.2. Default Operation Policy for Secret Objects 3.13.2.1. 3.18.2.1. 3.18.2.1. Default Operation Policy for Template Objects 3.13.2.3. 3.18.2.3. 3.18.2.3. Destroy Date 3.23. 3.28. 3.28. Digest 3.12. 3.17. 3.17. Digital Signature Algorithm - 3.16. 3.16. Fresh - 3.34. 3.34. Initial Date 3.18. 3.23. 3.23. Key Value Location - - 3.42. Key Value Present - - 3.41. Last Change Date 3.32. 3.38. 3.38. Lease Time 3.15. 3.20. 3.20. Link 3.29. 3.35. 3.35. Name 3.2. 3.2. 3.2. Object Group 3.28. 3.33. 3.33. Object Type 3.3. 3.3. 3.3. Operation Policy Name 3.13. 3.18. 3.18. Operations outside of operation policy control 3.13.1. 3.18.1. 3.18.1. Original Creation Date - - 3.43. Process Start Date 3.20. 3.25. 3.25. Protect Stop Date 3.21. 3.26. 3.26. Revocation Reason 3.26. 3.31. 3.31. State 3.17. 3.22. 3.22. Unique Identifier 3.1. 3.1. 3.1. Usage Limits 3.16. 3.21. 3.21. X.509 Certificate Identifier - 3.10. 3.10. X.509 Certificate Issuer - 3.12. 3.12. X.509 Certificate Subject - 3.11. 3.11. 4 Client-to-Server Operations Activate 4.18. 4.19. 4.19. Add Attribute 4.13. 4.14. 4.14. Archive 4.21. 4.22. 4.22. Cancel 4.25. 4.27. 4.27. Certify 4.6. 4.7. 4.7. Check 4.9. 4.10. 4.10. Create 4.1. 4.1. 4.1. Create Key Pair 4.2. 4.2. 4.2. Create Split Key - - 4.38. Decrypt - - 4.30. Delete Attribute 4.15. 4.16. 4.16. Derive Key 4.5. 4.6. 4.6. Destroy 4.20. 4.21. 4.21. Discover Versions - 4.26. 4.26. Encrypt - - 4.29. Get 4.10. 4.11. 4.11. Get Attribute List 4.12. 4.13. 4.13. Get Attributes 4.11. 4.12. 4.12. Get Usage Allocation 4.17. 4.18. 4.18. Hash - - 4.37. Join Split Key - - 4.39. Locate 4.8. 4.9. 4.9. MAC - - 4.33. MAC Verify - - 4.34. Modify Attribute 4.14. 4.15. 4.15. Obtain Lease 4.16. 4.17. 4.17. Poll 4.26. 4.28. 4.28. Query 4.24. 4.25. 4.25. Re-certify 4.7. 4.8. 4.8. Recover 4.22. 4.23. 4.23. Register 4.3. 4.3. 4.3. Re-key 4.4. 4.4. 4.4. Re-key Key Pair - 4.5. 4.5. Revoke 4.19. 4.20. 4.20. RNG Retrieve - - 4.35. RNG Seed - - 4.36. Sign - - 4.31. Signature Verify - - 4.32. Validate 4.23. 4.24. 4.24. 5 Server-to-Client Operations Notify 5.1. 5.1. 5.1. Put 5.2. 5.2. 5.2. 6 Message Contents Asynchronous Correlation Value 6.8. 6.8. 6.8. Asynchronous Indicator 6.7. 6.7. 6.7. Attestation Capable Indicator - - 6.17. Batch Count 6.14. 6.14. 6.14. Batch Error Continuation Option 6.13. 6.13. 6.13. Batch Item 6.15. 6.15. 6.15. Batch Order Option 6.12. 6.12. 6.12. Maximum Response Size 6.3. 6.3. 6.3. Message Extension 6.16. 6.16. 6.16. Operation 6.2. 6.2. 6.2. Protocol Version 6.1. 6.1. 6.1. Result Message 6.11. 6.11. 6.11. Result Reason 6.10. 6.10. 6.10. Result Status 6.9. 6.9. 6.9. Time Stamp 6.5. 6.5. 6.5. Unique Batch Item ID 6.4. 6.4. 6.4. 7 Message Format Message Structure 7.1. 7.1. 7.1. Operations 7.2. 7.2. 7.2. 8 Authentication Authentication 8 8 8 9 Message Encoding Alternative Name Type Enumeration - - 9.1.3.2.34. Attestation Type Enumeration - - 9.1.3.2.36. Batch Error Continuation Option Enumeration 9.1.3.2.29. 9.1.3.2.30. 9.1.3.2.30. Bit Masks 9.1.3.3. 9.1.3.3. 9.1.3.3. Block Cipher Mode Enumeration 9.1.3.2.13. 9.1.3.2.14. 9.1.3.2.14. Cancellation Result Enumeration 9.1.3.2.24. 9.1.3.2.25. 9.1.3.2.25. Certificate Request Type Enumeration 9.1.3.2.21. 9.1.3.2.22. 9.1.3.2.22. Certificate Type Enumeration 9.1.3.2.6. 9.1.3.2.6. 9.1.3.2.6. Credential Type Enumeration 9.1.3.2.1. 9.1.3.2.1. 9.1.3.2.1. Cryptographic Algorithm Enumeration 9.1.3.2.12. 9.1.3.2.13. 9.1.3.2.13. Cryptographic Usage Mask 9.1.3.3.1. 9.1.3.3.1. 9.1.3.3.1. Defined Values 9.1.3. 9.1.3. 9.1.3. Derivation Method Enumeration 9.1.3.2.20. 9.1.3.2.21. 9.1.3.2.21. Digital Signature Algorithm Enumeration - 9.1.3.2.7. 9.1.3.2.7. Encoding Option Enumeration - 9.1.3.2.32. 9.1.3.2.32. Enumerations 9.1.3.2. 9.1.3.2. 9.1.3.2. Examples 9.1.2. 9.1.2. 9.1.2. Hashing Algorithm Enumeration 9.1.3.2.15. 9.1.3.2.16. 9.1.3.2.16. Item Length 9.1.1.3. 9.1.1.3. 9.1.1.3. Item Tag 9.1.1.1. 9.1.1.1. 9.1.1.1. Item Type 9.1.1.2. 9.1.1.2. 9.1.1.2. Item Value 9.1.1.4. 9.1.1.4. 9.1.1.4. Key Compression Type Enumeration 9.1.3.2.2. 9.1.3.2.2. 9.1.3.2.2. Key Format Type Enumeration 9.1.3.2.3. 9.1.3.2.3. 9.1.3.2.3. Key Role Type Enumeration 9.1.3.2.16. 9.1.3.2.17. 9.1.3.2.17. Key Value Location Type Enumeration - - 9.1.3.2.35. Link Type Enumeration 9.1.3.2.19. 9.1.3.2.20. 9.1.3.2.20. Name Type Enumeration 9.1.3.2.10. 9.1.3.2.11. 9.1.3.2.11. Object Group Member Enumeration - 9.1.3.2.33. 9.1.3.2.33. Object Type Enumeration 9.1.3.2.11. 9.1.3.2.12. 9.1.3.2.12. Opaque Data Type Enumeration 9.1.3.2.9. 9.1.3.2.10. 9.1.3.2.10. Operation Enumeration 9.1.3.2.26. 9.1.3.2.27. 9.1.3.2.27. Padding Method Enumeration 9.1.3.2.14. 9.1.3.2.15. 9.1.3.2.15. Put Function Enumeration 9.1.3.2.25. 9.1.3.2.26. 9.1.3.2.26. Query Function Enumeration 9.1.3.2.23. 9.1.3.2.24. 9.1.3.2.24. Recommended Curve Enumeration for ECDSA, ECDH, and ECMQV 9.1.3.2.5. 9.1.3.2.5. 9.1.3.2.5. Result Reason Enumeration 9.1.3.2.28. 9.1.3.2.29. 9.1.3.2.29. Result Status Enumeration 9.1.3.2.27. 9.1.3.2.28. 9.1.3.2.28. Revocation Reason Code Enumeration 9.1.3.2.18. 9.1.3.2.19. 9.1.3.2.19. Secret Data Type Enumeration 9.1.3.2.8. 9.1.3.2.9. 9.1.3.2.9. Split Key Method Enumeration 9.1.3.2.7. 9.1.3.2.8. 9.1.3.2.8. State Enumeration 9.1.3.2.17. 9.1.3.2.18. 9.1.3.2.18. Storage Status Mask 9.1.3.3.2. 9.1.3.3.2. 9.1.3.3.2. Tags 9.1.3.1. 9.1.3.1. 9.1.3.1. TTLV Encoding 9.1. 9.1. 9.1. TTLV Encoding Fields 9.1.1. 9.1.1. 9.1.1. Usage Limits Unit Enumeration 9.1.3.2.30. 9.1.3.2.31. 9.1.3.2.31. Validity Indicator Enumeration 9.1.3.2.22. 9.1.3.2.23. 9.1.3.2.23. Wrapping Method Enumeration 9.1.3.2.4. 9.1.3.2.4. 9.1.3.2.4. XML Encoding 9.2. - - 10 Transport Transport 10 10 10 12 KMIP Server and Client Implementation Conformance Conformance clauses for a KMIP Server 12.1. - - KMIP Client Implementation Conformance - 12.2. 12.2. KMIP Server Implementation Conformance - 12.1. 12.1. Appendix C. Revision History Revision Date Editor Changes Made wd01 27-June-2013 Tim Hudson Updated conformance wording style. Updated test case style. Included test cases for 1.2. Applied new OASIS template. wd02 5-July-2013 Tim Hudson Updated based on review feedback from John Leiseboer. Expanded test cases to include additional modes. Corrected typographical errors. wd03 10-July-2013 Tim Hudson Additional test cases added also based on further review feedback from John Leiseboer. Corrected missed section reference in advanced cryptographic conformance clauses. Corrected error handling for CBC examples with missing IV/Counter/Nonce values. wd04 6-August-2013 Tim Hudson Updated to include Permitted Test Case Variations and updated Test Cases based on July 2013 Interop wd05 10-August-2013 Tim Hudson Updated Permitted Test Case Variations wd05a 24-October-2013 Tim Hudson Editorial update to include VendorIdentification in the list of allowed variations as per TC motion. pr01update 11-June-2014 Tim Hudson Updated following Public Review

Related documents

Record · ID 600689 · SHA-256 972482e557f2ac9b
Conceptio Open Knowledge Archive — every document is proof-bundled with source, license, and retrieval metadata.