From a6a3fe061e83fc6ef482ec64bc6540572ab31851 Mon Sep 17 00:00:00 2001 From: Pierre-Henri Symoneaux Date: Mon, 23 Dec 2024 14:28:11 +0100 Subject: [PATCH] chore: Initial code import Signed-off-by: Pierre-Henri Symoneaux --- .github/actions/lint-commit/action.yaml | 27 + .github/actions/setup-build-env/action.yaml | 10 + .github/commitlint.config.js | 14 + .github/dependabot.yml | 23 + .github/release-note.toml | 86 + .github/workflows/pull-request.yaml | 21 + .github/workflows/release.yaml | 43 + .github/workflows/test.yaml | 30 + .gitignore | 11 + AUTHORS | 14 + CONTRIBUTING.md | 143 + CONTRIBUTORS | 16 + LICENSE | 13 + LICENSES/LICENSES.txt | 6 + LICENSES/go/github.com/golang/go/LICENSE | 14 + LICENSES/go/github.com/google/uuid/LICENSE | 14 + MAINTAINERS | 17 + README.md | 219 + attributes.go | 219 + attributes_test.go | 34 + bitmasks.go | 72 + enums.go | 1589 ++++++ examples/cleanup.go | 43 + examples/main.go | 913 +++ examples/state_transitions.go | 162 + go.mod | 14 + go.sum | 12 + kmip.go | 280 + kmip_test.go | 165 + kmipclient/activate.go | 16 + kmipclient/add_attribute.go | 27 + kmipclient/archive_recover.go | 27 + kmipclient/client.go | 459 ++ kmipclient/client_test.go | 182 + kmipclient/conn.go | 210 + kmipclient/create.go | 73 + kmipclient/create_keypair.go | 135 + kmipclient/delete_attribute.go | 27 + kmipclient/destroy.go | 16 + kmipclient/get.go | 41 + kmipclient/get_attribute_list.go | 14 + kmipclient/get_attributes.go | 26 + kmipclient/get_usage.go | 15 + kmipclient/locate.go | 47 + kmipclient/middlewares.go | 48 + kmipclient/modify_attribute.go | 27 + kmipclient/obtain_lease.go | 14 + kmipclient/query.go | 100 + kmipclient/register.go | 554 ++ kmipclient/register_test.go | 309 + kmipclient/rekey.go | 50 + kmipclient/revoke.go | 43 + kmipserver/conn.go | 203 + kmipserver/context.go | 95 + kmipserver/errors.go | 80 + kmipserver/http.go | 84 + kmipserver/http_test.go | 61 + kmipserver/middlewares.go | 38 + kmipserver/router.go | 229 + kmipserver/server.go | 154 + kmipserver/server_test.go | 157 + kmiptest/clientserver.go | 80 + kmiptest/clientserver_test.go | 18 + kmiptest/middlewares.go | 42 + kmiptest/oasis_tc.go | 145 + kmiptest/oasis_tc_test.go | 24 + .../v1.0/AKLC_M_1_10_AsymmetricKey_1.xml | 301 + .../v1.0/AKLC_M_2_10_AsymmetricKey-2.xml | 436 ++ .../v1.0/AKLC_M_3_10_AsymmetricKey-3.xml | 440 ++ .../v1.0/AKLC_O_1_10_AsymmetricKey-4.xml | 504 ++ .../v1.0/OMOS_M_1_10_small_opaque_object.xml | 82 + .../v1.0/OMOS_O_1_10_big_opaque_object.xml | 83 + .../SASED_M_1_10_storage_array_config.xml | 52 + .../SASED_M_2_10_storage_array_register.xml | 163 + .../SASED_M_3_10_storage_array_retrieve.xml | 268 + ...M_10_10_SymmetricKeyFoundryAdvanced_10.xml | 673 +++ ...M_11_10_SymmetricKeyFoundryAdvanced_11.xml | 673 +++ ...M_12_10_SymmetricKeyFoundryAdvanced_12.xml | 673 +++ ...SKFF_M_1_10_SymmetricKeyFoundryBasic_1.xml | 84 + ...SKFF_M_2_10_SymmetricKeyFoundryBasic_2.xml | 87 + ...SKFF_M_3_10_SymmetricKeyFoundryBasic_3.xml | 84 + ...SKFF_M_4_10_SymmetricKeyFoundryBasic_4.xml | 84 + ...5_10_SymmetricKeyFoundryIntermediate_5.xml | 214 + ...6_10_SymmetricKeyFoundryIntermediate_6.xml | 215 + ...7_10_SymmetricKeyFoundryIntermediate_7.xml | 215 + ...8_10_SymmetricKeyFoundryIntermediate_8.xml | 215 + ...F_M_9_10_SymmetricKeyFoundryAdvanced_9.xml | 671 +++ .../SKFF_O_1_10_SymmetricKeyOptional_1.xml | 84 + .../SKFF_O_2_10_SymmetricKeyOptional_2.xml | 214 + .../SKFF_O_3_10_SymmetricKeyOptional_3.xml | 672 +++ .../SKFF_O_4_10_SymmetricKeyOptional_4.xml | 84 + .../SKFF_O_5_10_SymmetricKeyOptional_5.xml | 214 + .../SKFF_O_6_10_SymmetricKeyOptional_6.xml | 674 +++ .../SKLC_M_1_10_SymmetricKeyLifecycle_1.xml | 177 + .../SKLC_M_2_10_SymmetricKeyLifecycle_2.xml | 358 ++ .../SKLC_M_3_10_SymmetricKeyLifecycle_3.xml | 355 ++ .../SKLC_O_1_10-SymmetricKeysLifecycle_1.xml | 265 + ...10_Create_a_Key_Archive_and_Recover_it.xml | 515 ++ ...edential_Operation_Policy_Destroy_Date.xml | 317 ++ .../TC_121_10_Query_Maximum_Response_Size.xml | 100 + ...an_Asymmetric_Key_Pair_in_PKCS1_Format.xml | 412 ++ ...r_and_a_Corresponding_X509_Certificate.xml | 594 ++ ...Pair_Certify_and_Re_certify_Public_Key.xml | 758 +++ .../v1.0/TC_311_10_Create_Destroy.xml | 87 + ...Register_Create_Get_attributes_Destroy.xml | 245 + .../TC_313_10_Create_Locate_Get_Destroy.xml | 222 + ...ID_Placeholder_linked_Locate_Get_Batch.xml | 606 ++ ...TC_315_10_Register_Destroy_Secret_Data.xml | 88 + .../v1.0/TC_32_10_Asynchronous_Locate.xml | 413 ++ .../v1.0/TC_41_10_Revoke_Scenario.xml | 695 +++ ...TC_51_10_Get_Usage_Allocation_Scenario.xml | 540 ++ .../TC_61_10_Import_of_a_Third_party_Key.xml | 171 + ...nsion_with_Criticality_Indicator_False.xml | 99 + ...ension_with_Criticality_Indicator_True.xml | 64 + .../v1.0/TC_81_10_Create_a_Key_Pair.xml | 227 + ..._10_Register_Both_Halves_of_a_Key_Pair.xml | 310 + .../v1.0/TC_91_10_Create_a_Key_Re_key.xml | 318 ++ ...ey_Expired_Re_key_with_Same_Life_cycle.xml | 415 ++ ...ompromised_Re_key_with_Same_Life_cycle.xml | 340 ++ ..._Create_Key_Re_key_with_New_Life_cycle.xml | 365 ++ .../TC_95_10_Obtain_Lease_for_Expired_Key.xml | 464 ++ .../TC_ECC_1_10_Register_an_ECC_Key_Pair.xml | 404 ++ ...gister_an_ECC_Key_Pair_in_PKCS8_Format.xml | 404 ++ ...C_Key_Pair_in_PKCS8_Format_Unencrypted.xml | 405 ++ ..._an_ECC_Key_Pair_and_ECDSA_Certificate.xml | 630 +++ kmiptest/testdata/v1.0/TC_NP_1_10_Put.xml | 188 + .../testdata/v1.0/TC_NP_2_10_Notify_Put.xml | 401 ++ .../v1.0/TL_M_1_10_tape_library_config.xml | 63 + .../v1.0/TL_M_2_10_tape_write_new_key.xml | 121 + .../testdata/v1.0/TL_M_3_10_tape_read.xml | 416 ++ .../v1.1/AKLC_M_1_11_AsymmetricKey_1.xml | 310 + .../v1.1/AKLC_M_2_11_AsymmetricKey_2.xml | 453 ++ .../v1.1/AKLC_M_3_11_AsymmetricKey_3.xml | 461 ++ .../v1.1/AKLC_O_1_11_AsymmetricKey_1.xml | 524 ++ ...M_10_11_SymmetricKeyFoundryAdvanced_10.xml | 702 +++ ...M_11_11_SymmetricKeyFoundryAdvanced_11.xml | 702 +++ ...M_12_11_SymmetricKeyFoundryAdvanced_12.xml | 702 +++ ...SKFF_M_1_11_SymmetricKeyFoundryBasic_1.xml | 84 + ...SKFF_M_2_11_SymmetricKeyFoundryBasic_2.xml | 85 + ...SKFF_M_3_11_SymmetricKeyFoundryBasic_3.xml | 84 + ...SKFF_M_4_11_SymmetricKeyFoundryBasic_4.xml | 84 + ...5_11_SymmetricKeyFoundryIntermediate_5.xml | 214 + ...6_11_SymmetricKeyFoundryIntermediate_6.xml | 215 + ...7_11_SymmetricKeyFoundryIntermediate_7.xml | 430 ++ ...8_11_SymmetricKeyFoundryIntermediate_8.xml | 224 + ...F_M_9_11_SymmetricKeyFoundryAdvanced_9.xml | 698 +++ .../SKFF_O_1_11_SymmetricKeyOptional_1.xml | 86 + .../SKFF_O_2_11_SymmetricKeyOptional_2.xml | 222 + .../SKFF_O_3_11_SymmetricKeyOptional_3.xml | 695 +++ .../SKFF_O_4_11_SymmetricKeyOptional_4.xml | 86 + .../SKFF_O_5_11_SymmetricKeyOptional_5.xml | 223 + .../SKFF_O_6_11_SymmetricKeyOptional_6.xml | 700 +++ .../SKLC_M_1_11_SymmetricKeyLifecycle_1.xml | 174 + .../SKLC_M_2_11_SymmetricKeyLifecycle_2.xml | 361 ++ .../SKLC_M_3_11_SymmetricKeyLifecycle_3.xml | 368 ++ .../SKLC_O_1_11_SymmetricKeyLifecycle_1.xml | 266 + ...11_Create_a_Key_Archive_and_Recover_it.xml | 518 ++ ...edential_Operation_Policy_Destroy_Date.xml | 311 + ...edential_Operation_Policy_Destroy_Date.xml | 334 ++ .../TC_121_11_Query_Maximum_Response_Size.xml | 106 + .../TC_122_11_Query_Vendor_Extensions.xml | 85 + ...an_Asymmetric_Key_Pair_in_PKCS1_Format.xml | 411 ++ ...r_and_a_Corresponding_X509_Certificate.xml | 605 ++ .../v1.1/TC_133_11_Create_Re_key_Key_Pair.xml | 687 +++ ...Pair_Certify_and_Re_certify_Public_Key.xml | 796 +++ ...ing_using_AES_Key_Wrap_and_No_Encoding.xml | 342 ++ ...ing_using_AES_Key_Wrap_with_Attributes.xml | 341 ++ ..._a_Fresh_Object_from_the_Default_Group.xml | 189 + ...TC_152_11_Client_side_Group_Management.xml | 476 ++ .../TC_153_11_Default_Object_Group_Member.xml | 479 ++ .../v1.1/TC_161_11_Discover_Versions.xml | 158 + ..._Attributes_and_Attribute_Index_Values.xml | 268 + .../TC_181_11_Digests_of_Symmetric_Keys.xml | 460 ++ .../TC_182_11_Digests_of_RSA_Private_Keys.xml | 292 + .../v1.1/TC_311_11_Create_Destroy.xml | 92 + ...Register_Create_Get_attributes_Destroy.xml | 256 + .../TC_313_11_Create_Locate_Get_Destroy.xml | 218 + ...ID_Placeholder_linked_Locate_Get_Batch.xml | 607 ++ ...TC_315_11_Register_Destroy_Secret_Data.xml | 91 + .../v1.1/TC_32_11_Asynchronous_Locate.xml | 413 ++ .../v1.1/TC_41_11_Revoke_Scenario.xml | 695 +++ ...TC_51_11_Get_Usage_Allocation_Scenario.xml | 540 ++ .../TC_61_11_Import_of_a_Third_party_Key.xml | 175 + ...nsion_with_Criticality_Indicator_False.xml | 99 + ...ension_with_Criticality_Indicator_True.xml | 64 + .../v1.1/TC_81_11_Create_a_Key_Pair.xml | 227 + ..._11_Register_Both_Halves_of_a_Key_Pair.xml | 318 ++ .../v1.1/TC_91_11_Create_a_Key_Re_key.xml | 318 ++ ...ey_Expired_Re_key_with_Same_Life_cycle.xml | 415 ++ ...ompromised_Re_key_with_Same_Life_cycle.xml | 340 ++ ..._Create_Key_Re_key_with_New_Life_cycle.xml | 365 ++ .../TC_95_11_Obtain_Lease_for_Expired_Key.xml | 464 ++ .../TC_ECC_1_11_Register_an_ECC_Key_Pair.xml | 404 ++ ...gister_an_ECC_Key_Pair_in_PKCS8_Format.xml | 404 ++ ..._an_ECC_Key_Pair_and_ECDSA_Certificate.xml | 637 +++ kmiptest/testdata/v1.1/TC_NP_1_11_Put.xml | 193 + .../testdata/v1.1/TC_NP_2_11_Notify_Put.xml | 406 ++ ...-M-1-12_Encrypt_with_New_Symmetric_Key.xml | 174 + ...ymmetric_Key_and_PKCS5_Padding_and_CBC.xml | 211 + ...c_Key_and_PKCS5_Padding_and_CBC_and_IV.xml | 292 + ...c_Key_and_PKCS5_Padding_and_CBC_and_IV.xml | 246 + ...nd_PKCS5_Padding_and_CBC_and_Random_IV.xml | 246 + ...-M-2-12_Decrypt_with_New_Symmetric_Key.xml | 174 + ...ypt_and_Decrypt_with_New_Symmetric_Key.xml | 210 + ...-4-12_Encrypt_with_Known_Symmetric_Key.xml | 169 + ...-5-12_Decrypt_with_Known_Symmetric_Key.xml | 174 + ...t_and_Decrypt_with_Known_Symmetric_Key.xml | 202 + ..._Known_Symmetric_Key_with_Usage_Limits.xml | 214 + ..._Known_Symmetric_Key_and_PKCS5_Padding.xml | 207 + ..._Known_Symmetric_Key_and_PKCS5_Padding.xml | 214 + ...t_with_Known_Symmetric_Key_Date_Checks.xml | 211 + .../CS_BC_M_7_12_Encrypt_with_All_Fields.xml | 50 + .../v1.2/TC-311-10-CREATE-DESTROY.xml | 85 + .../TC-SK-CREATE-ENCRYPT-DECRYPT-DESTROY.xml | 196 + ...12_Create_a_Key_Archive_and_Recover_it.xml | 518 ++ ...edential_Operation_Policy_Destroy_Date.xml | 311 + ...edential_Operation_Policy_Destroy_Date.xml | 334 ++ .../TC_121_12_Query_Maximum_Response_Size.xml | 128 + .../TC_122_12_Query_Vendor_Extensions.xml | 85 + ...an_Asymmetric_Key_Pair_in_PKCS1_Format.xml | 412 ++ ...r_and_a_Corresponding_X509_Certificate.xml | 605 ++ .../v1.2/TC_133_12_Create_Re_key_Key_Pair.xml | 687 +++ ...Pair_Certify_and_Re_certify_Public_Key.xml | 797 +++ ...ing_using_AES_Key_Wrap_and_No_Encoding.xml | 342 ++ ...ing_using_AES_Key_Wrap_with_Attributes.xml | 341 ++ ..._a_Fresh_Object_from_the_Default_Group.xml | 189 + ...TC_152_12_Client_side_Group_Management.xml | 476 ++ .../TC_153_12_Default_Object_Group_Member.xml | 479 ++ .../v1.2/TC_161_12_Discover_Versions.xml | 201 + ..._Attributes_and_Attribute_Index_Values.xml | 268 + .../TC_181_12_Digests_of_Symmetric_Keys.xml | 460 ++ .../TC_182_12_Digests_of_RSA_Private_Keys.xml | 292 + .../v1.2/TC_311_12_Create_Destroy.xml | 92 + ...Register_Create_Get_attributes_Destroy.xml | 451 ++ .../TC_313_12_Create_Locate_Get_Destroy.xml | 264 + ...ID_Placeholder_linked_Locate_Get_Batch.xml | 620 ++ ...TC_315_12_Register_Destroy_Secret_Data.xml | 91 + .../v1.2/TC_32_12_Asynchronous_Locate.xml | 425 ++ .../v1.2/TC_41_12_Revoke_Scenario.xml | 710 +++ ...TC_51_12_Get_Usage_Allocation_Scenario.xml | 540 ++ .../TC_61_12_Import_of_a_Third_party_Key.xml | 175 + ...nsion_with_Criticality_Indicator_False.xml | 99 + ...ension_with_Criticality_Indicator_True.xml | 64 + .../v1.2/TC_81_12_Create_a_Key_Pair.xml | 227 + ..._12_Register_Both_Halves_of_a_Key_Pair.xml | 318 ++ .../v1.2/TC_91_12_Create_a_Key_Re_key.xml | 318 ++ ...ey_Expired_Re_key_with_Same_Life_cycle.xml | 415 ++ ...ompromised_Re_key_with_Same_Life_cycle.xml | 340 ++ ..._Create_Key_Re_key_with_New_Life_cycle.xml | 365 ++ .../TC_95_12_Obtain_Lease_for_Expired_Key.xml | 464 ++ .../TC_ECC_1_12_Register_an_ECC_Key_Pair.xml | 404 ++ ...gister_an_ECC_Key_Pair_in_PKCS8_Format.xml | 404 ++ ..._an_ECC_Key_Pair_and_ECDSA_Certificate.xml | 637 +++ .../v1.2/TC_MDO_1_12_Register_MDO_Key.xml | 199 + ...2_Locate_MDO_keys_by_Key_Value_Present.xml | 339 ++ ...3_12_Register_MDO_Key_using_PKCS11_URI.xml | 200 + kmiptest/testdata/v1.2/TC_NP_1_12_Put.xml | 197 + .../testdata/v1.2/TC_NP_2_12_Notify_Put.xml | 406 ++ .../v1.2/TC_PGP_1_12_Register_PGP_Key_RSA.xml | 458 ++ .../v1.2/TC_SJ_1_12_Create_and_SplitJoin.xml | 448 ++ .../TC_SJ_2_12_Register_and_Split_Join.xml | 625 ++ .../v1.2/TC_SJ_3_12_Join_Split_Keys.xml | 508 ++ ..._4_12_Register_and_Split_Join_with_XOR.xml | 627 +++ kmiptest/testdata/v1.3/AKLC-M-1-13.xml | 329 ++ kmiptest/testdata/v1.3/AKLC-M-2-13.xml | 469 ++ kmiptest/testdata/v1.3/AKLC-M-3-13.xml | 472 ++ kmiptest/testdata/v1.3/AKLC-O-1-13.xml | 548 ++ kmiptest/testdata/v1.3/CS-AC-M-1-13.xml | 186 + kmiptest/testdata/v1.3/CS-AC-M-2-13.xml | 261 + kmiptest/testdata/v1.3/CS-AC-M-3-13.xml | 407 ++ kmiptest/testdata/v1.3/CS-AC-M-3-ECC-13.xml | 403 ++ kmiptest/testdata/v1.3/CS-AC-M-4-13.xml | 184 + kmiptest/testdata/v1.3/CS-AC-M-5-13.xml | 185 + kmiptest/testdata/v1.3/CS-AC-M-6-13.xml | 221 + kmiptest/testdata/v1.3/CS-AC-M-7-13.xml | 87 + kmiptest/testdata/v1.3/CS-AC-M-8-13.xml | 377 ++ kmiptest/testdata/v1.3/CS-BC-M-1-13.xml | 187 + ...-M-1-13_Encrypt_with_New_Symmetric_Key.xml | 179 + kmiptest/testdata/v1.3/CS-BC-M-10-13.xml | 224 + ...ymmetric_Key_and_PKCS5_Padding_and_CBC.xml | 224 + kmiptest/testdata/v1.3/CS-BC-M-11-13.xml | 303 + ...c_Key_and_PKCS5_Padding_and_CBC_and_IV.xml | 303 + kmiptest/testdata/v1.3/CS-BC-M-12-13.xml | 257 + ...c_Key_and_PKCS5_Padding_and_CBC_and_IV.xml | 257 + kmiptest/testdata/v1.3/CS-BC-M-13-13.xml | 258 + ...nd_PKCS5_Padding_and_CBC_and_Random_IV.xml | 258 + kmiptest/testdata/v1.3/CS-BC-M-14-13.xml | 224 + ...t_with_Known_Symmetric_Key_Date_Checks.xml | 224 + kmiptest/testdata/v1.3/CS-BC-M-2-13.xml | 186 + ...-M-2-13_Decrypt_with_New_Symmetric_Key.xml | 179 + kmiptest/testdata/v1.3/CS-BC-M-3-13.xml | 222 + ...ypt_and_Decrypt_with_New_Symmetric_Key.xml | 213 + .../testdata/v1.3/CS-BC-M-4-12-3DES-13.xml | 181 + kmiptest/testdata/v1.3/CS-BC-M-4-13.xml | 181 + ...-4-13_Encrypt_with_Known_Symmetric_Key.xml | 174 + kmiptest/testdata/v1.3/CS-BC-M-5-13.xml | 181 + ...-5-13_Decrypt_with_Known_Symmetric_Key.xml | 174 + kmiptest/testdata/v1.3/CS-BC-M-6-13.xml | 220 + ...t_and_Decrypt_with_Known_Symmetric_Key.xml | 211 + kmiptest/testdata/v1.3/CS-BC-M-7-13.xml | 225 + ..._Known_Symmetric_Key_with_Usage_Limits.xml | 216 + kmiptest/testdata/v1.3/CS-BC-M-8-13.xml | 222 + ..._Known_Symmetric_Key_and_PKCS5_Padding.xml | 222 + kmiptest/testdata/v1.3/CS-BC-M-9-13.xml | 222 + ..._Known_Symmetric_Key_and_PKCS5_Padding.xml | 222 + kmiptest/testdata/v1.3/CS-RNG-M-1-13.xml | 47 + kmiptest/testdata/v1.3/CS-RNG-O-1-13.xml | 47 + kmiptest/testdata/v1.3/CS-RNG-O-2-13.xml | 47 + kmiptest/testdata/v1.3/CS-RNG-O-3-13.xml | 47 + kmiptest/testdata/v1.3/CS-RNG-O-4-13.xml | 46 + .../testdata/v1.3/MSGENC-HTTPS-M-1-13.xml | 131 + kmiptest/testdata/v1.3/MSGENC-JSON-M-1-13.xml | 131 + kmiptest/testdata/v1.3/MSGENC-XML-M-1-13.xml | 131 + kmiptest/testdata/v1.3/OMOS-M-1-13.xml | 94 + kmiptest/testdata/v1.3/OMOS-O-1-13.xml | 94 + kmiptest/testdata/v1.3/SASED-M-1-13.xml | 61 + kmiptest/testdata/v1.3/SASED-M-2-13.xml | 177 + kmiptest/testdata/v1.3/SASED-M-3-13.xml | 288 + kmiptest/testdata/v1.3/SKFF-M-1-13.xml | 92 + kmiptest/testdata/v1.3/SKFF-M-10-13.xml | 681 +++ kmiptest/testdata/v1.3/SKFF-M-11-13.xml | 681 +++ kmiptest/testdata/v1.3/SKFF-M-12-13.xml | 681 +++ kmiptest/testdata/v1.3/SKFF-M-2-13.xml | 92 + kmiptest/testdata/v1.3/SKFF-M-3-13.xml | 92 + kmiptest/testdata/v1.3/SKFF-M-4-13.xml | 92 + kmiptest/testdata/v1.3/SKFF-M-5-13.xml | 222 + kmiptest/testdata/v1.3/SKFF-M-6-13.xml | 222 + kmiptest/testdata/v1.3/SKFF-M-7-13.xml | 222 + kmiptest/testdata/v1.3/SKFF-M-8-13.xml | 222 + kmiptest/testdata/v1.3/SKFF-M-9-13.xml | 681 +++ kmiptest/testdata/v1.3/SKLC-M-1-13.xml | 188 + kmiptest/testdata/v1.3/SKLC-M-2-13.xml | 375 ++ kmiptest/testdata/v1.3/SKLC-M-3-13.xml | 381 ++ kmiptest/testdata/v1.3/SKLC-O-1-13.xml | 284 + kmiptest/testdata/v1.3/SUITEB_128-M-1-13.xml | 95 + kmiptest/testdata/v1.3/SUITEB_192-M-1-13.xml | 95 + kmiptest/testdata/v1.3/TL-M-1-13.xml | 70 + kmiptest/testdata/v1.3/TL-M-2-13.xml | 131 + kmiptest/testdata/v1.3/TL-M-3-13.xml | 446 ++ kmiptest/testdata/v1.4/AKLC-M-1-14.xml | 346 ++ kmiptest/testdata/v1.4/AKLC-M-2-14.xml | 477 ++ kmiptest/testdata/v1.4/AKLC-M-3-14.xml | 480 ++ kmiptest/testdata/v1.4/AKLC-O-1-14.xml | 619 ++ kmiptest/testdata/v1.4/AX-M-1-14.xml | 445 ++ kmiptest/testdata/v1.4/AX-M-2-14.xml | 636 +++ kmiptest/testdata/v1.4/CS-AC-M-1-14.xml | 186 + kmiptest/testdata/v1.4/CS-AC-M-2-14.xml | 260 + kmiptest/testdata/v1.4/CS-AC-M-3-14.xml | 406 ++ kmiptest/testdata/v1.4/CS-AC-M-4-14.xml | 183 + kmiptest/testdata/v1.4/CS-AC-M-5-14.xml | 184 + kmiptest/testdata/v1.4/CS-AC-M-6-14.xml | 220 + kmiptest/testdata/v1.4/CS-AC-M-7-14.xml | 86 + kmiptest/testdata/v1.4/CS-AC-M-8-14.xml | 376 ++ kmiptest/testdata/v1.4/CS-AC-M-OAEP-1-14.xml | 187 + .../testdata/v1.4/CS-AC-M-OAEP-1-14_okms.xml | 187 + kmiptest/testdata/v1.4/CS-AC-M-OAEP-10-14.xml | 188 + kmiptest/testdata/v1.4/CS-AC-M-OAEP-2-14.xml | 187 + .../testdata/v1.4/CS-AC-M-OAEP-2-14_okms.xml | 187 + kmiptest/testdata/v1.4/CS-AC-M-OAEP-3-14.xml | 187 + .../testdata/v1.4/CS-AC-M-OAEP-3-14_okms.xml | 187 + kmiptest/testdata/v1.4/CS-AC-M-OAEP-4-14.xml | 187 + .../testdata/v1.4/CS-AC-M-OAEP-4-14_okms.xml | 187 + kmiptest/testdata/v1.4/CS-AC-M-OAEP-5-14.xml | 187 + .../testdata/v1.4/CS-AC-M-OAEP-5-14_okms.xml | 187 + kmiptest/testdata/v1.4/CS-AC-M-OAEP-6-14.xml | 187 + .../testdata/v1.4/CS-AC-M-OAEP-6-14_okms.xml | 187 + kmiptest/testdata/v1.4/CS-AC-M-OAEP-7-14.xml | 187 + kmiptest/testdata/v1.4/CS-AC-M-OAEP-8-14.xml | 187 + kmiptest/testdata/v1.4/CS-AC-M-OAEP-9-14.xml | 188 + kmiptest/testdata/v1.4/CS-BC-M-1-14.xml | 186 + ...-M-1-14_Encrypt_with_New_Symmetric_Key.xml | 185 + kmiptest/testdata/v1.4/CS-BC-M-10-14.xml | 223 + ...ymmetric_Key_and_PKCS5_Padding_and_CBC.xml | 223 + kmiptest/testdata/v1.4/CS-BC-M-11-14.xml | 302 + ...c_Key_and_PKCS5_Padding_and_CBC_and_IV.xml | 302 + kmiptest/testdata/v1.4/CS-BC-M-12-14.xml | 256 + ...c_Key_and_PKCS5_Padding_and_CBC_and_IV.xml | 256 + kmiptest/testdata/v1.4/CS-BC-M-13-14.xml | 257 + ...nd_PKCS5_Padding_and_CBC_and_Random_IV.xml | 258 + kmiptest/testdata/v1.4/CS-BC-M-14-14.xml | 223 + ...t_with_Known_Symmetric_Key_Date_Checks.xml | 223 + kmiptest/testdata/v1.4/CS-BC-M-2-14.xml | 185 + ...-M-2-14_Decrypt_with_New_Symmetric_Key.xml | 185 + kmiptest/testdata/v1.4/CS-BC-M-3-14.xml | 221 + ...ypt_and_Decrypt_with_New_Symmetric_Key.xml | 221 + kmiptest/testdata/v1.4/CS-BC-M-4-14.xml | 180 + ...-4-14_Encrypt_with_Known_Symmetric_Key.xml | 180 + kmiptest/testdata/v1.4/CS-BC-M-5-14.xml | 180 + ...-5-14_Decrypt_with_Known_Symmetric_Key.xml | 180 + kmiptest/testdata/v1.4/CS-BC-M-6-14.xml | 219 + ...t_and_Decrypt_with_Known_Symmetric_Key.xml | 219 + kmiptest/testdata/v1.4/CS-BC-M-7-14.xml | 224 + ..._Known_Symmetric_Key_with_Usage_Limits.xml | 224 + kmiptest/testdata/v1.4/CS-BC-M-8-14.xml | 221 + ..._Known_Symmetric_Key_and_PKCS5_Padding.xml | 221 + kmiptest/testdata/v1.4/CS-BC-M-9-14.xml | 221 + ..._Known_Symmetric_Key_and_PKCS5_Padding.xml | 221 + kmiptest/testdata/v1.4/CS-BC-M-GCM-1-14.xml | 471 ++ .../testdata/v1.4/CS-BC-M-GCM-1-14_okms.xml | 471 ++ kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14.xml | 5004 +++++++++++++++++ .../testdata/v1.4/CS-BC-M-GCM-2-14_okms.xml | 5004 +++++++++++++++++ .../v1.4/CS-BC-M-GCM-2-14_okms_test0.xml | 228 + .../v1.4/CS-BC-M-GCM-2-14_okms_test1.xml | 232 + .../v1.4/CS-BC-M-GCM-2-14_okms_test10.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test11.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test12.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test13.xml | 232 + .../v1.4/CS-BC-M-GCM-2-14_okms_test14.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test15.xml | 230 + .../v1.4/CS-BC-M-GCM-2-14_okms_test16.xml | 230 + .../v1.4/CS-BC-M-GCM-2-14_okms_test17.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test18.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test19.xml | 230 + .../v1.4/CS-BC-M-GCM-2-14_okms_test2.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test20.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test21.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test22.xml | 232 + .../v1.4/CS-BC-M-GCM-2-14_okms_test3.xml | 232 + .../v1.4/CS-BC-M-GCM-2-14_okms_test4.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test5.xml | 232 + .../v1.4/CS-BC-M-GCM-2-14_okms_test6.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test7.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test8.xml | 231 + .../v1.4/CS-BC-M-GCM-2-14_okms_test9.xml | 232 + kmiptest/testdata/v1.4/CS-BC-M-GCM-3-14.xml | 321 ++ .../testdata/v1.4/CS-BC-M-GCM-3-14_okms.xml | 321 ++ kmiptest/testdata/v1.4/CS-RNG-M-1-14.xml | 46 + kmiptest/testdata/v1.4/CS-RNG-O-1-14.xml | 46 + kmiptest/testdata/v1.4/CS-RNG-O-2-14.xml | 46 + kmiptest/testdata/v1.4/CS-RNG-O-3-14.xml | 46 + kmiptest/testdata/v1.4/CS-RNG-O-4-14.xml | 45 + .../testdata/v1.4/MSGENC-HTTPS-M-1-14.xml | 130 + kmiptest/testdata/v1.4/MSGENC-JSON-M-1-14.xml | 130 + kmiptest/testdata/v1.4/MSGENC-XML-M-1-14.xml | 130 + kmiptest/testdata/v1.4/OMOS-M-1-14.xml | 93 + kmiptest/testdata/v1.4/OMOS-O-1-14.xml | 93 + kmiptest/testdata/v1.4/SASED-M-1-14.xml | 60 + kmiptest/testdata/v1.4/SASED-M-2-14.xml | 128 + kmiptest/testdata/v1.4/SASED-M-3-14.xml | 209 + kmiptest/testdata/v1.4/SKFF-M-1-14.xml | 91 + kmiptest/testdata/v1.4/SKFF-M-10-14.xml | 727 +++ kmiptest/testdata/v1.4/SKFF-M-11-14.xml | 725 +++ kmiptest/testdata/v1.4/SKFF-M-12-14.xml | 727 +++ kmiptest/testdata/v1.4/SKFF-M-2-14.xml | 91 + kmiptest/testdata/v1.4/SKFF-M-3-14.xml | 95 + kmiptest/testdata/v1.4/SKFF-M-4-14.xml | 95 + kmiptest/testdata/v1.4/SKFF-M-5-14.xml | 231 + kmiptest/testdata/v1.4/SKFF-M-6-14.xml | 231 + kmiptest/testdata/v1.4/SKFF-M-7-14.xml | 231 + kmiptest/testdata/v1.4/SKFF-M-8-14.xml | 231 + kmiptest/testdata/v1.4/SKFF-M-9-14.xml | 715 +++ kmiptest/testdata/v1.4/SKLC-M-1-14.xml | 186 + kmiptest/testdata/v1.4/SKLC-M-2-14.xml | 374 ++ kmiptest/testdata/v1.4/SKLC-M-3-14.xml | 380 ++ kmiptest/testdata/v1.4/SKLC-O-1-14.xml | 307 + kmiptest/testdata/v1.4/SUITEB_128-M-1-14.xml | 94 + kmiptest/testdata/v1.4/SUITEB_192-M-1-14.xml | 94 + kmiptest/testdata/v1.4/TC-CS-CORVAL-1-14.xml | 60 + kmiptest/testdata/v1.4/TC-DERIVEKEY-1-10.xml | 284 + kmiptest/testdata/v1.4/TC-ECDSA-SIGN-1-14.xml | 491 ++ kmiptest/testdata/v1.4/TC-I18N-1-10.xml | 155 + kmiptest/testdata/v1.4/TC-MDO-1-14.xml | 210 + kmiptest/testdata/v1.4/TC-NP-1-14.xml | 200 + kmiptest/testdata/v1.4/TC-PKCS12-1-14.xml | 471 ++ kmiptest/testdata/v1.4/TC-Q-CAP-1-14.xml | 57 + kmiptest/testdata/v1.4/TC-Q-PROF-1-14.xml | 55 + kmiptest/testdata/v1.4/TC-Q-RNGS-1-14.xml | 49 + kmiptest/testdata/v1.4/TC-Q-S2C-1-14.xml | 71 + kmiptest/testdata/v1.4/TC-REKEY-1-10.xml | 602 ++ kmiptest/testdata/v1.4/TC-RNG-ATTR-1-14.xml | 154 + kmiptest/testdata/v1.4/TC-SJ-1-14.xml | 465 ++ kmiptest/testdata/v1.4/TC-STREAM-ENC-1-14.xml | 517 ++ kmiptest/testdata/v1.4/TC-WRAP-1-14.xml | 204 + kmiptest/testdata/v1.4/TL-M-1-14.xml | 69 + kmiptest/testdata/v1.4/TL-M-2-14.xml | 130 + kmiptest/testdata/v1.4/TL-M-3-14.xml | 457 ++ objects.go | 602 ++ objects_test.go | 329 ++ operations.go | 189 + payloads/activate.go | 38 + payloads/add_attribute.go | 38 + payloads/archive_recover.go | 56 + payloads/create.go | 45 + payloads/create_keypair.go | 72 + payloads/delete_attribute.go | 39 + payloads/destroy.go | 39 + payloads/discover.go | 37 + payloads/encrypt_decrypt.go | 175 + payloads/get.go | 141 + payloads/get_attribute_list.go | 29 + payloads/get_attributes.go | 43 + payloads/get_usage.go | 42 + payloads/locate.go | 92 + payloads/modify_attribute.go | 40 + payloads/obtain_lease.go | 43 + payloads/payloads_test.go | 49 + payloads/query.go | 105 + payloads/register.go | 74 + payloads/rekey.go | 76 + payloads/revoke.go | 48 + requests.go | 87 + responses.go | 95 + tags.go | 629 +++ ttlv/decoder.go | 520 ++ ttlv/decoder_test.go | 94 + ttlv/encoder.go | 408 ++ ttlv/encoder_test.go | 117 + ttlv/encoding_json.go | 603 ++ ttlv/encoding_json_test.go | 410 ++ ttlv/encoding_text.go | 159 + ttlv/encoding_text_test.go | 45 + ttlv/encoding_ttlv.go | 315 ++ ttlv/encoding_ttlv_test.go | 251 + ttlv/encoding_xml.go | 429 ++ ttlv/encoding_xml_test.go | 346 ++ ttlv/io.go | 86 + ttlv/reflect.go | 86 + ttlv/registry.go | 208 + ttlv/ttlv.go | 132 + ttlv/types.go | 56 + ttlv/utils.go | 88 + ttlv/value.go | 115 + ttlv/value_test.go | 46 + ttlv/version.go | 152 + ttlv/version_test.go | 112 + 525 files changed, 142608 insertions(+) create mode 100644 .github/actions/lint-commit/action.yaml create mode 100644 .github/actions/setup-build-env/action.yaml create mode 100644 .github/commitlint.config.js create mode 100644 .github/dependabot.yml create mode 100644 .github/release-note.toml create mode 100644 .github/workflows/pull-request.yaml create mode 100644 .github/workflows/release.yaml create mode 100644 .github/workflows/test.yaml create mode 100644 .gitignore create mode 100644 AUTHORS create mode 100644 CONTRIBUTING.md create mode 100644 CONTRIBUTORS create mode 100644 LICENSE create mode 100644 LICENSES/LICENSES.txt create mode 100644 LICENSES/go/github.com/golang/go/LICENSE create mode 100644 LICENSES/go/github.com/google/uuid/LICENSE create mode 100644 MAINTAINERS create mode 100644 README.md create mode 100644 attributes.go create mode 100644 attributes_test.go create mode 100644 bitmasks.go create mode 100644 enums.go create mode 100644 examples/cleanup.go create mode 100644 examples/main.go create mode 100644 examples/state_transitions.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 kmip.go create mode 100644 kmip_test.go create mode 100644 kmipclient/activate.go create mode 100644 kmipclient/add_attribute.go create mode 100644 kmipclient/archive_recover.go create mode 100644 kmipclient/client.go create mode 100644 kmipclient/client_test.go create mode 100644 kmipclient/conn.go create mode 100644 kmipclient/create.go create mode 100644 kmipclient/create_keypair.go create mode 100644 kmipclient/delete_attribute.go create mode 100644 kmipclient/destroy.go create mode 100644 kmipclient/get.go create mode 100644 kmipclient/get_attribute_list.go create mode 100644 kmipclient/get_attributes.go create mode 100644 kmipclient/get_usage.go create mode 100644 kmipclient/locate.go create mode 100644 kmipclient/middlewares.go create mode 100644 kmipclient/modify_attribute.go create mode 100644 kmipclient/obtain_lease.go create mode 100644 kmipclient/query.go create mode 100644 kmipclient/register.go create mode 100644 kmipclient/register_test.go create mode 100644 kmipclient/rekey.go create mode 100644 kmipclient/revoke.go create mode 100644 kmipserver/conn.go create mode 100644 kmipserver/context.go create mode 100644 kmipserver/errors.go create mode 100644 kmipserver/http.go create mode 100644 kmipserver/http_test.go create mode 100644 kmipserver/middlewares.go create mode 100644 kmipserver/router.go create mode 100644 kmipserver/server.go create mode 100644 kmipserver/server_test.go create mode 100644 kmiptest/clientserver.go create mode 100644 kmiptest/clientserver_test.go create mode 100644 kmiptest/middlewares.go create mode 100644 kmiptest/oasis_tc.go create mode 100644 kmiptest/oasis_tc_test.go create mode 100644 kmiptest/testdata/v1.0/AKLC_M_1_10_AsymmetricKey_1.xml create mode 100644 kmiptest/testdata/v1.0/AKLC_M_2_10_AsymmetricKey-2.xml create mode 100644 kmiptest/testdata/v1.0/AKLC_M_3_10_AsymmetricKey-3.xml create mode 100644 kmiptest/testdata/v1.0/AKLC_O_1_10_AsymmetricKey-4.xml create mode 100644 kmiptest/testdata/v1.0/OMOS_M_1_10_small_opaque_object.xml create mode 100644 kmiptest/testdata/v1.0/OMOS_O_1_10_big_opaque_object.xml create mode 100644 kmiptest/testdata/v1.0/SASED_M_1_10_storage_array_config.xml create mode 100644 kmiptest/testdata/v1.0/SASED_M_2_10_storage_array_register.xml create mode 100644 kmiptest/testdata/v1.0/SASED_M_3_10_storage_array_retrieve.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_10_10_SymmetricKeyFoundryAdvanced_10.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_11_10_SymmetricKeyFoundryAdvanced_11.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_12_10_SymmetricKeyFoundryAdvanced_12.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_1_10_SymmetricKeyFoundryBasic_1.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_2_10_SymmetricKeyFoundryBasic_2.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_3_10_SymmetricKeyFoundryBasic_3.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_4_10_SymmetricKeyFoundryBasic_4.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_5_10_SymmetricKeyFoundryIntermediate_5.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_6_10_SymmetricKeyFoundryIntermediate_6.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_7_10_SymmetricKeyFoundryIntermediate_7.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_8_10_SymmetricKeyFoundryIntermediate_8.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_M_9_10_SymmetricKeyFoundryAdvanced_9.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_O_1_10_SymmetricKeyOptional_1.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_O_2_10_SymmetricKeyOptional_2.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_O_3_10_SymmetricKeyOptional_3.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_O_4_10_SymmetricKeyOptional_4.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_O_5_10_SymmetricKeyOptional_5.xml create mode 100644 kmiptest/testdata/v1.0/SKFF_O_6_10_SymmetricKeyOptional_6.xml create mode 100644 kmiptest/testdata/v1.0/SKLC_M_1_10_SymmetricKeyLifecycle_1.xml create mode 100644 kmiptest/testdata/v1.0/SKLC_M_2_10_SymmetricKeyLifecycle_2.xml create mode 100644 kmiptest/testdata/v1.0/SKLC_M_3_10_SymmetricKeyLifecycle_3.xml create mode 100644 kmiptest/testdata/v1.0/SKLC_O_1_10-SymmetricKeysLifecycle_1.xml create mode 100644 kmiptest/testdata/v1.0/TC_101_10_Create_a_Key_Archive_and_Recover_it.xml create mode 100644 kmiptest/testdata/v1.0/TC_111_10_Credential_Operation_Policy_Destroy_Date.xml create mode 100644 kmiptest/testdata/v1.0/TC_121_10_Query_Maximum_Response_Size.xml create mode 100644 kmiptest/testdata/v1.0/TC_131_10_Register_an_Asymmetric_Key_Pair_in_PKCS1_Format.xml create mode 100644 kmiptest/testdata/v1.0/TC_132_10_Register_an_Asymmetric_Key_Pair_and_a_Corresponding_X509_Certificate.xml create mode 100644 kmiptest/testdata/v1.0/TC_134_10_Register_Key_Pair_Certify_and_Re_certify_Public_Key.xml create mode 100644 kmiptest/testdata/v1.0/TC_311_10_Create_Destroy.xml create mode 100644 kmiptest/testdata/v1.0/TC_312_10_Register_Create_Get_attributes_Destroy.xml create mode 100644 kmiptest/testdata/v1.0/TC_313_10_Create_Locate_Get_Destroy.xml create mode 100644 kmiptest/testdata/v1.0/TC_314_10_Dual_Client_Test_Case_ID_Placeholder_linked_Locate_Get_Batch.xml create mode 100644 kmiptest/testdata/v1.0/TC_315_10_Register_Destroy_Secret_Data.xml create mode 100644 kmiptest/testdata/v1.0/TC_32_10_Asynchronous_Locate.xml create mode 100644 kmiptest/testdata/v1.0/TC_41_10_Revoke_Scenario.xml create mode 100644 kmiptest/testdata/v1.0/TC_51_10_Get_Usage_Allocation_Scenario.xml create mode 100644 kmiptest/testdata/v1.0/TC_61_10_Import_of_a_Third_party_Key.xml create mode 100644 kmiptest/testdata/v1.0/TC_71_10_Unrecognized_Message_Extension_with_Criticality_Indicator_False.xml create mode 100644 kmiptest/testdata/v1.0/TC_72_10_Unrecognized_Message_Extension_with_Criticality_Indicator_True.xml create mode 100644 kmiptest/testdata/v1.0/TC_81_10_Create_a_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.0/TC_82_10_Register_Both_Halves_of_a_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.0/TC_91_10_Create_a_Key_Re_key.xml create mode 100644 kmiptest/testdata/v1.0/TC_92_10_Existing_Key_Expired_Re_key_with_Same_Life_cycle.xml create mode 100644 kmiptest/testdata/v1.0/TC_93_10_Existing_Key_Compromised_Re_key_with_Same_Life_cycle.xml create mode 100644 kmiptest/testdata/v1.0/TC_94_10_Create_Key_Re_key_with_New_Life_cycle.xml create mode 100644 kmiptest/testdata/v1.0/TC_95_10_Obtain_Lease_for_Expired_Key.xml create mode 100644 kmiptest/testdata/v1.0/TC_ECC_1_10_Register_an_ECC_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.0/TC_ECC_2_10_Register_an_ECC_Key_Pair_in_PKCS8_Format.xml create mode 100644 kmiptest/testdata/v1.0/TC_ECC_2_10_Register_an_ECC_Key_Pair_in_PKCS8_Format_Unencrypted.xml create mode 100644 kmiptest/testdata/v1.0/TC_ECC_3_10_Register_an_ECC_Key_Pair_and_ECDSA_Certificate.xml create mode 100644 kmiptest/testdata/v1.0/TC_NP_1_10_Put.xml create mode 100644 kmiptest/testdata/v1.0/TC_NP_2_10_Notify_Put.xml create mode 100644 kmiptest/testdata/v1.0/TL_M_1_10_tape_library_config.xml create mode 100644 kmiptest/testdata/v1.0/TL_M_2_10_tape_write_new_key.xml create mode 100644 kmiptest/testdata/v1.0/TL_M_3_10_tape_read.xml create mode 100644 kmiptest/testdata/v1.1/AKLC_M_1_11_AsymmetricKey_1.xml create mode 100644 kmiptest/testdata/v1.1/AKLC_M_2_11_AsymmetricKey_2.xml create mode 100644 kmiptest/testdata/v1.1/AKLC_M_3_11_AsymmetricKey_3.xml create mode 100644 kmiptest/testdata/v1.1/AKLC_O_1_11_AsymmetricKey_1.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_10_11_SymmetricKeyFoundryAdvanced_10.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_11_11_SymmetricKeyFoundryAdvanced_11.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_12_11_SymmetricKeyFoundryAdvanced_12.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_1_11_SymmetricKeyFoundryBasic_1.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_2_11_SymmetricKeyFoundryBasic_2.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_3_11_SymmetricKeyFoundryBasic_3.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_4_11_SymmetricKeyFoundryBasic_4.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_5_11_SymmetricKeyFoundryIntermediate_5.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_6_11_SymmetricKeyFoundryIntermediate_6.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_7_11_SymmetricKeyFoundryIntermediate_7.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_8_11_SymmetricKeyFoundryIntermediate_8.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_M_9_11_SymmetricKeyFoundryAdvanced_9.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_O_1_11_SymmetricKeyOptional_1.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_O_2_11_SymmetricKeyOptional_2.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_O_3_11_SymmetricKeyOptional_3.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_O_4_11_SymmetricKeyOptional_4.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_O_5_11_SymmetricKeyOptional_5.xml create mode 100644 kmiptest/testdata/v1.1/SKFF_O_6_11_SymmetricKeyOptional_6.xml create mode 100644 kmiptest/testdata/v1.1/SKLC_M_1_11_SymmetricKeyLifecycle_1.xml create mode 100644 kmiptest/testdata/v1.1/SKLC_M_2_11_SymmetricKeyLifecycle_2.xml create mode 100644 kmiptest/testdata/v1.1/SKLC_M_3_11_SymmetricKeyLifecycle_3.xml create mode 100644 kmiptest/testdata/v1.1/SKLC_O_1_11_SymmetricKeyLifecycle_1.xml create mode 100644 kmiptest/testdata/v1.1/TC_101_11_Create_a_Key_Archive_and_Recover_it.xml create mode 100644 kmiptest/testdata/v1.1/TC_111_11_Credential_Operation_Policy_Destroy_Date.xml create mode 100644 kmiptest/testdata/v1.1/TC_112_11_Device_Credential_Operation_Policy_Destroy_Date.xml create mode 100644 kmiptest/testdata/v1.1/TC_121_11_Query_Maximum_Response_Size.xml create mode 100644 kmiptest/testdata/v1.1/TC_122_11_Query_Vendor_Extensions.xml create mode 100644 kmiptest/testdata/v1.1/TC_131_11_Register_an_Asymmetric_Key_Pair_in_PKCS1_Format.xml create mode 100644 kmiptest/testdata/v1.1/TC_132_11_Register_an_Asymmetric_Key_Pair_and_a_Corresponding_X509_Certificate.xml create mode 100644 kmiptest/testdata/v1.1/TC_133_11_Create_Re_key_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.1/TC_134_11_Register_Key_Pair_Certify_and_Re_certify_Public_Key.xml create mode 100644 kmiptest/testdata/v1.1/TC_141_11_Key_Wrapping_using_AES_Key_Wrap_and_No_Encoding.xml create mode 100644 kmiptest/testdata/v1.1/TC_142_11_Key_Wrapping_using_AES_Key_Wrap_with_Attributes.xml create mode 100644 kmiptest/testdata/v1.1/TC_151_11_Locate_a_Fresh_Object_from_the_Default_Group.xml create mode 100644 kmiptest/testdata/v1.1/TC_152_11_Client_side_Group_Management.xml create mode 100644 kmiptest/testdata/v1.1/TC_153_11_Default_Object_Group_Member.xml create mode 100644 kmiptest/testdata/v1.1/TC_161_11_Discover_Versions.xml create mode 100644 kmiptest/testdata/v1.1/TC_171_11_Handling_of_Attributes_and_Attribute_Index_Values.xml create mode 100644 kmiptest/testdata/v1.1/TC_181_11_Digests_of_Symmetric_Keys.xml create mode 100644 kmiptest/testdata/v1.1/TC_182_11_Digests_of_RSA_Private_Keys.xml create mode 100644 kmiptest/testdata/v1.1/TC_311_11_Create_Destroy.xml create mode 100644 kmiptest/testdata/v1.1/TC_312_11_Register_Create_Get_attributes_Destroy.xml create mode 100644 kmiptest/testdata/v1.1/TC_313_11_Create_Locate_Get_Destroy.xml create mode 100644 kmiptest/testdata/v1.1/TC_314_11_Dual_Client_Test_Case_ID_Placeholder_linked_Locate_Get_Batch.xml create mode 100644 kmiptest/testdata/v1.1/TC_315_11_Register_Destroy_Secret_Data.xml create mode 100644 kmiptest/testdata/v1.1/TC_32_11_Asynchronous_Locate.xml create mode 100644 kmiptest/testdata/v1.1/TC_41_11_Revoke_Scenario.xml create mode 100644 kmiptest/testdata/v1.1/TC_51_11_Get_Usage_Allocation_Scenario.xml create mode 100644 kmiptest/testdata/v1.1/TC_61_11_Import_of_a_Third_party_Key.xml create mode 100644 kmiptest/testdata/v1.1/TC_71_11_Unrecognized_Message_Extension_with_Criticality_Indicator_False.xml create mode 100644 kmiptest/testdata/v1.1/TC_72_11_Unrecognized_Message_Extension_with_Criticality_Indicator_True.xml create mode 100644 kmiptest/testdata/v1.1/TC_81_11_Create_a_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.1/TC_82_11_Register_Both_Halves_of_a_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.1/TC_91_11_Create_a_Key_Re_key.xml create mode 100644 kmiptest/testdata/v1.1/TC_92_11_Existing_Key_Expired_Re_key_with_Same_Life_cycle.xml create mode 100644 kmiptest/testdata/v1.1/TC_93_11_Existing_Key_Compromised_Re_key_with_Same_Life_cycle.xml create mode 100644 kmiptest/testdata/v1.1/TC_94_11_Create_Key_Re_key_with_New_Life_cycle.xml create mode 100644 kmiptest/testdata/v1.1/TC_95_11_Obtain_Lease_for_Expired_Key.xml create mode 100644 kmiptest/testdata/v1.1/TC_ECC_1_11_Register_an_ECC_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.1/TC_ECC_2_11_Register_an_ECC_Key_Pair_in_PKCS8_Format.xml create mode 100644 kmiptest/testdata/v1.1/TC_ECC_3_11_Register_an_ECC_Key_Pair_and_ECDSA_Certificate.xml create mode 100644 kmiptest/testdata/v1.1/TC_NP_1_11_Put.xml create mode 100644 kmiptest/testdata/v1.1/TC_NP_2_11_Notify_Put.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-1-12_Encrypt_with_New_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-10-12_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-11-12_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC_and_IV.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-12-12_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC_and_IV.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-13-12_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC_and_Random_IV.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-2-12_Decrypt_with_New_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-3-12_Encrypt_and_Decrypt_with_New_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-4-12_Encrypt_with_Known_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-5-12_Decrypt_with_Known_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-6-12_Encrypt_and_Decrypt_with_Known_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-7-12_Encrypt_with_Known_Symmetric_Key_with_Usage_Limits.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-8-12_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding.xml create mode 100644 kmiptest/testdata/v1.2/CS-BC-M-9-12_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding.xml create mode 100644 kmiptest/testdata/v1.2/CS_BC_M_14_12_Encrypt_and_Decrypt_with_Known_Symmetric_Key_Date_Checks.xml create mode 100644 kmiptest/testdata/v1.2/CS_BC_M_7_12_Encrypt_with_All_Fields.xml create mode 100644 kmiptest/testdata/v1.2/TC-311-10-CREATE-DESTROY.xml create mode 100644 kmiptest/testdata/v1.2/TC-SK-CREATE-ENCRYPT-DECRYPT-DESTROY.xml create mode 100644 kmiptest/testdata/v1.2/TC_101_12_Create_a_Key_Archive_and_Recover_it.xml create mode 100644 kmiptest/testdata/v1.2/TC_111_12_Credential_Operation_Policy_Destroy_Date.xml create mode 100644 kmiptest/testdata/v1.2/TC_112_12_Device_Credential_Operation_Policy_Destroy_Date.xml create mode 100644 kmiptest/testdata/v1.2/TC_121_12_Query_Maximum_Response_Size.xml create mode 100644 kmiptest/testdata/v1.2/TC_122_12_Query_Vendor_Extensions.xml create mode 100644 kmiptest/testdata/v1.2/TC_131_12_Register_an_Asymmetric_Key_Pair_in_PKCS1_Format.xml create mode 100644 kmiptest/testdata/v1.2/TC_132_12_Register_an_Asymmetric_Key_Pair_and_a_Corresponding_X509_Certificate.xml create mode 100644 kmiptest/testdata/v1.2/TC_133_12_Create_Re_key_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.2/TC_134_12_Register_Key_Pair_Certify_and_Re_certify_Public_Key.xml create mode 100644 kmiptest/testdata/v1.2/TC_141_12_Key_Wrapping_using_AES_Key_Wrap_and_No_Encoding.xml create mode 100644 kmiptest/testdata/v1.2/TC_142_12_Key_Wrapping_using_AES_Key_Wrap_with_Attributes.xml create mode 100644 kmiptest/testdata/v1.2/TC_151_12_Locate_a_Fresh_Object_from_the_Default_Group.xml create mode 100644 kmiptest/testdata/v1.2/TC_152_12_Client_side_Group_Management.xml create mode 100644 kmiptest/testdata/v1.2/TC_153_12_Default_Object_Group_Member.xml create mode 100644 kmiptest/testdata/v1.2/TC_161_12_Discover_Versions.xml create mode 100644 kmiptest/testdata/v1.2/TC_171_12_Handling_of_Attributes_and_Attribute_Index_Values.xml create mode 100644 kmiptest/testdata/v1.2/TC_181_12_Digests_of_Symmetric_Keys.xml create mode 100644 kmiptest/testdata/v1.2/TC_182_12_Digests_of_RSA_Private_Keys.xml create mode 100644 kmiptest/testdata/v1.2/TC_311_12_Create_Destroy.xml create mode 100644 kmiptest/testdata/v1.2/TC_312_12_Register_Create_Get_attributes_Destroy.xml create mode 100644 kmiptest/testdata/v1.2/TC_313_12_Create_Locate_Get_Destroy.xml create mode 100644 kmiptest/testdata/v1.2/TC_314_12_Dual_Client_Test_Case_ID_Placeholder_linked_Locate_Get_Batch.xml create mode 100644 kmiptest/testdata/v1.2/TC_315_12_Register_Destroy_Secret_Data.xml create mode 100644 kmiptest/testdata/v1.2/TC_32_12_Asynchronous_Locate.xml create mode 100644 kmiptest/testdata/v1.2/TC_41_12_Revoke_Scenario.xml create mode 100644 kmiptest/testdata/v1.2/TC_51_12_Get_Usage_Allocation_Scenario.xml create mode 100644 kmiptest/testdata/v1.2/TC_61_12_Import_of_a_Third_party_Key.xml create mode 100644 kmiptest/testdata/v1.2/TC_71_12_Unrecognized_Message_Extension_with_Criticality_Indicator_False.xml create mode 100644 kmiptest/testdata/v1.2/TC_72_12_Unrecognized_Message_Extension_with_Criticality_Indicator_True.xml create mode 100644 kmiptest/testdata/v1.2/TC_81_12_Create_a_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.2/TC_82_12_Register_Both_Halves_of_a_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.2/TC_91_12_Create_a_Key_Re_key.xml create mode 100644 kmiptest/testdata/v1.2/TC_92_12_Existing_Key_Expired_Re_key_with_Same_Life_cycle.xml create mode 100644 kmiptest/testdata/v1.2/TC_93_12_Existing_Key_Compromised_Re_key_with_Same_Life_cycle.xml create mode 100644 kmiptest/testdata/v1.2/TC_94_12_Create_Key_Re_key_with_New_Life_cycle.xml create mode 100644 kmiptest/testdata/v1.2/TC_95_12_Obtain_Lease_for_Expired_Key.xml create mode 100644 kmiptest/testdata/v1.2/TC_ECC_1_12_Register_an_ECC_Key_Pair.xml create mode 100644 kmiptest/testdata/v1.2/TC_ECC_2_12_Register_an_ECC_Key_Pair_in_PKCS8_Format.xml create mode 100644 kmiptest/testdata/v1.2/TC_ECC_3_12_Register_an_ECC_Key_Pair_and_ECDSA_Certificate.xml create mode 100644 kmiptest/testdata/v1.2/TC_MDO_1_12_Register_MDO_Key.xml create mode 100644 kmiptest/testdata/v1.2/TC_MDO_2_12_Locate_MDO_keys_by_Key_Value_Present.xml create mode 100644 kmiptest/testdata/v1.2/TC_MDO_3_12_Register_MDO_Key_using_PKCS11_URI.xml create mode 100644 kmiptest/testdata/v1.2/TC_NP_1_12_Put.xml create mode 100644 kmiptest/testdata/v1.2/TC_NP_2_12_Notify_Put.xml create mode 100644 kmiptest/testdata/v1.2/TC_PGP_1_12_Register_PGP_Key_RSA.xml create mode 100644 kmiptest/testdata/v1.2/TC_SJ_1_12_Create_and_SplitJoin.xml create mode 100644 kmiptest/testdata/v1.2/TC_SJ_2_12_Register_and_Split_Join.xml create mode 100644 kmiptest/testdata/v1.2/TC_SJ_3_12_Join_Split_Keys.xml create mode 100644 kmiptest/testdata/v1.2/TC_SJ_4_12_Register_and_Split_Join_with_XOR.xml create mode 100644 kmiptest/testdata/v1.3/AKLC-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/AKLC-M-2-13.xml create mode 100644 kmiptest/testdata/v1.3/AKLC-M-3-13.xml create mode 100644 kmiptest/testdata/v1.3/AKLC-O-1-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-AC-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-AC-M-2-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-AC-M-3-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-AC-M-3-ECC-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-AC-M-4-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-AC-M-5-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-AC-M-6-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-AC-M-7-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-AC-M-8-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-1-13_Encrypt_with_New_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-10-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-10-13_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-11-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-11-13_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC_and_IV.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-12-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-12-13_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC_and_IV.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-13-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-13-13_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC_and_Random_IV.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-14-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-14-13_Encrypt_and_Decrypt_with_Known_Symmetric_Key_Date_Checks.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-2-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-2-13_Decrypt_with_New_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-3-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-3-13_Encrypt_and_Decrypt_with_New_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-4-12-3DES-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-4-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-4-13_Encrypt_with_Known_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-5-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-5-13_Decrypt_with_Known_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-6-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-6-13_Encrypt_and_Decrypt_with_Known_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-7-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-7-13_Encrypt_with_Known_Symmetric_Key_with_Usage_Limits.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-8-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-8-13_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-9-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-BC-M-9-13_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding.xml create mode 100644 kmiptest/testdata/v1.3/CS-RNG-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-RNG-O-1-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-RNG-O-2-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-RNG-O-3-13.xml create mode 100644 kmiptest/testdata/v1.3/CS-RNG-O-4-13.xml create mode 100644 kmiptest/testdata/v1.3/MSGENC-HTTPS-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/MSGENC-JSON-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/MSGENC-XML-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/OMOS-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/OMOS-O-1-13.xml create mode 100644 kmiptest/testdata/v1.3/SASED-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/SASED-M-2-13.xml create mode 100644 kmiptest/testdata/v1.3/SASED-M-3-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-10-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-11-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-12-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-2-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-3-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-4-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-5-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-6-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-7-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-8-13.xml create mode 100644 kmiptest/testdata/v1.3/SKFF-M-9-13.xml create mode 100644 kmiptest/testdata/v1.3/SKLC-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/SKLC-M-2-13.xml create mode 100644 kmiptest/testdata/v1.3/SKLC-M-3-13.xml create mode 100644 kmiptest/testdata/v1.3/SKLC-O-1-13.xml create mode 100644 kmiptest/testdata/v1.3/SUITEB_128-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/SUITEB_192-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/TL-M-1-13.xml create mode 100644 kmiptest/testdata/v1.3/TL-M-2-13.xml create mode 100644 kmiptest/testdata/v1.3/TL-M-3-13.xml create mode 100644 kmiptest/testdata/v1.4/AKLC-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/AKLC-M-2-14.xml create mode 100644 kmiptest/testdata/v1.4/AKLC-M-3-14.xml create mode 100644 kmiptest/testdata/v1.4/AKLC-O-1-14.xml create mode 100644 kmiptest/testdata/v1.4/AX-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/AX-M-2-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-2-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-3-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-4-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-5-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-6-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-7-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-8-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-1-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-1-14_okms.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-10-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-2-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-2-14_okms.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-3-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-3-14_okms.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-4-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-4-14_okms.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-5-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-5-14_okms.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-6-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-6-14_okms.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-7-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-8-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-AC-M-OAEP-9-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-1-14_Encrypt_with_New_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-10-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-10-14_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-11-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-11-14_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC_and_IV.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-12-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-12-14_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC_and_IV.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-13-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-13-14_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding_and_CBC_and_Random_IV.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-14-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-14-14_Encrypt_and_Decrypt_with_Known_Symmetric_Key_Date_Checks.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-2-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-2-14_Decrypt_with_New_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-3-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-3-14_Encrypt_and_Decrypt_with_New_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-4-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-4-14_Encrypt_with_Known_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-5-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-5-14_Decrypt_with_Known_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-6-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-6-14_Encrypt_and_Decrypt_with_Known_Symmetric_Key.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-7-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-7-14_Encrypt_with_Known_Symmetric_Key_with_Usage_Limits.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-8-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-8-14_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-9-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-9-14_Encrypt_and_Decrypt_with_Known_Symmetric_Key_and_PKCS5_Padding.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-1-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-1-14_okms.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test0.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test1.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test10.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test11.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test12.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test13.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test15.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test16.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test17.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test18.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test19.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test2.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test20.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test21.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test22.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test3.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test4.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test5.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test6.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test7.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test8.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-2-14_okms_test9.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-3-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-BC-M-GCM-3-14_okms.xml create mode 100644 kmiptest/testdata/v1.4/CS-RNG-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-RNG-O-1-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-RNG-O-2-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-RNG-O-3-14.xml create mode 100644 kmiptest/testdata/v1.4/CS-RNG-O-4-14.xml create mode 100644 kmiptest/testdata/v1.4/MSGENC-HTTPS-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/MSGENC-JSON-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/MSGENC-XML-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/OMOS-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/OMOS-O-1-14.xml create mode 100644 kmiptest/testdata/v1.4/SASED-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/SASED-M-2-14.xml create mode 100644 kmiptest/testdata/v1.4/SASED-M-3-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-10-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-11-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-12-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-2-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-3-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-4-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-5-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-6-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-7-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-8-14.xml create mode 100644 kmiptest/testdata/v1.4/SKFF-M-9-14.xml create mode 100644 kmiptest/testdata/v1.4/SKLC-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/SKLC-M-2-14.xml create mode 100644 kmiptest/testdata/v1.4/SKLC-M-3-14.xml create mode 100644 kmiptest/testdata/v1.4/SKLC-O-1-14.xml create mode 100644 kmiptest/testdata/v1.4/SUITEB_128-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/SUITEB_192-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-CS-CORVAL-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-DERIVEKEY-1-10.xml create mode 100644 kmiptest/testdata/v1.4/TC-ECDSA-SIGN-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-I18N-1-10.xml create mode 100644 kmiptest/testdata/v1.4/TC-MDO-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-NP-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-PKCS12-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-Q-CAP-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-Q-PROF-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-Q-RNGS-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-Q-S2C-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-REKEY-1-10.xml create mode 100644 kmiptest/testdata/v1.4/TC-RNG-ATTR-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-SJ-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-STREAM-ENC-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TC-WRAP-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TL-M-1-14.xml create mode 100644 kmiptest/testdata/v1.4/TL-M-2-14.xml create mode 100644 kmiptest/testdata/v1.4/TL-M-3-14.xml create mode 100644 objects.go create mode 100644 objects_test.go create mode 100644 operations.go create mode 100644 payloads/activate.go create mode 100644 payloads/add_attribute.go create mode 100644 payloads/archive_recover.go create mode 100644 payloads/create.go create mode 100644 payloads/create_keypair.go create mode 100644 payloads/delete_attribute.go create mode 100644 payloads/destroy.go create mode 100644 payloads/discover.go create mode 100644 payloads/encrypt_decrypt.go create mode 100644 payloads/get.go create mode 100644 payloads/get_attribute_list.go create mode 100644 payloads/get_attributes.go create mode 100644 payloads/get_usage.go create mode 100644 payloads/locate.go create mode 100644 payloads/modify_attribute.go create mode 100644 payloads/obtain_lease.go create mode 100644 payloads/payloads_test.go create mode 100644 payloads/query.go create mode 100644 payloads/register.go create mode 100644 payloads/rekey.go create mode 100644 payloads/revoke.go create mode 100644 requests.go create mode 100644 responses.go create mode 100644 tags.go create mode 100644 ttlv/decoder.go create mode 100644 ttlv/decoder_test.go create mode 100644 ttlv/encoder.go create mode 100644 ttlv/encoder_test.go create mode 100644 ttlv/encoding_json.go create mode 100644 ttlv/encoding_json_test.go create mode 100644 ttlv/encoding_text.go create mode 100644 ttlv/encoding_text_test.go create mode 100644 ttlv/encoding_ttlv.go create mode 100644 ttlv/encoding_ttlv_test.go create mode 100644 ttlv/encoding_xml.go create mode 100644 ttlv/encoding_xml_test.go create mode 100644 ttlv/io.go create mode 100644 ttlv/reflect.go create mode 100644 ttlv/registry.go create mode 100644 ttlv/ttlv.go create mode 100644 ttlv/types.go create mode 100644 ttlv/utils.go create mode 100644 ttlv/value.go create mode 100644 ttlv/value_test.go create mode 100644 ttlv/version.go create mode 100644 ttlv/version_test.go diff --git a/.github/actions/lint-commit/action.yaml b/.github/actions/lint-commit/action.yaml new file mode 100644 index 0000000..d1114ee --- /dev/null +++ b/.github/actions/lint-commit/action.yaml @@ -0,0 +1,27 @@ +name: Lint Conventional Commits +description: Verify that all the commits complies to the conventional commit convention + +inputs: + config: + description: Path to the configuration file + default: .github/commitlint.config.js + +runs: + using: composite + steps: + - name: Install commitlint + shell: bash + run: | + npm install conventional-changelog-conventionalcommits + npm install commitlint@latest + npm install @commitlint/{cli,config-conventional} + + - name: Validate current commit (last commit) with commitlint + if: github.event_name == 'push' + shell: bash + run: npx commitlint --config ${{ inputs.config }} --last --verbose + + - name: Validate PR commits with commitlint + if: github.event_name == 'pull_request' + shell: bash + run: npx commitlint --config ${{ inputs.config }} --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose diff --git a/.github/actions/setup-build-env/action.yaml b/.github/actions/setup-build-env/action.yaml new file mode 100644 index 0000000..5f8d960 --- /dev/null +++ b/.github/actions/setup-build-env/action.yaml @@ -0,0 +1,10 @@ +name: Setup Build Env +description: Setup build environment with go + +runs: + using: composite + steps: + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: "1.23" diff --git a/.github/commitlint.config.js b/.github/commitlint.config.js new file mode 100644 index 0000000..d629963 --- /dev/null +++ b/.github/commitlint.config.js @@ -0,0 +1,14 @@ +const Configuration = { + // See https://github.com/conventional-changelog/commitlint/blob/master/%40commitlint/config-conventional/src/index.ts + extends: ['@commitlint/config-conventional'], + rules: { + 'subject-case': [ + 0, + 'never', + // Allow Sentence-case. See https://commitlint.js.org/reference/rules.html#subject-case + ['start-case', 'pascal-case', 'upper-case'] + ] + } +}; + +module.exports = Configuration; \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..1553e80 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,23 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly + reviewers: + - ovh/kms + - package-ecosystem: "gomod" + directories: + - "/" + schedule: + interval: "weekly" + allow: + - dependency-type: all + reviewers: + - ovh/kms + open-pull-requests-limit: 10 diff --git a/.github/release-note.toml b/.github/release-note.toml new file mode 100644 index 0000000..e11a49b --- /dev/null +++ b/.github/release-note.toml @@ -0,0 +1,86 @@ +# git-cliff ~ default configuration file +# https://git-cliff.org/docs/configuration +# +# Lines starting with "#" are comments. +# Configuration options are organized into tables and keys. +# See documentation for more information on available options. + +[changelog] +# changelog header +header = "" +# template for the changelog body +# https://keats.github.io/tera/docs/#introduction +body = """ +{% for group, commits in commits | group_by(attribute="group") %} + ### {{ group | striptags | trim | upper_first }} + {% for commit in commits %} + - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\ + {% if commit.breaking %}[**breaking**] {% endif %}\ + {{ commit.message | upper_first }}\ + {% endfor %} + {% endfor %} +{% set breaking = (commits | filter(attribute="breaking", value=true) | map(attribute="breaking_description")) -%} +{% if breaking -%} + ### ⚠️ BREAKING CHANGES: + {% for bk in breaking %} + - {{ bk -}} + {% endfor %} +{% endif %} +""" +# template for the changelog footer +footer = "" +# remove the leading and trailing s +trim = true +# postprocessors +postprocessors = [ + # { pattern = '', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL +] + +[git] +# parse the commits based on https://www.conventionalcommits.org +conventional_commits = true +# filter out the commits that are not conventional +filter_unconventional = false +# process each line of a commit as an individual commit +split_commits = false +# regex for preprocessing the commit messages +commit_preprocessors = [ + # Replace issue numbers + #{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](/issues/${2}))"}, + # Check spelling of the commit with https://github.com/crate-ci/typos + # If the spelling is incorrect, it will be automatically fixed. + #{ pattern = '.*', replace_command = 'typos --write-changes -' }, +] +# regex for parsing and grouping commits +commit_parsers = [ + { message = "^feat", group = "🚀 Features" }, + { message = "^fix", group = "🐛 Bug Fixes" }, + { message = "^doc", group = "📚 Documentation" }, + { message = "^perf", group = "⚡ Performance" }, + { message = "^refactor", group = "🚜 Refactor" }, + { message = "^style", group = "🎨 Styling" }, + { message = "^test", group = "🧪 Testing" }, + { message = "^chore\\(release\\): prepare for", skip = true }, + { message = "^chore\\(deps.*\\)", skip = true }, + { message = "^chore\\(pr\\)", skip = true }, + { message = "^chore\\(pull\\)", skip = true }, + { message = "^chore|^ci|^build\\(deps\\)", group = "⚙️ Miscellaneous Tasks" }, + { body = ".*security", group = "🛡️ Security" }, + { message = "^revert", group = "◀️ Revert" }, +] +# protect breaking changes from being skipped due to matching a skipping commit_parser +protect_breaking_commits = false +# filter out the commits that are not matched by commit parsers +filter_commits = false +# regex for matching git tags +# tag_pattern = "v[0-9].*" +# regex for skipping tags +# skip_tags = "" +# regex for ignoring tags +# ignore_tags = "" +# sort the tags topologically +topo_order = false +# sort the commits inside sections by oldest/newest order +sort_commits = "oldest" +# limit the number of commits included in the changelog. +# limit_commits = 42 diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml new file mode 100644 index 0000000..26468fb --- /dev/null +++ b/.github/workflows/pull-request.yaml @@ -0,0 +1,21 @@ +name: pull-request + +on: + pull_request: + branches: ["main"] + +jobs: + commitlint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Lint commits + if: github.event.pull_request.user.login != 'dependabot[bot]' + uses: ./.github/actions/lint-commit + + build: + needs: + - commitlint + uses: ./.github/workflows/test.yaml \ No newline at end of file diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..b568b85 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,43 @@ +name: release + +on: + push: + # run only against tags + tags: + - "v*" + +permissions: + contents: write + packages: write + +jobs: + test: + uses: ./.github/workflows/test.yaml + secrets: inherit + + release: + needs: test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true + - run: git fetch --force --tags + - uses: ./.github/actions/setup-build-env + - name: Generate a changelog + uses: orhun/git-cliff-action@v4 + with: + config: .github/release-note.toml + args: --verbose --current + env: + OUTPUT: tmp.CHANGELOG.md + - name: Release + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + # prerelease: true + name: ${{ github.ref_name }} + # draft: true + body_path: tmp.CHANGELOG.md + \ No newline at end of file diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..6ab0f38 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,30 @@ +# This workflow will build a golang project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go + +name: test + +on: + push: + branches: ["main"] + workflow_call: {} + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-build-env + - name: Unit Test + run: go test -race -v ./... + - name: Run benchmarks + run: go test -benchmem -bench . -run ^$ ./... + + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-build-env + - name: Lint library + uses: golangci/golangci-lint-action@v6 + with: + version: v1.60 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..194cd4a --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +certs/ +dist/ +.build/ +*.pem +*.log +*.db +*.exe + +bin/ +git-cliff-* +tmp.CHANGELOG.md \ No newline at end of file diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..86832b5 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,14 @@ +# This is the official list of kmip-go authors for copyright purposes. +# This file is distinct from the CONTRIBUTORS files +# and it lists the copyright holders only. + +# Names should be added to this file as one of +# Organization's name +# Individual's name +# Individual's name +# See CONTRIBUTORS for the meaning of multiple email addresses. + +# Please keep the list sorted. + +OVH SAS +Pierre-Henri Symoneaux \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..0a00fea --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,143 @@ +# Contributing to kmip-go + +This project accepts contributions. In order to contribute, you should +pay attention to a few things: + +1. your code must be unit-tested +2. your code must be documented +3. your work must be signed (see below) +4. you may contribute through GitHub Pull Requests +5. Commits follow [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) style (see below) + +# Submitting Modifications + +The contributions should be submitted through Github Pull Requests +and follow the DCO which is defined below. + +# Licensing for new files + +kmip-go is licensed under a Apache 2.0 license. Anything +contributed to kmip-go must be released under this license. + +When introducing a new file into the project, please make sure it has a +copyright header making clear under which license it's being released. + +# Commit Message Guidelines + +We have very precise rules over how our git commit messages can be formatted. This leads to **more +readable messages** that are easy to follow when looking through the **project history**. But also, +we use the git commit messages to **generate the change log**. + +Commits descriptions MUST follow [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) style. + +## Commit Message Format +Each commit message consists of a **header**, a **body** and a **footer**. The header has a special +format that includes a **type**, a **scope** and a **subject**: + +``` +(): + + + +