mirror of https://github.com/OpenKMIP/PyKMIP.git
2054 lines
86 KiB
Python
2054 lines
86 KiB
Python
# Copyright (c) 2014 The Johns Hopkins University/Applied Physics Laboratory
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
# In case of new content, remove the following line to enable flake8 tests
|
|
# flake8: noqa
|
|
|
|
import copy
|
|
import enum
|
|
import functools
|
|
import six
|
|
|
|
|
|
class OrderedEnum(enum.Enum):
|
|
"""
|
|
An ordered variant of the Enum class that allows for comparisons.
|
|
|
|
Taken from: https://docs.python.org/3/library/enum.html#orderedenum
|
|
"""
|
|
|
|
def __ge__(self, other):
|
|
if self.__class__ is other.__class__:
|
|
return self.value >= other.value
|
|
return NotImplemented
|
|
|
|
def __gt__(self, other):
|
|
if self.__class__ is other.__class__:
|
|
return self.value > other.value
|
|
return NotImplemented
|
|
|
|
def __le__(self, other):
|
|
if self.__class__ is other.__class__:
|
|
return self.value <= other.value
|
|
return NotImplemented
|
|
|
|
def __lt__(self, other):
|
|
if self.__class__ is other.__class__:
|
|
return self.value < other.value
|
|
return NotImplemented
|
|
|
|
|
|
class AdjustmentType(enum.Enum):
|
|
# KMIP 2.0
|
|
INCREMENT = 0x00000001
|
|
DECREMENT = 0x00000002
|
|
NEGATE = 0x00000003
|
|
|
|
|
|
class AlternativeNameType(enum.Enum):
|
|
# KMIP 1.2
|
|
UNINTERPRETED_TEXT_STRING = 0x00000001
|
|
URI = 0x00000002
|
|
OBJECT_SERIAL_NUMBER = 0x00000003
|
|
EMAIL_ADDRESS = 0x00000004
|
|
DNS_NAME = 0x00000005
|
|
X500_DISTINGUISHED_NAME = 0x00000006
|
|
IP_ADDRESS = 0x00000007
|
|
|
|
|
|
class AsynchronousIndicator(enum.Enum):
|
|
# KMIP 2.0
|
|
MANDATORY = 0x00000001
|
|
OPTIONAL = 0x00000002
|
|
PROHIBITED = 0x00000003
|
|
|
|
|
|
class AttestationType(enum.Enum):
|
|
# KMIP 1.2
|
|
TPM_QUOTE = 0x00000001
|
|
TCG_INTEGRITY_REPORT = 0x00000002
|
|
SAML_ASSERTION = 0x00000003
|
|
|
|
|
|
class AttributeType(enum.Enum):
|
|
UNIQUE_IDENTIFIER = 'Unique Identifier'
|
|
NAME = 'Name'
|
|
OBJECT_TYPE = 'Object Type'
|
|
CRYPTOGRAPHIC_ALGORITHM = 'Cryptographic Algorithm'
|
|
CRYPTOGRAPHIC_LENGTH = 'Cryptographic Length'
|
|
CRYPTOGRAPHIC_PARAMETERS = 'Cryptographic Parameters'
|
|
CRYPTOGRAPHIC_DOMAIN_PARAMETERS = 'Cryptographic Domain Parameters'
|
|
CERTIFICATE_TYPE = 'Certificate Type'
|
|
CERTIFICATE_LENGTH = 'Certificate Length'
|
|
X_509_CERTIFICATE_IDENTIFIER = 'X.509 Certificate Identifier'
|
|
X_509_CERTIFICATE_SUBJECT = 'X.509 Certificate Subject'
|
|
X_509_CERTIFICATE_ISSUER = 'X.509 Certificate Issuer'
|
|
CERTIFICATE_IDENTIFIER = 'Certificate Identifier'
|
|
CERTIFICATE_SUBJECT = 'Certificate Subject'
|
|
CERTIFICATE_ISSUER = 'Certificate Issuer'
|
|
DIGITAL_SIGNATURE_ALGORITHM = 'Digital Signature Algorithm'
|
|
DIGEST = 'Digest'
|
|
OPERATION_POLICY_NAME = 'Operation Policy Name'
|
|
CRYPTOGRAPHIC_USAGE_MASK = 'Cryptographic Usage Mask'
|
|
LEASE_TIME = 'Lease Time'
|
|
USAGE_LIMITS = 'Usage Limits'
|
|
STATE = 'State'
|
|
INITIAL_DATE = 'Initial Date'
|
|
ACTIVATION_DATE = 'Activation Date'
|
|
PROCESS_START_DATE = 'Process Start Date'
|
|
PROTECT_STOP_DATE = 'Protect Stop Date'
|
|
DEACTIVATION_DATE = 'Deactivation Date'
|
|
DESTROY_DATE = 'Destroy Date'
|
|
COMPROMISE_OCCURRENCE_DATE = 'Compromise Occurrence Date'
|
|
COMPROMISE_DATE = 'Compromise Date'
|
|
REVOCATION_REASON = 'Revocation Reason'
|
|
ARCHIVE_DATE = 'Archive Date'
|
|
OBJECT_GROUP = 'Object Group'
|
|
FRESH = 'Fresh'
|
|
LINK = 'Link'
|
|
APPLICATION_SPECIFIC_INFORMATION = 'Application Specific Information'
|
|
CONTACT_INFORMATION = 'Contact Information'
|
|
LAST_CHANGE_DATE = 'Last Change Date'
|
|
CUSTOM_ATTRIBUTE = 'Custom Attribute'
|
|
ALTERNATIVE_NAME = 'Alternative Name'
|
|
KEY_VALUE_PRESENT = 'Key Value Present'
|
|
KEY_VALUE_LOCATION = 'Key Value Location'
|
|
ORIGINAL_CREATION_DATE = 'Original Creation Date'
|
|
|
|
|
|
class AuthenticationSuite(enum.Enum):
|
|
"""
|
|
The type of authentication suite used by KMIP clients and servers.
|
|
|
|
The authentication suite defines the protocol versions and cipher suites
|
|
that should be used to secure KMIP client/server communications. An
|
|
authentication suite is one of two core components that make up a KMIP
|
|
client/server profile. For more information, see Section 3 of the KMIP
|
|
1.1 profiles document.
|
|
"""
|
|
BASIC = 1
|
|
TLS12 = 2
|
|
|
|
|
|
class BatchErrorContinuationOption(enum.Enum):
|
|
# KMIP 1.0
|
|
CONTINUE = 0x00000001
|
|
STOP = 0x00000002
|
|
UNDO = 0x00000003
|
|
|
|
|
|
class BlockCipherMode(enum.Enum):
|
|
# KMIP 1.0
|
|
CBC = 0x00000001
|
|
ECB = 0x00000002
|
|
PCBC = 0x00000003
|
|
CFB = 0x00000004
|
|
OFB = 0x00000005
|
|
CTR = 0x00000006
|
|
CMAC = 0x00000007
|
|
CCM = 0x00000008
|
|
GCM = 0x00000009
|
|
CBC_MAC = 0x0000000A
|
|
XTS = 0x0000000B
|
|
AES_KEY_WRAP_PADDING = 0x0000000C
|
|
NIST_KEY_WRAP = 0x0000000D
|
|
X9_102_AESKW = 0x0000000E
|
|
X9_102_TDKW = 0x0000000F
|
|
X9_102_AKW1 = 0x00000010
|
|
X9_102_AKW2 = 0x00000011
|
|
# KMIP 1.4
|
|
AEAD = 0x00000012
|
|
|
|
|
|
class CancellationResult(enum.Enum):
|
|
# KMIP 1.0
|
|
CANCELED = 0x00000001
|
|
UNABLE_TO_CANCEL = 0x00000002
|
|
COMPLETED = 0x00000003
|
|
FAILED = 0x00000004
|
|
UNAVAILABLE = 0x00000005
|
|
|
|
|
|
class CertificateRequestType(enum.Enum):
|
|
# KMIP 1.0
|
|
CRMF = 0x00000001
|
|
PKCS10 = 0x00000002
|
|
PEM = 0x00000003
|
|
PGP = 0x00000004 # Deprecated, designated '(Reserved)' in KMIP 2.0
|
|
|
|
|
|
class CertificateType(enum.Enum):
|
|
# KMIP 1.0
|
|
X_509 = 0x00000001
|
|
PGP = 0x00000002 # Deprecated as of KMIP 1.2, not deprecated in KMIP 2.0
|
|
|
|
|
|
class ClientRegistrationMethod(enum.Enum):
|
|
# KMIP 1.3
|
|
UNSPECIFIED = 0x00000001
|
|
SERVER_PREGENERATED = 0x00000002
|
|
SERVER_ON_DEMAND = 0x00000003
|
|
CLIENT_GENERATED = 0x00000004
|
|
CLIENT_REGISTERED = 0x00000005
|
|
|
|
|
|
class ConformanceClause(enum.Enum):
|
|
DISCOVER_VERSIONS = 1
|
|
BASELINE = 2
|
|
SECRET_DATA = 3
|
|
SYMMETRIC_KEY_STORE = 4
|
|
SYMMETRIC_KEY_FOUNDRY = 5
|
|
ASYMMETRIC_KEY_STORE = 6
|
|
ASYMMETRIC_KEY_AND_CERTIFICATE_STORE = 7
|
|
ASYMMETRIC_KEY_FOUNDRY = 8
|
|
CERTIFICATE = 9
|
|
ASYMMETRIC_KEY_FOUNDRY_AND_CERTIFICATE = 10
|
|
STORAGE = 11
|
|
|
|
|
|
class CredentialType(enum.Enum):
|
|
# KMIP 1.0
|
|
USERNAME_AND_PASSWORD = 0x00000001
|
|
# KMIP 1.1
|
|
DEVICE = 0x00000002
|
|
# KMIP 1.2
|
|
ATTESTATION = 0x00000003
|
|
# KMIP 2.0
|
|
ONE_TIME_PASSWORD = 0x00000004
|
|
HASHED_PASSWORD = 0x00000005
|
|
TICKET = 0x00000006
|
|
|
|
|
|
class CryptographicAlgorithm(enum.Enum):
|
|
# KMIP 1.0
|
|
DES = 0x00000001
|
|
TRIPLE_DES = 0x00000002 # '3DES' is invalid syntax
|
|
AES = 0x00000003
|
|
RSA = 0x00000004
|
|
DSA = 0x00000005
|
|
ECDSA = 0x00000006
|
|
HMAC_SHA1 = 0x00000007
|
|
HMAC_SHA224 = 0x00000008
|
|
HMAC_SHA256 = 0x00000009
|
|
HMAC_SHA384 = 0x0000000A
|
|
HMAC_SHA512 = 0x0000000B
|
|
HMAC_MD5 = 0x0000000C
|
|
DH = 0x0000000D
|
|
ECDH = 0x0000000E
|
|
ECMQV = 0x0000000F
|
|
BLOWFISH = 0x00000010
|
|
CAMELLIA = 0x00000011
|
|
CAST5 = 0x00000012
|
|
IDEA = 0x00000013
|
|
MARS = 0x00000014
|
|
RC2 = 0x00000015
|
|
RC4 = 0x00000016
|
|
RC5 = 0x00000017
|
|
SKIPJACK = 0x00000018
|
|
TWOFISH = 0x00000019
|
|
# KMIP 1.2
|
|
EC = 0x0000001A
|
|
# KMIP 1.3
|
|
ONE_TIME_PAD = 0x0000001B
|
|
# KMIP 1.4
|
|
CHACHA20 = 0x0000001C
|
|
POLY1305 = 0x0000001D
|
|
CHACHA20_POLY1305 = 0x0000001E
|
|
SHA3_224 = 0x0000001F
|
|
SHA3_256 = 0x00000020
|
|
SHA3_384 = 0x00000021
|
|
SHA3_512 = 0x00000022
|
|
HMAC_SHA3_224 = 0x00000023
|
|
HMAC_SHA3_256 = 0x00000024
|
|
HMAC_SHA3_384 = 0x00000025
|
|
HMAC_SHA3_512 = 0x00000026
|
|
SHAKE_128 = 0x00000027
|
|
SHAKE_256 = 0x00000028
|
|
# KMIP 2.0
|
|
ARIA = 0x00000029
|
|
SEED = 0x0000002A
|
|
SM2 = 0x0000002B
|
|
SM3 = 0x0000002C
|
|
SM4 = 0x0000002D
|
|
GOST_R_34_10_2012 = 0x0000002E
|
|
GOST_R_34_11_2012 = 0x0000002F
|
|
GOST_R_34_13_2015 = 0x00000030
|
|
GOST_28147_89 = 0x00000031
|
|
XMSS = 0x00000032
|
|
SPHINCS_256 = 0x00000033
|
|
MCELIECE = 0x00000034
|
|
MCELIECE_6960119 = 0x00000035
|
|
MCELIECE_8192128 = 0x00000036
|
|
ED25519 = 0x00000037
|
|
ED448 = 0x00000038
|
|
|
|
|
|
class CryptographicUsageMask(enum.Enum):
|
|
# KMIP 1.0
|
|
SIGN = 0x00000001
|
|
VERIFY = 0x00000002
|
|
ENCRYPT = 0x00000004
|
|
DECRYPT = 0x00000008
|
|
WRAP_KEY = 0x00000010
|
|
UNWRAP_KEY = 0x00000020
|
|
EXPORT = 0x00000040
|
|
MAC_GENERATE = 0x00000080
|
|
MAC_VERIFY = 0x00000100
|
|
DERIVE_KEY = 0x00000200
|
|
CONTENT_COMMITMENT = 0x00000400
|
|
KEY_AGREEMENT = 0x00000800
|
|
CERTIFICATE_SIGN = 0x00001000
|
|
CRL_SIGN = 0x00002000
|
|
GENERATE_CRYPTOGRAM = 0x00004000 # Designated '(Reserved)' in KMIP 2.0
|
|
VALIDATE_CRYPTOGRAM = 0x00008000 # Designated '(Reserved)' in KMIP 2.0
|
|
TRANSLATE_ENCRYPT = 0x00010000 # Designated '(Reserved)' in KMIP 2.0
|
|
TRANSLATE_DECRYPT = 0x00020000 # Designated '(Reserved)' in KMIP 2.0
|
|
TRANSLATE_WRAP = 0x00040000 # Designated '(Reserved)' in KMIP 2.0
|
|
TRANSLATE_UNWRAP = 0x00080000 # Designated '(Reserved)' in KMIP 2.0
|
|
# KMIP 2.0
|
|
AUTHENTICATE = 0x00100000
|
|
UNRESTRICTED = 0x00200000
|
|
FPE_ENCRYPT = 0x00400000
|
|
FPE_DECRYPT = 0x00800000
|
|
|
|
|
|
class Data(enum.Enum):
|
|
# KMIP 2.0
|
|
DECRYPT = 0x00000001
|
|
ENCRYPT = 0x00000002
|
|
HASH = 0x00000003
|
|
MAC_MAC_DATA = 0x00000004
|
|
RNG_RETRIEVE = 0x00000005
|
|
SIGN_SIGNATURE_DATA = 0x00000006
|
|
SIGNATURE_VERIFY = 0x00000007
|
|
|
|
|
|
class DerivationMethod(enum.Enum):
|
|
# KMIP 1.0
|
|
PBKDF2 = 0x00000001
|
|
HASH = 0x00000002
|
|
HMAC = 0x00000003
|
|
ENCRYPT = 0x00000004
|
|
NIST800_108_C = 0x00000005
|
|
NIST800_108_F = 0x00000006
|
|
NIST800_108_DPI = 0x00000007
|
|
# KMIP 1.4
|
|
ASYMMETRIC_KEY = 0x00000008
|
|
# KMIP 2.0
|
|
AWS_SIGNATURE_VERSION_4 = 0x00000009
|
|
HKDF = 0x0000000A
|
|
|
|
|
|
class DestroyAction(enum.Enum):
|
|
# KMIP 1.3
|
|
UNSPECIFIED = 0x00000001
|
|
KEY_MATERIAL_DELETED = 0x00000002
|
|
KEY_MATERIAL_SHREDDED = 0x00000003
|
|
METADATA_DELETED = 0x00000004
|
|
METADATA_SHREDDED = 0x00000005
|
|
DELETED = 0x00000006
|
|
SHREDDED = 0x00000007
|
|
|
|
|
|
class DigitalSignatureAlgorithm(enum.Enum):
|
|
# KMIP 1.1
|
|
MD2_WITH_RSA_ENCRYPTION = 0x00000001
|
|
MD5_WITH_RSA_ENCRYPTION = 0x00000002
|
|
SHA1_WITH_RSA_ENCRYPTION = 0x00000003
|
|
SHA224_WITH_RSA_ENCRYPTION = 0x00000004
|
|
SHA256_WITH_RSA_ENCRYPTION = 0x00000005
|
|
SHA384_WITH_RSA_ENCRYPTION = 0x00000006
|
|
SHA512_WITH_RSA_ENCRYPTION = 0x00000007
|
|
RSASSA_PSS = 0x00000008
|
|
DSA_WITH_SHA1 = 0x00000009
|
|
DSA_WITH_SHA224 = 0x0000000A
|
|
DSA_WITH_SHA256 = 0x0000000B
|
|
ECDSA_WITH_SHA1 = 0x0000000C
|
|
ECDSA_WITH_SHA224 = 0x0000000D
|
|
ECDSA_WITH_SHA256 = 0x0000000E
|
|
ECDSA_WITH_SHA384 = 0x0000000F
|
|
ECDSA_WITH_SHA512 = 0x00000010
|
|
# KMIP 1.4
|
|
SHA3_256_WITH_RSA_ENCRYPTION = 0x00000011
|
|
SHA3_384_WITH_RSA_ENCRYPTION = 0x00000012
|
|
SHA3_512_WITH_RSA_ENCRYPTION = 0x00000013
|
|
|
|
|
|
class DRBGAlgorithm(enum.Enum):
|
|
# KMIP 1.3
|
|
UNSPECIFIED = 0x00000001
|
|
DUAL_EC = 0x00000002
|
|
HASH = 0x00000003
|
|
HMAC = 0x00000004
|
|
CTR = 0x00000005
|
|
|
|
|
|
class EncodingOption(enum.Enum):
|
|
# KMIP 1.1
|
|
NO_ENCODING = 0x00000001
|
|
TTLV_ENCODING = 0x00000002
|
|
|
|
|
|
class EndpointRole(enum.Enum):
|
|
CLIENT = 0x00000001
|
|
SERVER = 0x00000002
|
|
|
|
|
|
class FIPS186Variation(enum.Enum):
|
|
# KMIP 1.3
|
|
UNSPECIFIED = 0x00000001
|
|
GP_X_ORIGINAL = 0x00000002
|
|
GP_X_CHANGE_NOTICE = 0x00000003
|
|
X_ORIGINAL = 0x00000004
|
|
X_CHANGE_NOTICE = 0x00000005
|
|
K_ORIGINAL = 0x00000006
|
|
K_CHANGE_NOTICE = 0x00000007
|
|
|
|
|
|
class HashingAlgorithm(enum.Enum):
|
|
# KMIP 1.0
|
|
MD2 = 0x00000001
|
|
MD4 = 0x00000002
|
|
MD5 = 0x00000003
|
|
SHA_1 = 0x00000004
|
|
SHA_224 = 0x00000005
|
|
SHA_256 = 0x00000006
|
|
SHA_384 = 0x00000007
|
|
SHA_512 = 0x00000008
|
|
RIPEMD_160 = 0x00000009
|
|
TIGER = 0x0000000A
|
|
WHIRLPOOL = 0x0000000B
|
|
# KMIP 1.2
|
|
SHA_512_224 = 0x0000000C
|
|
SHA_512_256 = 0x0000000D
|
|
# KMIP 1.4
|
|
SHA3_224 = 0x0000000E
|
|
SHA3_256 = 0x0000000F
|
|
SHA3_384 = 0x00000010
|
|
SHA3_512 = 0x00000011
|
|
|
|
|
|
class InteropFunction(enum.Enum):
|
|
# KMIP 2.0
|
|
BEGIN = 0x00000001
|
|
END = 0x00000002
|
|
RESET = 0x00000003
|
|
|
|
|
|
class ItemType(enum.Enum):
|
|
# KMIP 2.0
|
|
STRUCTURE = 0x00000001
|
|
INTEGER = 0x00000002
|
|
LONG_INTEGER = 0x00000003
|
|
BIG_INTEGER = 0x00000004
|
|
ENUMERATION = 0x00000005
|
|
BOOLEAN = 0x00000006
|
|
TEXT_STRING = 0x00000007
|
|
BYTE_STRING = 0x00000008
|
|
DATE_TIME = 0x00000009
|
|
INTERVAL = 0x0000000A
|
|
DATE_TIME_EXTENDED = 0x0000000B
|
|
|
|
|
|
class KeyCompressionType(enum.Enum):
|
|
# KMIP 1.0
|
|
EC_PUBLIC_KEY_TYPE_UNCOMPRESSED = 0x00000001
|
|
EC_PUBLIC_KEY_TYPE_X9_62_COMPRESSED_PRIME = 0x00000002
|
|
EC_PUBLIC_KEY_TYPE_X9_62_COMPRESSED_CHAR2 = 0x00000003
|
|
EC_PUBLIC_KEY_TYPE_X9_62_HYBRID = 0x00000004
|
|
|
|
|
|
class KeyFormatType(enum.Enum):
|
|
# KMIP 1.0
|
|
RAW = 0x00000001
|
|
OPAQUE = 0x00000002
|
|
PKCS_1 = 0x00000003
|
|
PKCS_8 = 0x00000004
|
|
X_509 = 0x00000005
|
|
EC_PRIVATE_KEY = 0x00000006
|
|
TRANSPARENT_SYMMETRIC_KEY = 0x00000007
|
|
TRANSPARENT_DSA_PRIVATE_KEY = 0x00000008
|
|
TRANSPARENT_DSA_PUBLIC_KEY = 0x00000009
|
|
TRANSPARENT_RSA_PRIVATE_KEY = 0x0000000A
|
|
TRANSPARENT_RSA_PUBLIC_KEY = 0x0000000B
|
|
TRANSPARENT_DH_PRIVATE_KEY = 0x0000000C
|
|
TRANSPARENT_DH_PUBLIC_KEY = 0x0000000D
|
|
TRANSPARENT_ECDSA_PRIVATE_KEY = 0x0000000E # Deprecated in KMIP 1.4, designated '(Reserved)' in KMIP 2.0
|
|
TRANSPARENT_ECDSA_PUBLIC_KEY = 0x0000000F # Deprecated in KMIP 1.4, designated '(Reserved)' in KMIP 2.0
|
|
TRANSPARENT_ECDH_PRIVATE_KEY = 0x00000010 # Deprecated in KMIP 1.4, designated '(Reserved)' in KMIP 2.0
|
|
TRANSPARENT_ECDH_PUBLIC_KEY = 0x00000011 # Deprecated in KMIP 1.4, designated '(Reserved)' in KMIP 2.0
|
|
TRANSPARENT_ECMQV_PRIVATE_KEY = 0x00000012 # Deprecated in KMIP 1.4, designated '(Reserved)' in KMIP 2.0
|
|
TRANSPARENT_ECMQV_PUBLIC_KEY = 0x00000013 # Deprecated in KMIP 1.4, designated '(Reserved)' in KMIP 2.0
|
|
# KMIP 1.3
|
|
TRANSPARENT_EC_PRIVATE_KEY = 0x00000014
|
|
TRANSPARENT_EC_PUBLIC_KEY = 0x00000015
|
|
# KMIP 1.4
|
|
PKCS_12 = 0x00000016
|
|
|
|
|
|
class KeyRoleType(enum.Enum):
|
|
# KMIP 1.0
|
|
BDK = 0x00000001
|
|
CVK = 0x00000002
|
|
DEK = 0x00000003
|
|
MKAC = 0x00000004
|
|
MKSMC = 0x00000005
|
|
MKSMI = 0x00000006
|
|
MKDAC = 0x00000007
|
|
MKDN = 0x00000008
|
|
MKCP = 0x00000009
|
|
MKOTH = 0x0000000A
|
|
KEK = 0x0000000B
|
|
MAC_16609 = 0x0000000C
|
|
MAC_97971 = 0x0000000D
|
|
MAC_97972 = 0x0000000E
|
|
MAC_97973 = 0x0000000F
|
|
MAC_97974 = 0x00000010
|
|
MAC_97975 = 0x00000011
|
|
ZPK = 0x00000012
|
|
PVKIBM = 0x00000013
|
|
PVKPVV = 0x00000014
|
|
PVKOTH = 0x00000015
|
|
# KMIP 1.4
|
|
DUKPT = 0x00000016
|
|
IV = 0x00000017
|
|
TRKBK = 0x00000018
|
|
|
|
|
|
class KeyValueLocationType(enum.Enum):
|
|
# KMIP 1.2
|
|
UNINTERPRETED_TEXT_STRING = 0x00000001
|
|
URI = 0x00000002
|
|
|
|
|
|
class KeyWrapType(enum.Enum):
|
|
NOT_WRAPPED = 0x00000001
|
|
AS_REGISTERED = 0x00000002
|
|
|
|
|
|
class KMIPVersion(OrderedEnum):
|
|
KMIP_1_0 = 1.0
|
|
KMIP_1_1 = 1.1
|
|
KMIP_1_2 = 1.2
|
|
KMIP_1_3 = 1.3
|
|
KMIP_1_4 = 1.4
|
|
KMIP_2_0 = 2.0
|
|
|
|
|
|
class LinkType(enum.Enum):
|
|
# KMIP 1.0
|
|
CERTIFICATE_LINK = 0x00000101
|
|
PUBLIC_KEY_LINK = 0x00000102
|
|
PRIVATE_KEY_LINK = 0x00000103
|
|
DERIVATION_BASE_OBJECT_LINK = 0x00000104
|
|
DERIVED_KEY_LINK = 0x00000105
|
|
REPLACEMENT_OBJECT_LINK = 0x00000106
|
|
REPLACED_OBJECT_LINK = 0x00000107
|
|
# KMIP 1.2
|
|
PARENT_LINK = 0x00000108
|
|
CHILD_LINK = 0x00000109
|
|
PREVIOUS_LINK = 0x0000010A
|
|
NEXT_LINK = 0x0000010B
|
|
# KMIP 1.4
|
|
PKCS12_CERTIFICATE_LINK = 0x0000010C
|
|
PKCS12_PASSWORD_LINK = 0x0000010D
|
|
# KMIP 2.0
|
|
WRAPPING_KEY_LINK = 0x0000010E
|
|
|
|
|
|
class MaskGenerator(enum.Enum):
|
|
# KMIP 1.4
|
|
MGF1 = 0x00000001
|
|
|
|
|
|
class NameType(enum.Enum):
|
|
# KMIP 1.0
|
|
UNINTERPRETED_TEXT_STRING = 0x00000001
|
|
URI = 0x00000002
|
|
|
|
|
|
class NISTKeyType(enum.Enum):
|
|
# KMIP 2.0
|
|
PRIVATE_SIGNATURE_KEY = 0x00000001
|
|
PUBLIC_SIGNATURE_VERIFICATION_KEY = 0x00000002
|
|
SYMMETRIC_AUTHENTICATION_KEY = 0x00000003
|
|
PRIVATE_AUTHENTICATION_KEY = 0x00000004
|
|
PUBLIC_AUTHENTICATION_KEY = 0x00000005
|
|
SYMMETRIC_DATA_ENCRYPTION_KEY = 0x00000006
|
|
SYMMETRIC_KEY_WRAPPING_KEY = 0x00000007
|
|
SYMMETRIC_RANDOM_NUMBER_GENERATION_KEY = 0x00000008
|
|
SYMMETRIC_MASTER_KEY = 0x00000009
|
|
PRIVATE_KEY_TRANSPORT_KEY = 0x0000000A
|
|
PUBLIC_KEY_TRANSPORT_KEY = 0x0000000B
|
|
SYMMETRIC_KEY_AGREEMENT_KEY = 0x0000000C
|
|
PRIVATE_STATIC_KEY_AGREEMENT_KEY = 0x0000000D
|
|
PUBLIC_STATIC_KEY_AGREEMENT_KEY = 0x0000000E
|
|
PRIVATE_EPHEMERAL_KEY_AGREEMENT_KEY = 0x0000000F
|
|
PUBLIC_EPHEMERAL_KEY_AGREEMENT_KEY = 0x00000010
|
|
SYMMETRIC_AUTHORIZATION_KEY = 0x00000011
|
|
PRIVATE_AUTHORIZATION_KEY = 0x00000012
|
|
PUBLIC_AUTHORIZATION_KEY = 0x00000013
|
|
|
|
|
|
class ObjectGroupMember(enum.Enum):
|
|
# KMIP 1.1
|
|
GROUP_MEMBER_FRESH = 0x00000001
|
|
GROUP_MEMBER_DEFAULT = 0x00000002
|
|
|
|
|
|
class ObjectType(enum.Enum):
|
|
# KMIP 1.0
|
|
CERTIFICATE = 0x00000001
|
|
SYMMETRIC_KEY = 0x00000002
|
|
PUBLIC_KEY = 0x00000003
|
|
PRIVATE_KEY = 0x00000004
|
|
SPLIT_KEY = 0x00000005
|
|
TEMPLATE = 0x00000006 # Deprecated in KMIP 1.3, designated '(Reserved)' in KMIP 2.0
|
|
SECRET_DATA = 0x00000007
|
|
OPAQUE_DATA = 0x00000008
|
|
# KMIP 1.2
|
|
PGP_KEY = 0x00000009
|
|
# KMIP 2.0
|
|
CERTIFICATE_REQUEST = 0x0000000A
|
|
|
|
|
|
class OpaqueDataType(enum.Enum):
|
|
NONE = 0x80000000 # Not defined by the standard, but we need something.
|
|
# The standard does say that values starting 0x8xxxxxx
|
|
# are considered extensions
|
|
|
|
|
|
class Operation(enum.Enum):
|
|
# KMIP 1.0
|
|
CREATE = 0x00000001
|
|
CREATE_KEY_PAIR = 0x00000002
|
|
REGISTER = 0x00000003
|
|
REKEY = 0x00000004
|
|
DERIVE_KEY = 0x00000005
|
|
CERTIFY = 0x00000006
|
|
RECERTIFY = 0x00000007
|
|
LOCATE = 0x00000008
|
|
CHECK = 0x00000009
|
|
GET = 0x0000000A
|
|
GET_ATTRIBUTES = 0x0000000B
|
|
GET_ATTRIBUTE_LIST = 0x0000000C
|
|
ADD_ATTRIBUTE = 0x0000000D
|
|
MODIFY_ATTRIBUTE = 0x0000000E
|
|
DELETE_ATTRIBUTE = 0x0000000F
|
|
OBTAIN_LEASE = 0x00000010
|
|
GET_USAGE_ALLOCATION = 0x00000011
|
|
ACTIVATE = 0x00000012
|
|
REVOKE = 0x00000013
|
|
DESTROY = 0x00000014
|
|
ARCHIVE = 0x00000015
|
|
RECOVER = 0x00000016
|
|
VALIDATE = 0x00000017
|
|
QUERY = 0x00000018
|
|
CANCEL = 0x00000019
|
|
POLL = 0x0000001A
|
|
NOTIFY = 0x0000001B
|
|
PUT = 0x0000001C
|
|
# KMIP 1.1
|
|
REKEY_KEY_PAIR = 0x0000001D
|
|
DISCOVER_VERSIONS = 0x0000001E
|
|
# KMIP 1.2
|
|
ENCRYPT = 0x0000001F
|
|
DECRYPT = 0x00000020
|
|
SIGN = 0x00000021
|
|
SIGNATURE_VERIFY = 0x00000022
|
|
MAC = 0x00000023
|
|
MAC_VERIFY = 0x00000024
|
|
RNG_RETRIEVE = 0x00000025
|
|
RNG_SEED = 0x00000026
|
|
HASH = 0x00000027
|
|
CREATE_SPLIT_KEY = 0x00000028
|
|
JOIN_SPLIT_KEY = 0x00000029
|
|
# KMIP 1.4
|
|
IMPORT = 0x0000002A
|
|
EXPORT = 0x0000002B
|
|
# KMIP 2.0
|
|
LOG = 0x0000002C
|
|
LOGIN = 0x0000002D
|
|
LOGOUT = 0x0000002E
|
|
DELEGATED_LOGIN = 0x0000002F
|
|
ADJUST_ATTRIBUTE = 0x00000030
|
|
SET_ATTRIBUTE = 0x00000031
|
|
SET_ENDPOINT_ROLE = 0x00000032
|
|
PKCS_11 = 0x00000033
|
|
INTEROP = 0x00000034
|
|
REPROVISION = 0x00000035
|
|
|
|
|
|
class PaddingMethod(enum.Enum):
|
|
# KMIP 1.0
|
|
NONE = 0x00000001
|
|
OAEP = 0x00000002
|
|
PKCS5 = 0x00000003
|
|
SSL3 = 0x00000004
|
|
ZEROS = 0x00000005
|
|
ANSI_X923 = 0x00000006
|
|
ISO_10126 = 0x00000007
|
|
PKCS1v15 = 0x00000008
|
|
X931 = 0x00000009
|
|
PSS = 0x0000000A
|
|
|
|
|
|
class PKCS11Function(enum.Enum):
|
|
# KMIP 2.0
|
|
#
|
|
# These values are the 1-based offset count of the function in the
|
|
# CK_FUNCTION_LIST_3_0 structure as specified in the OASIS PKCS#11
|
|
# Cryptographic Token Interface Base Specification Version 3.0 document.
|
|
#
|
|
# The above document is not currently available, so this set of
|
|
# enumerations is intentionally left empty as a placeholder. It should
|
|
# be filled in in a future update.
|
|
PLACEHOLDER = 'Do not use this.'
|
|
|
|
|
|
class PKCS11ReturnCode(enum.Enum):
|
|
# KMIP 2.0
|
|
#
|
|
# These values are specified in the CK_RV values in the OASIS PKCS#11
|
|
# Cryptographic Token Interface Base Specification Version 3.0 document.
|
|
#
|
|
# The above document is not currently available, so this set of
|
|
# enumerations is intentionally left empty as a placeholder. It should
|
|
# be filled in in a future update.
|
|
PLACEHOLDER = 'Do not use this.'
|
|
|
|
|
|
class Policy(enum.Enum):
|
|
ALLOW_ALL = "Allow All"
|
|
ALLOW_OWNER = "Allow Owner"
|
|
DISALLOW_ALL = "Disallow All"
|
|
|
|
|
|
class ProfileName(enum.Enum):
|
|
# KMIP 1.3
|
|
BASELINE_SERVER_BASIC_KMIPv12 = 0x00000001
|
|
BASELINE_SERVER_TLSv12_KMIPv12 = 0x00000002
|
|
BASELINE_CLIENT_BASIC_KMIPv12 = 0x00000003
|
|
BASELINE_CLIENT_TLSv12_KMIPv12 = 0x00000004
|
|
COMPLETE_SERVER_BASIC_KMIPv12 = 0x00000005
|
|
COMPLETE_SERVER_TLSv12_KMIPv12 = 0x00000006
|
|
TAPE_LIBRARY_CLIENT_KMIPv10 = 0x00000007
|
|
TAPE_LIBRARY_CLIENT_KMIPv11 = 0x00000008
|
|
TAPE_LIBRARY_CLIENT_KMIPv12 = 0x00000009
|
|
TAPE_LIBRARY_SERVER_KMIPv10 = 0x0000000A
|
|
TAPE_LIBRARY_SERVER_KMIPv11 = 0x0000000B
|
|
TAPE_LIBRARY_SERVER_KMIPv12 = 0x0000000C
|
|
SYMMETRIC_KEY_LIFECYCLE_CLIENT_KMIPv10 = 0x0000000D
|
|
SYMMETRIC_KEY_LIFECYCLE_CLIENT_KMIPv11 = 0x0000000E
|
|
SYMMETRIC_KEY_LIFECYCLE_CLIENT_KMIPv12 = 0x0000000F
|
|
SYMMETRIC_KEY_LIFECYCLE_SERVER_KMIPv10 = 0x00000010
|
|
SYMMETRIC_KEY_LIFECYCLE_SERVER_KMIPv11 = 0x00000011
|
|
SYMMETRIC_KEY_LIFECYCLE_SERVER_KMIPv12 = 0x00000012
|
|
ASYMMETRIC_KEY_LIFECYCLE_CLIENT_KMIPv10 = 0x00000013
|
|
ASYMMETRIC_KEY_LIFECYCLE_CLIENT_KMIPv11 = 0x00000014
|
|
ASYMMETRIC_KEY_LIFECYCLE_CLIENT_KMIPv12 = 0x00000015
|
|
ASYMMETRIC_KEY_LIFECYCLE_SERVER_KMIPv10 = 0x00000016
|
|
ASYMMETRIC_KEY_LIFECYCLE_SERVER_KMIPv11 = 0x00000017
|
|
ASYMMETRIC_KEY_LIFECYCLE_SERVER_KMIPv12 = 0x00000018
|
|
BASIC_CRYPTOGRAPHIC_CLIENT_KMIPv12 = 0x00000019
|
|
BASIC_CRYPTOGRAPHIC_SERVER_KMIPv12 = 0x0000001A
|
|
ADVANCED_CRYPTOGRAPHIC_CLIENT_KMIPv12 = 0x0000001B
|
|
ADVANCED_CRYPTOGRAPHIC_SERVER_KMIPv12 = 0x0000001C
|
|
RNG_CRYPTOGRAPHIC_CLIENT_KMIPv12 = 0x0000001D
|
|
RNG_CRYPTOGRAPHIC_SERVER_KMIPv12 = 0x0000001E
|
|
BASIC_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv10 = 0x0000001F
|
|
INTERMEDIATE_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv10 = 0x00000020
|
|
ADVANCED_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv10 = 0x00000021
|
|
BASIC_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv11 = 0x00000022
|
|
INTERMEDIATE_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv11 = 0x00000023
|
|
ADVANCED_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv11 = 0x00000024
|
|
BASIC_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv12 = 0x00000025
|
|
INTERMEDIATE_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv12 = 0x00000026
|
|
ADVANCED_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv12 = 0x00000027
|
|
SYMMETRIC_KEY_FOUNDRY_SERVER_KMIPv10 = 0x00000028
|
|
SYMMETRIC_KEY_FOUNDRY_SERVER_KMIPv11 = 0x00000029
|
|
SYMMETRIC_KEY_FOUNDRY_SERVER_KMIPv12 = 0x0000002A
|
|
OPAQUE_MANAGED_OBJECT_STORE_CLIENT_KMIPv10 = 0x0000002B
|
|
OPAQUE_MANAGED_OBJECT_STORE_CLIENT_KMIPv11 = 0x0000002C
|
|
OPAQUE_MANAGED_OBJECT_STORE_CLIENT_KMIPv12 = 0x0000002D
|
|
OPAQUE_MANAGED_OBJECT_STORE_SERVER_KMIPv10 = 0x0000002E
|
|
OPAQUE_MANAGED_OBJECT_STORE_SERVER_KMIPv11 = 0x0000002F
|
|
OPAQUE_MANAGED_OBJECT_STORE_SERVER_KMIPv12 = 0x00000030
|
|
SUITE_B_MINLOS_128_CLIENT_KMIPv10 = 0x00000031
|
|
SUITE_B_MINLOS_128_CLIENT_KMIPv11 = 0x00000032
|
|
SUITE_B_MINLOS_128_CLIENT_KMIPv12 = 0x00000033
|
|
SUITE_B_MINLOS_128_SERVER_KMIPv10 = 0x00000034
|
|
SUITE_B_MINLOS_128_SERVER_KMIPv11 = 0x00000035
|
|
SUITE_B_MINLOS_128_SERVER_KMIPv12 = 0x00000036
|
|
SUITE_B_MINLOS_192_CLIENT_KMIPv10 = 0x00000037
|
|
SUITE_B_MINLOS_192_CLIENT_KMIPv11 = 0x00000038
|
|
SUITE_B_MINLOS_192_CLIENT_KMIPv12 = 0x00000039
|
|
SUITE_B_MINLOS_192_SERVER_KMIPv10 = 0x0000003A
|
|
SUITE_B_MINLOS_192_SERVER_KMIPv11 = 0x0000003B
|
|
SUITE_B_MINLOS_192_SERVER_KMIPv12 = 0x0000003C
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_CLIENT_KMIPv10 = 0x0000003D
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_CLIENT_KMIPv11 = 0x0000003E
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_CLIENT_KMIPv12 = 0x0000003F
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_SERVER_KMIPv10 = 0x00000040
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_SERVER_KMIPv11 = 0x00000041
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_SERVER_KMIPv12 = 0x00000042
|
|
HTTPS_CLIENT_KMIPv10 = 0x00000043
|
|
HTTPS_CLIENT_KMIPv11 = 0x00000044
|
|
HTTPS_CLIENT_KMIPv12 = 0x00000045
|
|
HTTPS_SERVER_KMIPv10 = 0x00000046
|
|
HTTPS_SERVER_KMIPv11 = 0x00000047
|
|
HTTPS_SERVER_KMIPv12 = 0x00000048
|
|
JSON_CLIENT_KMIPv10 = 0x00000049
|
|
JSON_CLIENT_KMIPv11 = 0x0000004A
|
|
JSON_CLIENT_KMIPv12 = 0x0000004B
|
|
JSON_SERVER_KMIPv10 = 0x0000004C
|
|
JSON_SERVER_KMIPv11 = 0x0000004D
|
|
JSON_SERVER_KMIPv12 = 0x0000004E
|
|
XML_CLIENT_KMIPv10 = 0x0000004F
|
|
XML_CLIENT_KMIPv11 = 0x00000050
|
|
XML_CLIENT_KMIPv12 = 0x00000051
|
|
XML_SERVER_KMIPv10 = 0x00000052
|
|
XML_SERVER_KMIPv11 = 0x00000053
|
|
XML_SERVER_KMIPv12 = 0x00000054
|
|
BASELINE_SERVER_BASIC_KMIPv13 = 0x00000055
|
|
BASELINE_SERVER_TLSv12_KMIPv13 = 0x00000056
|
|
BASELINE_CLIENT_BASIC_KMIPv13 = 0x00000057
|
|
BASELINE_CLIENT_TLSv12_KMIPv13 = 0x00000058
|
|
COMPLETE_SERVER_BASIC_KMIPv13 = 0x00000059
|
|
COMPLETE_SERVER_TLSv12_KMIPv13 = 0x0000005A
|
|
TAPE_LIBRARY_CLIENT_KMIPv13 = 0x0000005B
|
|
TAPE_LIBRARY_SERVER_KMIPv13 = 0x0000005C
|
|
SYMMETRIC_KEY_LIFECYCLE_CLIENT_KMIPv13 = 0x0000005D
|
|
SYMMETRIC_KEY_LIFECYCLE_SERVER_KMIPv13 = 0x0000005E
|
|
ASYMMETRIC_KEY_LIFECYCLE_CLIENT_KMIPv13 = 0x0000005F
|
|
ASYMMETRIC_KEY_LIFECYCLE_SERVER_KMIPv13 = 0x00000060
|
|
BASIC_CRYPTOGRAPHIC_CLIENT_KMIPv13 = 0x00000061
|
|
BASIC_CRYPTOGRAPHIC_SERVER_KMIPv13 = 0x00000062
|
|
ADVANCED_CRYPTOGRAPHIC_CLIENT_KMIPv13 = 0x00000063
|
|
ADVANCED_CRYPTOGRAPHIC_SERVER_KMIPv13 = 0x00000064
|
|
RNG_CRYPTOGRAPHIC_CLIENT_KMIPv13 = 0x00000065
|
|
RNG_CRYPTOGRAPHIC_SERVER_KMIPv13 = 0x00000066
|
|
BASIC_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv13 = 0x00000067
|
|
INTERMEDIATE_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv13 = 0x00000068
|
|
ADVANCED_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv13 = 0x00000069
|
|
SYMMETRIC_KEY_FOUNDRY_SERVER_KMIPv13 = 0x0000006A
|
|
OPAQUE_MANAGED_OBJECT_STORE_CLIENT_KMIPv13 = 0x0000006B
|
|
OPAQUE_MANAGED_OBJECT_STORE_SERVER_KMIPv13 = 0x0000006C
|
|
SUITE_B_MINLOS_128_CLIENT_KMIPv13 = 0x0000006D
|
|
SUITE_B_MINLOS_128_SERVER_KMIPv13 = 0x0000006E
|
|
SUITE_B_MINLOS_192_CLIENT_KMIPv13 = 0x0000006F
|
|
SUITE_B_MINLOS_192_SERVER_KMIPv13 = 0x00000070
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_CLIENT_KMIPv13 = 0x00000071
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_SERVER_KMIPv13 = 0x00000072
|
|
HTTPS_CLIENT_KMIPv13 = 0x00000073
|
|
HTTPS_SERVER_KMIPv13 = 0x00000074
|
|
JSON_CLIENT_KMIPv13 = 0x00000075
|
|
JSON_SERVER_KMIPv13 = 0x00000076
|
|
XML_CLIENT_KMIPv13 = 0x00000077
|
|
XML_SERVER_KMIPv13 = 0x00000078
|
|
# KMIP 1.4
|
|
BASELINE_SERVER_BASIC_KMIPv14 = 0x00000079
|
|
BASELINE_SERVER_TLSv12_KMIPv14 = 0x0000007A
|
|
BASELINE_CLIENT_BASIC_KMIPv14 = 0x0000007B
|
|
BASELINE_CLIENT_TLSv12_KMIPv14 = 0x0000007C
|
|
COMPLETE_SERVER_BASIC_KMIPv14 = 0x0000007D
|
|
COMPLETE_SERVER_TLSv12_KMIPv14 = 0x0000007E
|
|
TAPE_LIBRARY_CLIENT_KMIPv14 = 0x0000007F
|
|
TAPE_LIBRARY_SERVER_KMIPv14 = 0x00000080
|
|
SYMMETRIC_KEY_LIFECYCLE_CLIENT_KMIPv14 = 0x00000081
|
|
SYMMETRIC_KEY_LIFECYCLE_SERVER_KMIPv14 = 0x00000082
|
|
ASYMMETRIC_KEY_LIFECYCLE_CLIENT_KMIPv14 = 0x00000083
|
|
ASYMMETRIC_KEY_LIFECYCLE_SERVER_KMIPv14 = 0x00000084
|
|
BASIC_CRYPTOGRAPHIC_CLIENT_KMIPv14 = 0x00000085
|
|
BASIC_CRYPTOGRAPHIC_SERVER_KMIPv14 = 0x00000086
|
|
ADVANCED_CRYPTOGRAPHIC_CLIENT_KMIPv14 = 0x00000087
|
|
ADVANCED_CRYPTOGRAPHIC_SERVER_KMIPv14 = 0x00000088
|
|
RNG_CRYPTOGRAPHIC_CLIENT_KMIPv14 = 0x00000089
|
|
RNG_CRYPTOGRAPHIC_SERVER_KMIPv14 = 0x0000008A
|
|
BASIC_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv14 = 0x0000008B
|
|
INTERMEDIATE_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv14 = 0x0000008C
|
|
ADVANCED_SYMMETRIC_KEY_FOUNDRY_CLIENT_KMIPv14 = 0x0000008D
|
|
SYMMETRIC_KEY_FOUNDRY_SERVER_KMIPv14 = 0x0000008E
|
|
OPAQUE_MANAGED_OBJECT_STORE_CLIENT_KMIPv14 = 0x0000008F
|
|
OPAQUE_MANAGED_OBJECT_STORE_SERVER_KMIPv14 = 0x00000090
|
|
SUITE_B_MINLOS_128_CLIENT_KMIPv14 = 0x00000091
|
|
SUITE_B_MINLOS_128_SERVER_KMIPv14 = 0x00000092
|
|
SUITE_B_MINLOS_192_CLIENT_KMIPv14 = 0x00000093
|
|
SUITE_B_MINLOS_192_SERVER_KMIPv14 = 0x00000094
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_CLIENT_KMIPv14 = 0x00000095
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_SERVER_KMIPv14 = 0x00000096
|
|
HTTPS_CLIENT_KMIPv14 = 0x00000097
|
|
HTTPS_SERVER_KMIPv14 = 0x00000098
|
|
JSON_CLIENT_KMIPv14 = 0x00000099
|
|
JSON_SERVER_KMIPv14 = 0x0000009A
|
|
XML_CLIENT_KMIPv14 = 0x0000009B
|
|
XML_SERVER_KMIPv14 = 0x0000009C
|
|
# KMIP 2.0 - All of the above are now designated '(Reserved)' in KMIP 2.0
|
|
COMPLETE_SERVER_BASIC = 0x00000104
|
|
COMPLETE_SERVER_TLSv12 = 0x00000105
|
|
TAPE_LIBRARY_CLIENT = 0x00000106
|
|
TAPE_LIBRARY_SERVER = 0x00000107
|
|
SYMMETRIC_KEY_LIFECYCLE_CLIENT = 0x00000108
|
|
SYMMETRIC_KEY_LIFECYCLE_SERVER = 0x00000109
|
|
ASYMMETRIC_KEY_LIFECYCLE_CLIENT = 0x0000010A
|
|
ASYMMETRIC_KEY_LIFECYCLE_SERVER = 0x0000010B
|
|
BASIC_CRYPTOGRAPHIC_CLIENT = 0x0000010C
|
|
BASIC_CRYPTOGRAPHIC_SERVER = 0x0000010D
|
|
ADVANCED_CRYPTOGRAPHIC_CLIENT = 0x0000010E
|
|
ADVANCED_CRYPTOGRAPHIC_SERVER = 0x0000010F
|
|
RNG_CRYPTOGRAPHIC_CLIENT = 0x00000110
|
|
RNG_CRYPTOGRAPHIC_SERVER = 0x00000111
|
|
BASIC_SYMMETRIC_KEY_FOUNDRY_CLIENT = 0x00000112
|
|
INTERMEDIATE_SYMMETRIC_KEY_FOUNDRY_CLIENT = 0x00000113
|
|
ADVANCED_SYMMETRIC_KEY_FOUNDRY_CLIENT = 0x00000114
|
|
SYMMETRIC_KEY_FOUNDRY_SERVER = 0x00000115
|
|
OPAQUE_MANAGED_OBJECT_STORE_CLIENT = 0x00000116
|
|
OPAQUE_MANAGED_OBJECT_STORE_SERVER = 0x00000117
|
|
SUITE_B_MINLOS_128_CLIENT = 0x00000118
|
|
SUITE_B_MINLOS_128_SERVER = 0x00000119
|
|
SUITE_B_MINLOS_192_CLIENT = 0x0000011A
|
|
SUITE_B_MINLOS_192_SERVER = 0x0000011B
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_CLIENT = 0x0000011C
|
|
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_SERVER = 0x0000011D
|
|
HTTPS_CLIENT = 0x0000011E
|
|
HTTPS_SERVER = 0x0000011F
|
|
JSON_CLIENT = 0x00000120
|
|
JSON_SERVER = 0x00000121
|
|
XML_CLIENT = 0x00000122
|
|
XML_SERVER = 0x00000123
|
|
AES_XTS_CLIENT = 0x00000124
|
|
AES_XTS_SERVER = 0x00000125
|
|
QUANTUM_SAFE_CLIENT = 0x00000126
|
|
QUANTUM_SAFE_SERVER = 0x00000127
|
|
PKCS11_CLIENT = 0x00000128
|
|
PKCS11_SERVER = 0x00000129
|
|
BASELINE_CLIENT = 0x0000012A
|
|
BASELINE_SERVER = 0x0000012B
|
|
COMPLETE_SERVER = 0x0000012C
|
|
|
|
|
|
class ProtectionLevel(enum.Enum):
|
|
# KMIP 2.0
|
|
HIGH = 0x00000001
|
|
LOW = 0x00000002
|
|
|
|
|
|
class ProtectionStorageMask(enum.Enum):
|
|
# KMIP 2.0
|
|
SOFTWARE = 0x00000001
|
|
HARDWARE = 0x00000002
|
|
ON_PROCESSOR = 0x00000004
|
|
ON_SYSTEM = 0x00000008
|
|
OFF_SYSTEM = 0x00000010
|
|
HYPERVISOR = 0x00000020
|
|
OPERATING_SYSTEM = 0x00000040
|
|
CONTAINER = 0x00000080
|
|
ON_PREMISES = 0x00000100
|
|
OFF_PREMISES = 0x00000200
|
|
SELF_MANAGED = 0x00000400
|
|
OUTSOURCED = 0x00000800
|
|
VALIDATED = 0x00001000
|
|
SAME_JURISDICTION = 0x00002000
|
|
|
|
|
|
class PutFunction(enum.Enum):
|
|
# KMIP 1.0
|
|
NEW = 0x00000001
|
|
REPLACE = 0x00000002
|
|
|
|
|
|
class QueryFunction(enum.Enum):
|
|
# KMIP 1.0
|
|
QUERY_OPERATIONS = 0x00000001
|
|
QUERY_OBJECTS = 0x00000002
|
|
QUERY_SERVER_INFORMATION = 0x00000003
|
|
QUERY_APPLICATION_NAMESPACES = 0x00000004
|
|
# KMIP 1.1
|
|
QUERY_EXTENSION_LIST = 0x00000005
|
|
QUERY_EXTENSION_MAP = 0x00000006
|
|
# KMIP 1.2
|
|
QUERY_ATTESTATION_TYPES = 0x00000007
|
|
# KMIP 1.3
|
|
QUERY_RNGS = 0x00000008
|
|
QUERY_VALIDATIONS = 0x00000009
|
|
QUERY_PROFILES = 0x0000000A
|
|
QUERY_CAPABILITIES = 0x0000000B
|
|
QUERY_CLIENT_REGISTRATION_METHODS = 0x0000000C
|
|
# KMIP 2.0
|
|
QUERY_DEFAULTS_INFORMATION = 0x0000000D
|
|
QUERY_STORAGE_PROTECTION_MASKS = 0x0000000E
|
|
|
|
|
|
class RecommendedCurve(enum.Enum):
|
|
# KMIP 1.0
|
|
P_192 = 0x00000001
|
|
K_163 = 0x00000002
|
|
B_163 = 0x00000003
|
|
P_224 = 0x00000004
|
|
K_233 = 0x00000005
|
|
B_233 = 0x00000006
|
|
P_256 = 0x00000007
|
|
K_283 = 0x00000008
|
|
B_283 = 0x00000009
|
|
P_384 = 0x0000000A
|
|
K_409 = 0x0000000B
|
|
B_409 = 0x0000000C
|
|
P_521 = 0x0000000D
|
|
K_571 = 0x0000000E
|
|
B_571 = 0x0000000F
|
|
# KMIP 1.2
|
|
SECP112R1 = 0x00000010
|
|
SECP112R2 = 0x00000011
|
|
SECP128R1 = 0x00000012
|
|
SECP128R2 = 0x00000013
|
|
SECP160K1 = 0x00000014
|
|
SECP160R1 = 0x00000015
|
|
SECP160R2 = 0x00000016
|
|
SECP191K1 = 0x00000017
|
|
SECP224K1 = 0x00000018
|
|
SECP256K1 = 0x00000019
|
|
SECT113R1 = 0x0000001A
|
|
SECT113R2 = 0x0000001B
|
|
SECT131R1 = 0x0000001C
|
|
SECT131R2 = 0x0000001D
|
|
SECT163R1 = 0x0000001E
|
|
SECT193R1 = 0x0000001F
|
|
SECT193R2 = 0x00000020
|
|
SECT239K1 = 0x00000021
|
|
ANSIX9P192V2 = 0x00000022
|
|
ANSIX9P192V3 = 0x00000023
|
|
ANSIX9P239V1 = 0x00000024
|
|
ANSIX9P239V2 = 0x00000025
|
|
ANSIX9P239V3 = 0x00000026
|
|
ANSIX9C2PNB163V1 = 0x00000027
|
|
ANSIX9C2PNB163V2 = 0x00000028
|
|
ANSIX9C2PNB163V3 = 0x00000029
|
|
ANSIX9C2PNB176V1 = 0x0000002A
|
|
ANSIX9C2TNB191V1 = 0x0000002B
|
|
ANSIX9C2TNB191V2 = 0x0000002C
|
|
ANSIX9C2TNB191V3 = 0x0000002D
|
|
ANSIX9C2PNB208W1 = 0x0000002E
|
|
ANSIX9C2TNB239V1 = 0x0000002F
|
|
ANSIX9C2TNB239V2 = 0x00000030
|
|
ANSIX9C2TNB239V3 = 0x00000031
|
|
ANSIX9C2PNB272W1 = 0x00000032
|
|
ANSIX9C2PNB304W1 = 0x00000033
|
|
ANSIX9C2TNB359V1 = 0x00000034
|
|
ANSIX9C2PNB368W1 = 0x00000035
|
|
ANSIX9C2TNB431R1 = 0x00000036
|
|
BRAINPOOLP160R1 = 0x00000037
|
|
BRAINPOOLP160T1 = 0x00000038
|
|
BRAINPOOLP192R1 = 0x00000039
|
|
BRAINPOOLP192T1 = 0x0000003A
|
|
BRAINPOOLP224R1 = 0x0000003B
|
|
BRAINPOOLP224T1 = 0x0000003C
|
|
BRAINPOOLP256R1 = 0x0000003D
|
|
BRAINPOOLP256T1 = 0x0000003E
|
|
BRAINPOOLP320R1 = 0x0000003F
|
|
BRAINPOOLP320T1 = 0x00000040
|
|
BRAINPOOLP384R1 = 0x00000041
|
|
BRAINPOOLP384T1 = 0x00000042
|
|
BRAINPOOLP512R1 = 0x00000043
|
|
BRAINPOOLP512T1 = 0x00000044
|
|
# KMIP 2.0
|
|
CURVE25519 = 0x00000045
|
|
CURVE448 = 0x00000046
|
|
|
|
|
|
class ResultReason(enum.Enum):
|
|
# KMIP 1.0
|
|
ITEM_NOT_FOUND = 0x00000001
|
|
RESPONSE_TOO_LARGE = 0x00000002
|
|
AUTHENTICATION_NOT_SUCCESSFUL = 0x00000003
|
|
INVALID_MESSAGE = 0x00000004
|
|
OPERATION_NOT_SUPPORTED = 0x00000005
|
|
MISSING_DATA = 0x00000006
|
|
INVALID_FIELD = 0x00000007
|
|
FEATURE_NOT_SUPPORTED = 0x00000008
|
|
OPERATION_CANCELED_BY_REQUESTER = 0x00000009
|
|
CRYPTOGRAPHIC_FAILURE = 0x0000000A
|
|
ILLEGAL_OPERATION = 0x0000000B
|
|
PERMISSION_DENIED = 0x0000000C
|
|
OBJECT_ARCHIVED = 0x0000000D
|
|
INDEX_OUT_OF_BOUNDS = 0x0000000E
|
|
APPLICATION_NAMESPACE_NOT_SUPPORTED = 0x0000000F
|
|
KEY_FORMAT_TYPE_NOT_SUPPORTED = 0x00000010
|
|
KEY_COMPRESSION_TYPE_NOT_SUPPORTED = 0x00000011
|
|
ENCODING_OPTION_ERROR = 0x00000012
|
|
KEY_VALUE_NOT_PRESENT = 0x00000013
|
|
ATTESTATION_REQUIRED = 0x00000014
|
|
ATTESTATION_FAILED = 0x00000015
|
|
SENSITIVE = 0x00000016
|
|
NOT_EXTRACTABLE = 0x00000017
|
|
OBJECT_ALREADY_EXISTS = 0x00000018
|
|
GENERAL_FAILURE = 0x00000100
|
|
# KMIP 2.0
|
|
INVALID_TICKET = 0x00000019
|
|
USAGE_LIMIT_EXCEEDED = 0x0000001A
|
|
NUMERIC_RANGE = 0x0000001B
|
|
INVALID_DATA_TYPE = 0x0000001C
|
|
READ_ONLY_ATTRIBUTE = 0x0000001D
|
|
MULTI_VALUED_ATTRIBUTE = 0x0000001E
|
|
UNSUPPORTED_ATTRIBUTE = 0x0000001F
|
|
ATTRIBUTE_INSTANCE_NOT_FOUND = 0x00000020
|
|
ATTRIBUTE_NOT_FOUND = 0x00000021
|
|
ATTRIBUTE_READ_ONLY = 0x00000022
|
|
ATTRIBUTE_SINGLE_VALUED = 0x00000023
|
|
BAD_CRYPTOGRAPHIC_PARAMETERS = 0x00000024
|
|
BAD_PASSWORD = 0x00000025
|
|
CODEC_ERROR = 0x00000026
|
|
# 0x00000027 is designated '(Reserved)' in KMIP 2.0
|
|
ILLEGAL_OBJECT_TYPE = 0x00000028
|
|
INCOMPATIBLE_CRYPTOGRAPHIC_USAGE_MASK = 0x00000029
|
|
INTERNAL_SERVER_ERROR = 0x0000002A
|
|
INVALID_ASYNCHRONOUS_CORRELATION_VALUE = 0x0000002B
|
|
INVALID_ATTRIBUTE = 0x0000002C
|
|
INVALID_ATTRIBUTE_VALUE = 0x0000002D
|
|
INVALID_CORRELATION_VALUE = 0x0000002E
|
|
INVALID_CSR = 0x0000002F
|
|
INVALID_OBJECT_TYPE = 0x00000030
|
|
# 0x00000031 is designated '(Reserved)' in KMIP 2.0
|
|
KEY_WRAP_TYPE_NOT_SUPPORTED = 0x00000032
|
|
# 0x00000033 is designated '(Reserved)' in KMIP 2.0
|
|
MISSING_INITIALIZATION_VECTOR = 0x00000034
|
|
NON_UNIQUE_NAME_ATTRIBUTE = 0x00000035
|
|
OBJECT_DESTROYED = 0x00000036
|
|
OBJECT_NOT_FOUND = 0x00000037
|
|
# 0x00000038 is unassigned
|
|
NOT_AUTHORISED = 0x00000039
|
|
SERVER_LIMIT_EXCEEDED = 0x0000003A
|
|
UNKNOWN_ENUMERATION = 0x0000003B
|
|
UNKNOWN_MESSAGE_EXTENSION = 0x0000003C
|
|
UNKNOWN_TAG = 0x0000003D
|
|
UNSUPPORTED_CRYPTOGRAPHIC_PARAMETERS = 0x0000003E
|
|
UNSUPPORTED_PROTOCOL_VERSION = 0x0000003F
|
|
WRAPPING_OBJECT_ARCHIVED = 0x00000040
|
|
WRAPPING_OBJECT_DESTROYED = 0x00000041
|
|
WRAPPING_OBJECT_NOT_FOUND = 0x00000042
|
|
WRONG_KEY_LIFECYCLE_STATE = 0x00000043
|
|
PROTECTION_STORAGE_UNAVAILABLE = 0x00000044
|
|
PKCS11_CODEC_ERROR = 0x00000045
|
|
PKCS11_INVALID_FUNCTION = 0x00000046
|
|
PKCS11_INVALID_INTERFACE = 0x00000047
|
|
|
|
|
|
class ResultStatus(enum.Enum):
|
|
# KMIP 1.0
|
|
SUCCESS = 0x00000000
|
|
OPERATION_FAILED = 0x00000001
|
|
OPERATION_PENDING = 0x00000002
|
|
OPERATION_UNDONE = 0x00000003
|
|
|
|
|
|
class RevocationReasonCode(enum.Enum):
|
|
# KMIP 1.0
|
|
UNSPECIFIED = 0x00000001
|
|
KEY_COMPROMISE = 0x00000002
|
|
CA_COMPROMISE = 0x00000003
|
|
AFFILIATION_CHANGED = 0x00000004
|
|
SUPERSEDED = 0x00000005
|
|
CESSATION_OF_OPERATION = 0x00000006
|
|
PRIVILEGE_WITHDRAWN = 0x00000007
|
|
|
|
|
|
class RNGAlgorithm(enum.Enum):
|
|
# KMIP 1.3
|
|
UNSPECIFIED = 0x00000001
|
|
FIPS186_2 = 0x00000002
|
|
DRBG = 0x00000003
|
|
NRBG = 0x00000004
|
|
ANSI_X931 = 0x00000005
|
|
ANSI_X962 = 0x00000006
|
|
|
|
|
|
class RNGMode(enum.Enum):
|
|
# KMIP 1.3
|
|
UNSPECIFIED = 0x00000001
|
|
SHARED_INSTANTIATION = 0x00000002
|
|
NON_SHARED_INSTANTIATION = 0x00000003
|
|
|
|
|
|
class SecretDataType(enum.Enum):
|
|
# KMIP 1.0
|
|
PASSWORD = 0x00000001
|
|
SEED = 0x00000002
|
|
|
|
|
|
class ShreddingAlgorithm(enum.Enum):
|
|
# KMIP 1.3
|
|
UNSPECIFIED = 0x00000001
|
|
CRYPTOGRAPHIC = 0x00000002
|
|
UNSUPPORTED = 0x00000003
|
|
|
|
|
|
class SplitKeyMethod(enum.Enum):
|
|
# KMIP 1.0
|
|
XOR = 0x00000001
|
|
POLYNOMIAL_SHARING_GF_2_16 = 0x00000002
|
|
POLYNOMIAL_SHARING_PRIME_FIELD = 0x00000003
|
|
# KMIP 1.2
|
|
POLYNOMIAL_SHARING_GF_2_8 = 0x00000004
|
|
|
|
|
|
class State(enum.Enum):
|
|
# KMIP 1.0
|
|
PRE_ACTIVE = 0x00000001
|
|
ACTIVE = 0x00000002
|
|
DEACTIVATED = 0x00000003
|
|
COMPROMISED = 0x00000004
|
|
DESTROYED = 0x00000005
|
|
DESTROYED_COMPROMISED = 0x00000006
|
|
|
|
|
|
class StorageStatusMask(enum.Enum):
|
|
# KMIP 1.0
|
|
ONLINE_STORAGE = 0x00000001
|
|
ARCHIVAL_STORAGE = 0x00000002
|
|
# KMIP 2.0
|
|
DESTROYED_STORAGE = 0x00000004
|
|
|
|
|
|
class Tags(enum.Enum):
|
|
DEFAULT = 0x420000 # Custom PyKMIP tag used as the global default
|
|
# KMIP 1.0
|
|
ACTIVATION_DATE = 0x420001
|
|
APPLICATION_DATA = 0x420002
|
|
APPLICATION_NAMESPACE = 0x420003
|
|
APPLICATION_SPECIFIC_INFORMATION = 0x420004
|
|
ARCHIVE_DATE = 0x420005
|
|
ASYNCHRONOUS_CORRELATION_VALUE = 0x420006
|
|
ASYNCHRONOUS_INDICATOR = 0x420007
|
|
ATTRIBUTE = 0x420008
|
|
ATTRIBUTE_INDEX = 0x420009 # Designated '(Reserved)' in KMIP 2.0
|
|
ATTRIBUTE_NAME = 0x42000A
|
|
ATTRIBUTE_VALUE = 0x42000B
|
|
AUTHENTICATION = 0x42000C
|
|
BATCH_COUNT = 0x42000D
|
|
BATCH_ERROR_CONTINUATION_OPTION = 0x42000E
|
|
BATCH_ITEM = 0x42000F
|
|
BATCH_ORDER_OPTION = 0x420010
|
|
BLOCK_CIPHER_MODE = 0x420011
|
|
CANCELLATION_RESULT = 0x420012
|
|
CERTIFICATE = 0x420013
|
|
CERTIFICATE_IDENTIFIER = 0x420014 # Deprecated, designated '(Reserved)' in KMIP 2.0
|
|
CERTIFICATE_ISSUER = 0x420015 # Deprecated, designated '(Reserved)' in KMIP 2.0
|
|
CERTIFICATE_ISSUER_ALTERNATIVE_NAME = 0x420016 # Deprecated, designated '(Reserved)' in KMIP 2.0
|
|
CERTIFICATE_ISSUER_DISTINGUISHED_NAME = 0x420017 # Deprecated, designated '(Reserved)' in KMIP 2.0
|
|
CERTIFICATE_REQUEST = 0x420018
|
|
CERTIFICATE_REQUEST_TYPE = 0x420019
|
|
CERTIFICATE_SUBJECT = 0x42001A # Deprecated, designated '(Reserved)' in KMIP 2.0
|
|
CERTIFICATE_SUBJECT_ALTERNATIVE_NAME = 0x42001B # Deprecated, designated '(Reserved)' in KMIP 2.0
|
|
CERTIFICATE_SUBJECT_DISTINGUISHED_NAME = 0x42001C # Deprecated, designated '(Reserved)' in KMIP 2.0
|
|
CERTIFICATE_TYPE = 0x42001D
|
|
CERTIFICATE_VALUE = 0x42001E
|
|
COMMON_TEMPLATE_ATTRIBUTE = 0x42001F # Designated '(Reserved)' in KMIP 2.0
|
|
COMPROMISE_DATE = 0x420020
|
|
COMPROMISE_OCCURRENCE_DATE = 0x420021
|
|
CONTACT_INFORMATION = 0x420022
|
|
CREDENTIAL = 0x420023
|
|
CREDENTIAL_TYPE = 0x420024
|
|
CREDENTIAL_VALUE = 0x420025
|
|
CRITICALITY_INDICATOR = 0x420026
|
|
CRT_COEFFICIENT = 0x420027
|
|
CRYPTOGRAPHIC_ALGORITHM = 0x420028
|
|
CRYPTOGRAPHIC_DOMAIN_PARAMETERS = 0x420029
|
|
CRYPTOGRAPHIC_LENGTH = 0x42002A
|
|
CRYPTOGRAPHIC_PARAMETERS = 0x42002B
|
|
CRYPTOGRAPHIC_USAGE_MASK = 0x42002C
|
|
CUSTOM_ATTRIBUTE = 0x42002D # Designated '(Reserved)' in KMIP 2.0
|
|
D = 0x42002E
|
|
DEACTIVATION_DATE = 0x42002F
|
|
DERIVATION_DATA = 0x420030
|
|
DERIVATION_METHOD = 0x420031
|
|
DERIVATION_PARAMETERS = 0x420032
|
|
DESTROY_DATE = 0x420033
|
|
DIGEST = 0x420034
|
|
DIGEST_VALUE = 0x420035
|
|
ENCRYPTION_KEY_INFORMATION = 0x420036
|
|
G = 0x420037
|
|
HASHING_ALGORITHM = 0x420038
|
|
INITIAL_DATE = 0x420039
|
|
INITIALIZATION_VECTOR = 0x42003A
|
|
ISSUER = 0x42003B # Deprecated, designated '(Reserved)' in KMIP 2.0
|
|
ITERATION_COUNT = 0x42003C
|
|
IV_COUNTER_NONCE = 0x42003D
|
|
J = 0x42003E
|
|
KEY = 0x42003F
|
|
KEY_BLOCK = 0x420040
|
|
KEY_COMPRESSION_TYPE = 0x420041
|
|
KEY_FORMAT_TYPE = 0x420042
|
|
KEY_MATERIAL = 0x420043
|
|
KEY_PART_IDENTIFIER = 0x420044
|
|
KEY_VALUE = 0x420045
|
|
KEY_WRAPPING_DATA = 0x420046
|
|
KEY_WRAPPING_SPECIFICATION = 0x420047
|
|
LAST_CHANGE_DATE = 0x420048
|
|
LEASE_TIME = 0x420049
|
|
LINK = 0x42004A
|
|
LINK_TYPE = 0x42004B
|
|
LINKED_OBJECT_IDENTIFIER = 0x42004C
|
|
MAC_SIGNATURE = 0x42004D
|
|
MAC_SIGNATURE_KEY_INFORMATION = 0x42004E
|
|
MAXIMUM_ITEMS = 0x42004F
|
|
MAXIMUM_RESPONSE_SIZE = 0x420050
|
|
MESSAGE_EXTENSION = 0x420051
|
|
MODULUS = 0x420052
|
|
NAME = 0x420053
|
|
NAME_TYPE = 0x420054
|
|
NAME_VALUE = 0x420055
|
|
OBJECT_GROUP = 0x420056
|
|
OBJECT_TYPE = 0x420057
|
|
OFFSET = 0x420058
|
|
OPAQUE_DATA_TYPE = 0x420059
|
|
OPAQUE_DATA_VALUE = 0x42005A
|
|
OPAQUE_OBJECT = 0x42005B
|
|
OPERATION = 0x42005C
|
|
OPERATION_POLICY_NAME = 0x42005D # Designated '(Reserved)' in KMIP 2.0
|
|
P = 0x42005E
|
|
PADDING_METHOD = 0x42005F
|
|
PRIME_EXPONENT_P = 0x420060
|
|
PRIME_EXPONENT_Q = 0x420061
|
|
PRIME_FIELD_SIZE = 0x420062
|
|
PRIVATE_EXPONENT = 0x420063
|
|
PRIVATE_KEY = 0x420064
|
|
PRIVATE_KEY_TEMPLATE_ATTRIBUTE = 0x420065 # Designated '(Reserved)' in KMIP 2.0
|
|
PRIVATE_KEY_UNIQUE_IDENTIFIER = 0x420066
|
|
PROCESS_START_DATE = 0x420067
|
|
PROTECT_STOP_DATE = 0x420068
|
|
PROTOCOL_VERSION = 0x420069
|
|
PROTOCOL_VERSION_MAJOR = 0x42006A
|
|
PROTOCOL_VERSION_MINOR = 0x42006B
|
|
PUBLIC_EXPONENT = 0x42006C
|
|
PUBLIC_KEY = 0x42006D
|
|
PUBLIC_KEY_TEMPLATE_ATTRIBUTE = 0x42006E # Designated '(Reserved)' in KMIP 2.0
|
|
PUBLIC_KEY_UNIQUE_IDENTIFIER = 0x42006F
|
|
PUT_FUNCTION = 0x420070
|
|
Q = 0x420071
|
|
Q_STRING = 0x420072
|
|
QLENGTH = 0x420073
|
|
QUERY_FUNCTION = 0x420074
|
|
RECOMMENDED_CURVE = 0x420075
|
|
REPLACED_UNIQUE_IDENTIFIER = 0x420076
|
|
REQUEST_BATCH_ITEM = 0x42000F
|
|
REQUEST_HEADER = 0x420077
|
|
REQUEST_MESSAGE = 0x420078
|
|
REQUEST_PAYLOAD = 0x420079
|
|
RESPONSE_BATCH_ITEM = 0x42000F
|
|
RESPONSE_HEADER = 0x42007A
|
|
RESPONSE_MESSAGE = 0x42007B
|
|
RESPONSE_PAYLOAD = 0x42007C
|
|
RESULT_MESSAGE = 0x42007D
|
|
RESULT_REASON = 0x42007E
|
|
RESULT_STATUS = 0x42007F
|
|
REVOCATION_MESSAGE = 0x420080
|
|
REVOCATION_REASON = 0x420081
|
|
REVOCATION_REASON_CODE = 0x420082
|
|
KEY_ROLE_TYPE = 0x420083
|
|
SALT = 0x420084
|
|
SECRET_DATA = 0x420085
|
|
SECRET_DATA_TYPE = 0x420086
|
|
SERIAL_NUMBER = 0x420087 # Deprecated, designated '(Reserved)' in KMIP 2.0
|
|
SERVER_INFORMATION = 0x420088
|
|
SPLIT_KEY = 0x420089
|
|
SPLIT_KEY_METHOD = 0x42008A
|
|
SPLIT_KEY_PARTS = 0x42008B
|
|
SPLIT_KEY_THRESHOLD = 0x42008C
|
|
STATE = 0x42008D
|
|
STORAGE_STATUS_MASK = 0x42008E
|
|
SYMMETRIC_KEY = 0x42008F
|
|
TEMPLATE = 0x420090 # Designated '(Reserved)' in KMIP 2.0
|
|
TEMPLATE_ATTRIBUTE = 0x420091 # Designated '(Reserved)' in KMIP 2.0
|
|
TIME_STAMP = 0x420092
|
|
UNIQUE_BATCH_ITEM_ID = 0x420093
|
|
UNIQUE_IDENTIFIER = 0x420094
|
|
USAGE_LIMITS = 0x420095
|
|
USAGE_LIMITS_COUNT = 0x420096
|
|
USAGE_LIMITS_TOTAL = 0x420097
|
|
USAGE_LIMITS_UNIT = 0x420098
|
|
USERNAME = 0x420099
|
|
VALIDITY_DATE = 0x42009A
|
|
VALIDITY_INDICATOR = 0x42009B
|
|
VENDOR_EXTENSION = 0x42009C
|
|
VENDOR_IDENTIFICATION = 0x42009D
|
|
WRAPPING_METHOD = 0x42009E
|
|
X = 0x42009F
|
|
Y = 0x4200A0
|
|
PASSWORD = 0x4200A1
|
|
# KMIP 1.1
|
|
DEVICE_IDENTIFIER = 0x4200A2
|
|
ENCODING_OPTION = 0x4200A3
|
|
EXTENSION_INFORMATION = 0x4200A4
|
|
EXTENSION_NAME = 0x4200A5
|
|
EXTENSION_TAG = 0x4200A6
|
|
EXTENSION_TYPE = 0x4200A7
|
|
FRESH = 0x4200A8
|
|
MACHINE_IDENTIFIER = 0x4200A9
|
|
MEDIA_IDENTIFIER = 0x4200AA
|
|
NETWORK_IDENTIFIER = 0x4200AB
|
|
OBJECT_GROUP_MEMBER = 0x4200AC
|
|
CERTIFICATE_LENGTH = 0x4200AD
|
|
DIGITAL_SIGNATURE_ALGORITHM = 0x4200AE
|
|
CERTIFICATE_SERIAL_NUMBER = 0x4200AF
|
|
DEVICE_SERIAL_NUMBER = 0x4200B0
|
|
ISSUER_ALTERNATIVE_NAME = 0x4200B1
|
|
ISSUER_DISTINGUISHED_NAME = 0x4200B2
|
|
SUBJECT_ALTERNATIVE_NAME = 0x4200B3
|
|
SUBJECT_DISTINGUISHED_NAME = 0x4200B4
|
|
X_509_CERTIFICATE_IDENTIFIER = 0x4200B5
|
|
X_509_CERTIFICATE_ISSUER = 0x4200B6
|
|
X_509_CERTIFICATE_SUBJECT = 0x4200B7
|
|
# KMIP 1.2
|
|
KEY_VALUE_LOCATION = 0x4200B8
|
|
KEY_VALUE_LOCATION_VALUE = 0x4200B9
|
|
KEY_VALUE_LOCATION_TYPE = 0x4200BA
|
|
KEY_VALUE_PRESENT = 0x4200BB
|
|
ORIGINAL_CREATION_DATE = 0x4200BC
|
|
PGP_KEY = 0x4200BD
|
|
PGP_KEY_VERSION = 0x4200BE
|
|
ALTERNATIVE_NAME = 0x4200BF
|
|
ALTERNATIVE_NAME_VALUE = 0x4200C0
|
|
ALTERNATIVE_NAME_TYPE = 0x4200C1
|
|
DATA = 0x4200C2
|
|
SIGNATURE_DATA = 0x4200C3
|
|
DATA_LENGTH = 0x4200C4
|
|
RANDOM_IV = 0x4200C5
|
|
MAC_DATA = 0x4200C6
|
|
ATTESTATION_TYPE = 0x4200C7
|
|
NONCE = 0x4200C8
|
|
NONCE_ID = 0x4200C9
|
|
NONCE_VALUE = 0x4200CA
|
|
ATTESTATION_MEASUREMENT = 0x4200CB
|
|
ATTESTATION_ASSERTION = 0x4200CC
|
|
IV_LENGTH = 0x4200CD
|
|
TAG_LENGTH = 0x4200CE
|
|
FIXED_FIELD_LENGTH = 0x4200CF
|
|
COUNTER_LENGTH = 0x4200D0
|
|
INITIAL_COUNTER_VALUE = 0x4200D1
|
|
INVOCATION_FIELD_LENGTH = 0x4200D2
|
|
ATTESTATION_CAPABLE_INDICATOR = 0x4200D3
|
|
# KMIP 1.3
|
|
OFFSET_ITEMS = 0x4200D4
|
|
LOCATED_ITEMS = 0x4200D5
|
|
CORRELATION_VALUE = 0x4200D6
|
|
INIT_INDICATOR = 0x4200D7
|
|
FINAL_INDICATOR = 0x4200D8
|
|
RNG_PARAMETERS = 0x4200D9
|
|
RNG_ALGORITHM = 0x4200DA
|
|
DRBG_ALGORITHM = 0x4200DB
|
|
FIPS186_VARIATION = 0x4200DC
|
|
PREDICTION_RESISTANCE = 0x4200DD
|
|
RANDOM_NUMBER_GENERATOR = 0x4200DE
|
|
VALIDATION_INFORMATION = 0x4200DF
|
|
VALIDATION_AUTHORITY_TYPE = 0x4200E0
|
|
VALIDATION_AUTHORITY_COUNTRY = 0x4200E1
|
|
VALIDATION_AUTHORITY_URI = 0x4200E2
|
|
VALIDATION_VERSION_MAJOR = 0x4200E3
|
|
VALIDATION_VERSION_MINOR = 0x4200E4
|
|
VALIDATION_TYPE = 0x4200E5
|
|
VALIDATION_LEVEL = 0x4200E6
|
|
VALIDATION_CERTIFICATE_IDENTIFIER = 0x4200E7
|
|
VALIDATION_CERTIFICATE_URI = 0x4200E8
|
|
VALIDATION_VENDOR_URI = 0x4200E9
|
|
VALIDATION_PROFILE = 0x4200EA
|
|
PROFILE_INFORMATION = 0x4200EB
|
|
PROFILE_NAME = 0x4200EC
|
|
SERVER_URI = 0x4200ED
|
|
SERVER_PORT = 0x4200EE
|
|
STREAMING_CAPABILITY = 0x4200EF
|
|
ASYNCHRONOUS_CAPABILITY = 0x4200F0
|
|
ATTESTATION_CAPABILITY = 0x4200F1
|
|
UNWRAP_MODE = 0x4200F2
|
|
DESTROY_ACTION = 0x4200F3
|
|
SHREDDING_ALGORITHM = 0x4200F4
|
|
RNG_MODE = 0x4200F5
|
|
CLIENT_REGISTRATION_METHOD = 0x4200F6
|
|
CAPABILITY_INFORMATION = 0x4200F7
|
|
# KMIP 1.4
|
|
KEY_WRAP_TYPE = 0x4200F8
|
|
BATCH_UNDO_CAPABILITY = 0x4200F9
|
|
BATCH_CONTINUE_CAPABILITY = 0x4200FA
|
|
PKCS12_FRIENDLY_NAME = 0x4200FB
|
|
DESCRIPTION = 0x4200FC
|
|
COMMENT = 0x4200FD
|
|
AUTHENTICATED_ENCRYPTION_ADDITIONAL_DATA = 0x4200FE
|
|
AUTHENTICATED_ENCRYPTION_TAG = 0x4200FF
|
|
SALT_LENGTH = 0x420100
|
|
MASK_GENERATOR = 0x420101
|
|
MASK_GENERATOR_HASHING_ALGORITHM = 0x420102
|
|
P_SOURCE = 0x420103
|
|
TRAILER_FIELD = 0x420104
|
|
CLIENT_CORRELATION_VALUE = 0x420105
|
|
SERVER_CORRELATION_VALUE = 0x420106
|
|
DIGESTED_DATA = 0x420107
|
|
CERTIFICATE_SUBJECT_CN = 0x420108
|
|
CERTIFICATE_SUBJECT_O = 0x420109
|
|
CERTIFICATE_SUBJECT_OU = 0x42010A
|
|
CERTIFICATE_SUBJECT_EMAIL = 0x42010B
|
|
CERTIFICATE_SUBJECT_C = 0x42010C
|
|
CERTIFICATE_SUBJECT_ST = 0x42010D
|
|
CERTIFICATE_SUBJECT_L = 0x42010E
|
|
CERTIFICATE_SUBJECT_UID = 0x42010F
|
|
CERTIFICATE_SUBJECT_SERIAL_NUMBER = 0x420110
|
|
CERTIFICATE_SUBJECT_TITLE = 0x420111
|
|
CERTIFICATE_SUBJECT_DC = 0x420112
|
|
CERTIFICATE_SUBJECT_DN_QUALIFIER = 0x420113
|
|
CERTIFICATE_ISSUER_CN = 0x420114
|
|
CERTIFICATE_ISSUER_O = 0x420115
|
|
CERTIFICATE_ISSUER_OU = 0x420116
|
|
CERTIFICATE_ISSUER_EMAIL = 0x420117
|
|
CERTIFICATE_ISSUER_C = 0x420118
|
|
CERTIFICATE_ISSUER_ST = 0x420119
|
|
CERTIFICATE_ISSUER_L = 0x42011A
|
|
CERTIFICATE_ISSUER_UID = 0x42011B
|
|
CERTIFICATE_ISSUER_SERIAL_NUMBER = 0x42011C
|
|
CERTIFICATE_ISSUER_TITLE = 0x42011D
|
|
CERTIFICATE_ISSUER_DC = 0x42011E
|
|
CERTIFICATE_ISSUER_DN_QUALIFIER = 0x42011F
|
|
SENSITIVE = 0x420120
|
|
ALWAYS_SENSITIVE = 0x420121
|
|
EXTRACTABLE = 0x420122
|
|
NEVER_EXTRACTABLE = 0x420123
|
|
REPLACE_EXISTING = 0x420124
|
|
# KMIP 2.0
|
|
ATTRIBUTES = 0x420125
|
|
COMMON_ATTRIBUTES = 0x420126
|
|
PRIVATE_KEY_ATTRIBUTES = 0x420127
|
|
PUBLIC_KEY_ATTRIBUTES = 0x420128
|
|
EXTENSION_ENUMERATION = 0x420129
|
|
EXTENSION_ATTRIBUTE = 0x42012A
|
|
EXTENSION_PARENT_STRUCTURE_TAG = 0x42012B
|
|
EXTENSION_DESCRIPTION = 0x42012C
|
|
SERVER_NAME = 0x42012D
|
|
SERVER_SERIAL_NUMBER = 0x42012E
|
|
SERVER_VERSION = 0x42012F
|
|
SERVER_LOAD = 0x420130
|
|
PRODUCT_NAME = 0x420131
|
|
BUILD_LEVEL = 0x420132
|
|
BUILD_DATE = 0x420133
|
|
CLUSTER_INFO = 0x420134
|
|
ALTERNATE_FAILOVER_ENDPOINTS = 0x420135
|
|
SHORT_UNIQUE_IDENTIFIER = 0x420136
|
|
RESERVED = 0x420137
|
|
TAG = 0x420138
|
|
CERTIFICATE_REQUEST_UNIQUE_IDENTIFIER = 0x420139
|
|
NIST_KEY_TYPE = 0x42013A
|
|
ATTRIBUTE_REFERENCE = 0x42013B
|
|
CURRENT_ATTRIBUTE = 0x42013C
|
|
NEW_ATTRIBUTE = 0x42013D
|
|
# 0x42013E is designated '(Reserved)' in KMIP 2.0
|
|
# 0x42013F is designated '(Reserved)' in KMIP 2.0
|
|
CERTIFICATE_REQUEST_VALUE = 0x420140
|
|
LOG_MESSAGE = 0x420141
|
|
PROFILE_VERSION = 0x420142
|
|
PROFILE_VERSION_MAJOR = 0x420143
|
|
PROFILE_VERSION_MINOR = 0x420144
|
|
PROTECTION_LEVEL = 0x420145
|
|
PROTECTION_PERIOD = 0x420146
|
|
QUANTUM_SAFE = 0x420147
|
|
QUANTUM_SAFE_CAPABILITY = 0x420148
|
|
TICKET = 0x420149
|
|
TICKET_TYPE = 0x42014A
|
|
TICKET_VALUE = 0x42014B
|
|
REQUEST_COUNT = 0x42014C
|
|
RIGHTS = 0x42014D
|
|
OBJECTS = 0x42014E
|
|
OPERATIONS = 0x42014F
|
|
RIGHT = 0x420150
|
|
ENDPOINT_ROLE = 0x420151
|
|
DEFAULTS_INFORMATION = 0x420152
|
|
OBJECT_DEFAULTS = 0x420153
|
|
EPHEMERAL = 0x420154
|
|
SERVER_HASHED_PASSWORD = 0x420155
|
|
ONE_TIME_PASSWORD = 0x420156
|
|
HASHED_PASSWORD = 0x420157
|
|
ADJUSTMENT_TYPE = 0x420158
|
|
PKCS11_INTERFACE = 0x420159
|
|
PKCS11_FUNCTION = 0x42015A
|
|
PKCS11_INPUT_PARAMETERS = 0x42015B
|
|
PKCS11_OUTPUT_PARAMETERS = 0x42015C
|
|
PKCS11_RETURN_CODE = 0x42015D
|
|
PROTECTION_STORAGE_MASK = 0x42015E
|
|
PROTECTION_STORAGE_MASKS = 0x42015F
|
|
INTEROP_FUNCTION = 0x420160
|
|
INTEROP_IDENTIFIER = 0x420161
|
|
ADJUSTMENT_VALUE = 0x420162
|
|
|
|
|
|
class TicketType(enum.Enum):
|
|
# KMIP 2.0
|
|
LOGIN = 0x00000001
|
|
|
|
|
|
class Types(enum.Enum):
|
|
DEFAULT = 0x00
|
|
STRUCTURE = 0x01
|
|
INTEGER = 0x02
|
|
LONG_INTEGER = 0x03
|
|
BIG_INTEGER = 0x04
|
|
ENUMERATION = 0x05
|
|
BOOLEAN = 0x06
|
|
TEXT_STRING = 0x07
|
|
BYTE_STRING = 0x08
|
|
DATE_TIME = 0x09
|
|
INTERVAL = 0x0A
|
|
|
|
|
|
class UniqueIdentifier(enum.Enum):
|
|
# KMIP 2.0
|
|
ID_PLACEHOLDER = 0x00000001
|
|
CERTIFY = 0x00000002
|
|
CREATE = 0x00000003
|
|
CREATE_KEY_PAIR = 0x00000004
|
|
CREATE_KEY_PAIR_PRIVATE_KEY = 0x00000005
|
|
CREATE_KEY_PAIR_PUBLIC_KEY = 0x00000006
|
|
CREATE_SPLIT_KEY = 0x00000007
|
|
DERIVE_KEY = 0x00000008
|
|
IMPORT = 0x00000009
|
|
JOIN_SPLIT_KEY = 0x0000000A
|
|
LOCATE = 0x0000000B
|
|
REGISTER = 0x0000000C
|
|
REKEY = 0x0000000D
|
|
RECERTIFY = 0x0000000E
|
|
REKEY_KEY_PAIR = 0x0000000F
|
|
REKEY_KEY_PAIR_PRIVATE_KEY = 0x00000010
|
|
REKEY_KEY_PAIR_PUBLIC_KEY = 0x00000011
|
|
|
|
|
|
class UnwrapMode(enum.Enum):
|
|
# KMIP 1.3
|
|
UNSPECIFIED = 0x00000001
|
|
PROCESSED = 0x00000002
|
|
NOT_PROCESSED = 0x00000003
|
|
|
|
|
|
class UsageLimitsUnit(enum.Enum):
|
|
# KMIP 1.0
|
|
BYTE = 0x00000001
|
|
OBJECT = 0x00000002
|
|
|
|
|
|
class ValidationAuthorityType(enum.Enum):
|
|
# KMIP 1.3
|
|
UNSPECIFIED = 0x00000001
|
|
NIST_CMVP = 0x00000002
|
|
COMMON_CRITERIA = 0x00000003
|
|
|
|
|
|
class ValidationType(enum.Enum):
|
|
# KMIP 1.3
|
|
UNSPECIFIED = 0x00000001
|
|
HARDWARE = 0x00000002
|
|
SOFTWARE = 0x00000003
|
|
FIRMWARE = 0x00000004
|
|
HYBRID = 0x00000005
|
|
|
|
|
|
class ValidityIndicator(enum.Enum):
|
|
# KMIP 1.0
|
|
VALID = 0x00000001
|
|
INVALID = 0x00000002
|
|
UNKNOWN = 0x00000003
|
|
|
|
|
|
class WrappingMethod(enum.Enum):
|
|
# KMIP 1.0
|
|
ENCRYPT = 0x00000001
|
|
MAC_SIGN = 0x00000002
|
|
ENCRYPT_THEN_MAC_SIGN = 0x00000003
|
|
MAC_SIGN_THEN_ENCRYPT = 0x00000004
|
|
TR_31 = 0x00000005
|
|
|
|
|
|
attribute_name_tag_table = [
|
|
("Activation Date", Tags.ACTIVATION_DATE),
|
|
("Alternative Name", Tags.ALTERNATIVE_NAME),
|
|
("Always Sensitive", Tags.ALWAYS_SENSITIVE),
|
|
("Application Specific Information", Tags.APPLICATION_SPECIFIC_INFORMATION),
|
|
("Archive Date", Tags.ARCHIVE_DATE),
|
|
("Attribute", Tags.ATTRIBUTE),
|
|
("Certificate Identifier", Tags.CERTIFICATE_IDENTIFIER),
|
|
("Certificate Issuer", Tags.CERTIFICATE_ISSUER),
|
|
("Certificate Issuer C", Tags.CERTIFICATE_ISSUER_C),
|
|
("Certificate Issuer CN", Tags.CERTIFICATE_ISSUER_CN),
|
|
("Certificate Issuer DC", Tags.CERTIFICATE_ISSUER_DC),
|
|
("Certificate Issuer DN Qualifier", Tags.CERTIFICATE_ISSUER_DN_QUALIFIER),
|
|
("Certificate Issuer Email", Tags.CERTIFICATE_ISSUER_EMAIL),
|
|
("Certificate Issuer L", Tags.CERTIFICATE_ISSUER_L),
|
|
("Certificate Issuer O", Tags.CERTIFICATE_ISSUER_O),
|
|
("Certificate Issuer OU", Tags.CERTIFICATE_ISSUER_OU),
|
|
("Certificate Issuer Serial Number", Tags.CERTIFICATE_ISSUER_SERIAL_NUMBER),
|
|
("Certificate Issuer ST", Tags.CERTIFICATE_ISSUER_ST),
|
|
("Certificate Issuer Title", Tags.CERTIFICATE_ISSUER_TITLE),
|
|
("Certificate Issuer UID", Tags.CERTIFICATE_ISSUER_UID),
|
|
("Certificate Length", Tags.CERTIFICATE_LENGTH),
|
|
("Certificate Subject", Tags.CERTIFICATE_SUBJECT),
|
|
("Certificate Subject C", Tags.CERTIFICATE_SUBJECT_C),
|
|
("Certificate Subject CN", Tags.CERTIFICATE_SUBJECT_CN),
|
|
("Certificate Subject DC", Tags.CERTIFICATE_SUBJECT_DC),
|
|
("Certificate Subject DN Qualifier", Tags.CERTIFICATE_SUBJECT_DN_QUALIFIER),
|
|
("Certificate Subject Email", Tags.CERTIFICATE_SUBJECT_EMAIL),
|
|
("Certificate Subject L", Tags.CERTIFICATE_SUBJECT_L),
|
|
("Certificate Subject O", Tags.CERTIFICATE_SUBJECT_O),
|
|
("Certificate Subject OU", Tags.CERTIFICATE_SUBJECT_OU),
|
|
("Certificate Subject Serial Number", Tags.CERTIFICATE_SUBJECT_SERIAL_NUMBER),
|
|
("Certificate Subject ST", Tags.CERTIFICATE_SUBJECT_ST),
|
|
("Certificate Subject Title", Tags.CERTIFICATE_SUBJECT_TITLE),
|
|
("Certificate Subject UID", Tags.CERTIFICATE_SUBJECT_UID),
|
|
("Certificate Type", Tags.CERTIFICATE_TYPE),
|
|
("Comment", Tags.COMMENT),
|
|
("Compromise Date", Tags.COMPROMISE_DATE),
|
|
("Compromise Occurrence Date", Tags.COMPROMISE_OCCURRENCE_DATE),
|
|
("Contact Information", Tags.CONTACT_INFORMATION),
|
|
("Cryptographic Algorithm", Tags.CRYPTOGRAPHIC_ALGORITHM),
|
|
("Cryptographic Domain Parameters", Tags.CRYPTOGRAPHIC_DOMAIN_PARAMETERS),
|
|
("Cryptographic Length", Tags.CRYPTOGRAPHIC_LENGTH),
|
|
("Cryptographic Parameters", Tags.CRYPTOGRAPHIC_PARAMETERS),
|
|
("Cryptographic Usage Mask", Tags.CRYPTOGRAPHIC_USAGE_MASK),
|
|
("Custom Attribute", Tags.CUSTOM_ATTRIBUTE),
|
|
("Deactivation Date", Tags.DEACTIVATION_DATE),
|
|
("Description", Tags.DESCRIPTION),
|
|
("Destroy Date", Tags.DESTROY_DATE),
|
|
("Digest", Tags.DIGEST),
|
|
("Digital Signature Algorithm", Tags.DIGITAL_SIGNATURE_ALGORITHM),
|
|
("Extractable", Tags.EXTRACTABLE),
|
|
("Fresh", Tags.FRESH),
|
|
("Initial Date", Tags.INITIAL_DATE),
|
|
("Key Format Type", Tags.KEY_FORMAT_TYPE),
|
|
("Key Value Location", Tags.KEY_VALUE_LOCATION),
|
|
("Key Value Present", Tags.KEY_VALUE_PRESENT),
|
|
("Last Change Date", Tags.LAST_CHANGE_DATE),
|
|
("Lease Time", Tags.LEASE_TIME),
|
|
("Link", Tags.LINK),
|
|
("Name", Tags.NAME),
|
|
("Never Extractable", Tags.NEVER_EXTRACTABLE),
|
|
("NIST Key Type", Tags.NIST_KEY_TYPE),
|
|
("Object Group", Tags.OBJECT_GROUP),
|
|
("Object Type", Tags.OBJECT_TYPE),
|
|
("Opaque Data Type", Tags.OPAQUE_DATA_TYPE),
|
|
("Operation Policy Name", Tags.OPERATION_POLICY_NAME),
|
|
("Original Creation Date", Tags.ORIGINAL_CREATION_DATE),
|
|
("PKCS#12 Friendly Name", Tags.PKCS12_FRIENDLY_NAME),
|
|
("Process Start Date", Tags.PROCESS_START_DATE),
|
|
("Protect Stop Date", Tags.PROTECT_STOP_DATE),
|
|
("Protection Level", Tags.PROTECTION_LEVEL),
|
|
("Protection Period", Tags.PROTECTION_PERIOD),
|
|
("Protection Storage Mask", Tags.PROTECTION_STORAGE_MASK),
|
|
("Quantum Safe", Tags.QUANTUM_SAFE),
|
|
("Random Number Generator", Tags.RANDOM_NUMBER_GENERATOR),
|
|
("Revocation Reason", Tags.REVOCATION_REASON),
|
|
("Sensitive", Tags.SENSITIVE),
|
|
("Short Unique Identifier", Tags.SHORT_UNIQUE_IDENTIFIER),
|
|
("State", Tags.STATE),
|
|
("Unique Identifier", Tags.UNIQUE_IDENTIFIER),
|
|
("Usage Limits", Tags.USAGE_LIMITS),
|
|
("X.509 Certificate Identifier", Tags.X_509_CERTIFICATE_IDENTIFIER),
|
|
("X.509 Certificate Issuer", Tags.X_509_CERTIFICATE_ISSUER),
|
|
("X.509 Certificate Subject", Tags.X_509_CERTIFICATE_SUBJECT)
|
|
]
|
|
|
|
|
|
def convert_attribute_name_to_tag(value):
|
|
"""
|
|
A utility function that converts an attribute name string into the
|
|
corresponding attribute tag.
|
|
|
|
For example: 'State' -> enums.Tags.STATE
|
|
|
|
Args:
|
|
value (string): The string name of the attribute.
|
|
|
|
Returns:
|
|
enum: The Tags enumeration value that corresponds to the attribute
|
|
name string.
|
|
|
|
Raises:
|
|
ValueError: if the attribute name string is not a string or if it is
|
|
an unrecognized attribute name
|
|
"""
|
|
if not isinstance(value, six.string_types):
|
|
raise ValueError("The attribute name must be a string.")
|
|
|
|
for entry in attribute_name_tag_table:
|
|
if value == entry[0]:
|
|
return entry[1]
|
|
|
|
raise ValueError("Unrecognized attribute name: '{}'".format(value))
|
|
|
|
|
|
def convert_attribute_tag_to_name(value):
|
|
"""
|
|
A utility function that converts an attribute tag into the corresponding
|
|
attribute name string.
|
|
|
|
For example: enums.Tags.STATE -> 'State'
|
|
|
|
Args:
|
|
value (enum): The Tags enumeration value of the attribute.
|
|
|
|
Returns:
|
|
string: The attribute name string that corresponds to the attribute
|
|
tag.
|
|
|
|
Raises:
|
|
ValueError: if the attribute tag is not a Tags enumeration or if it
|
|
is unrecognized attribute tag
|
|
"""
|
|
if not isinstance(value, Tags):
|
|
raise ValueError("The attribute tag must be a Tags enumeration.")
|
|
|
|
for entry in attribute_name_tag_table:
|
|
if value == entry[1]:
|
|
return entry[0]
|
|
|
|
raise ValueError("Unrecognized attribute tag: {}".format(value))
|
|
|
|
|
|
def get_bit_mask_from_enumerations(enumerations):
|
|
"""
|
|
A utility function that computes a bit mask from a collection of
|
|
enumeration values.
|
|
|
|
Args:
|
|
enumerations (list): A list of enumeration values to be combined in a
|
|
composite bit mask.
|
|
|
|
Returns:
|
|
int: The composite bit mask.
|
|
"""
|
|
return functools.reduce(
|
|
lambda x, y: x | y, [z.value for z in enumerations]
|
|
)
|
|
|
|
|
|
def get_enumerations_from_bit_mask(enumeration, mask):
|
|
"""
|
|
A utility function that creates a list of enumeration values from a bit
|
|
mask for a specific mask enumeration class.
|
|
|
|
Args:
|
|
enumeration (class): The enumeration class from which to draw
|
|
enumeration values.
|
|
mask (int): The bit mask from which to identify enumeration values.
|
|
|
|
Returns:
|
|
list: A list of enumeration values corresponding to the bit mask.
|
|
"""
|
|
return [x for x in enumeration if (x.value & mask) == x.value]
|
|
|
|
|
|
def is_bit_mask(enumeration, potential_mask):
|
|
"""
|
|
A utility function that checks if the provided value is a composite bit
|
|
mask of enumeration values in the specified enumeration class.
|
|
|
|
Args:
|
|
enumeration (class): One of the mask enumeration classes found in this
|
|
file. These include:
|
|
* Cryptographic Usage Mask
|
|
* Protection Storage Mask
|
|
* Storage Status Mask
|
|
potential_mask (int): A potential bit mask composed of enumeration
|
|
values belonging to the enumeration class.
|
|
|
|
Returns:
|
|
True: if the potential mask is a valid bit mask of the mask enumeration
|
|
False: otherwise
|
|
"""
|
|
if not isinstance(potential_mask, six.integer_types):
|
|
return False
|
|
|
|
mask_enumerations = (
|
|
CryptographicUsageMask,
|
|
ProtectionStorageMask,
|
|
StorageStatusMask
|
|
)
|
|
if enumeration not in mask_enumerations:
|
|
return False
|
|
|
|
mask = 0
|
|
for value in [e.value for e in enumeration]:
|
|
if (value & potential_mask) == value:
|
|
mask |= value
|
|
|
|
if mask != potential_mask:
|
|
return False
|
|
|
|
return True
|
|
|
|
|
|
def is_enum_value(enumeration, potential_value):
|
|
"""
|
|
A utility function that checks if the enumeration class contains the
|
|
provided value.
|
|
|
|
Args:
|
|
enumeration (class): One of the enumeration classes found in this file.
|
|
potential_value (int, string): A potential value of the enumeration
|
|
class.
|
|
|
|
Returns:
|
|
True: if the potential value is a valid value of the enumeration class
|
|
False: otherwise
|
|
"""
|
|
try:
|
|
enumeration(potential_value)
|
|
except ValueError:
|
|
return False
|
|
|
|
return True
|
|
|
|
|
|
def is_attribute(tag, kmip_version=None):
|
|
"""
|
|
A utility function that checks if the tag is a valid attribute tag.
|
|
|
|
Args:
|
|
tag (enum): A Tags enumeration that may or may not correspond to a
|
|
KMIP attribute type.
|
|
kmip_version (enum): The KMIPVersion enumeration that should be used
|
|
when checking if the tag is a valid attribute tag. Optional,
|
|
defaults to None. If None, the tag is compared with all possible
|
|
attribute tags across all KMIP versions. Otherwise, only the
|
|
attribute tags for a specific KMIP version are checked.
|
|
|
|
Returns:
|
|
True: if the tag is a valid attribute tag
|
|
False: otherwise
|
|
"""
|
|
kmip_1_0_attribute_tags = [
|
|
Tags.UNIQUE_IDENTIFIER,
|
|
Tags.NAME,
|
|
Tags.OBJECT_TYPE,
|
|
Tags.CRYPTOGRAPHIC_ALGORITHM,
|
|
Tags.CRYPTOGRAPHIC_LENGTH,
|
|
Tags.CRYPTOGRAPHIC_PARAMETERS,
|
|
Tags.CRYPTOGRAPHIC_DOMAIN_PARAMETERS,
|
|
Tags.CERTIFICATE_TYPE,
|
|
Tags.CERTIFICATE_IDENTIFIER,
|
|
Tags.CERTIFICATE_SUBJECT,
|
|
Tags.CERTIFICATE_ISSUER,
|
|
Tags.DIGEST,
|
|
Tags.OPERATION_POLICY_NAME,
|
|
Tags.CRYPTOGRAPHIC_USAGE_MASK,
|
|
Tags.LEASE_TIME,
|
|
Tags.USAGE_LIMITS,
|
|
Tags.STATE,
|
|
Tags.INITIAL_DATE,
|
|
Tags.ACTIVATION_DATE,
|
|
Tags.PROCESS_START_DATE,
|
|
Tags.PROTECT_STOP_DATE,
|
|
Tags.DEACTIVATION_DATE,
|
|
Tags.DESTROY_DATE,
|
|
Tags.COMPROMISE_OCCURRENCE_DATE,
|
|
Tags.COMPROMISE_DATE,
|
|
Tags.REVOCATION_REASON,
|
|
Tags.ARCHIVE_DATE,
|
|
Tags.OBJECT_GROUP,
|
|
Tags.LINK,
|
|
Tags.APPLICATION_SPECIFIC_INFORMATION,
|
|
Tags.CONTACT_INFORMATION,
|
|
Tags.LAST_CHANGE_DATE,
|
|
Tags.CUSTOM_ATTRIBUTE
|
|
]
|
|
kmip_1_1_attribute_tags = copy.deepcopy(kmip_1_0_attribute_tags) + [
|
|
Tags.CERTIFICATE_LENGTH,
|
|
Tags.X_509_CERTIFICATE_IDENTIFIER,
|
|
Tags.X_509_CERTIFICATE_SUBJECT,
|
|
Tags.X_509_CERTIFICATE_ISSUER,
|
|
Tags.DIGITAL_SIGNATURE_ALGORITHM,
|
|
Tags.FRESH
|
|
]
|
|
kmip_1_2_attribute_tags = copy.deepcopy(kmip_1_1_attribute_tags) + [
|
|
Tags.ALTERNATIVE_NAME,
|
|
Tags.KEY_VALUE_PRESENT,
|
|
Tags.KEY_VALUE_LOCATION,
|
|
Tags.ORIGINAL_CREATION_DATE
|
|
]
|
|
kmip_1_3_attribute_tags = copy.deepcopy(kmip_1_2_attribute_tags) + [
|
|
Tags.RANDOM_NUMBER_GENERATOR
|
|
]
|
|
kmip_1_4_attribute_tags = copy.deepcopy(kmip_1_3_attribute_tags) + [
|
|
Tags.PKCS12_FRIENDLY_NAME,
|
|
Tags.DESCRIPTION,
|
|
Tags.COMMENT,
|
|
Tags.SENSITIVE,
|
|
Tags.ALWAYS_SENSITIVE,
|
|
Tags.EXTRACTABLE,
|
|
Tags.NEVER_EXTRACTABLE
|
|
]
|
|
kmip_2_0_attribute_tags = copy.deepcopy(kmip_1_4_attribute_tags) + [
|
|
Tags.CERTIFICATE_SUBJECT_CN,
|
|
Tags.CERTIFICATE_SUBJECT_O,
|
|
Tags.CERTIFICATE_SUBJECT_OU,
|
|
Tags.CERTIFICATE_SUBJECT_EMAIL,
|
|
Tags.CERTIFICATE_SUBJECT_C,
|
|
Tags.CERTIFICATE_SUBJECT_ST,
|
|
Tags.CERTIFICATE_SUBJECT_L,
|
|
Tags.CERTIFICATE_SUBJECT_UID,
|
|
Tags.CERTIFICATE_SUBJECT_SERIAL_NUMBER,
|
|
Tags.CERTIFICATE_SUBJECT_TITLE,
|
|
Tags.CERTIFICATE_SUBJECT_DC,
|
|
Tags.CERTIFICATE_SUBJECT_DN_QUALIFIER,
|
|
Tags.CERTIFICATE_ISSUER_CN,
|
|
Tags.CERTIFICATE_ISSUER_O,
|
|
Tags.CERTIFICATE_ISSUER_OU,
|
|
Tags.CERTIFICATE_ISSUER_EMAIL,
|
|
Tags.CERTIFICATE_ISSUER_C,
|
|
Tags.CERTIFICATE_ISSUER_ST,
|
|
Tags.CERTIFICATE_ISSUER_L,
|
|
Tags.CERTIFICATE_ISSUER_UID,
|
|
Tags.CERTIFICATE_ISSUER_SERIAL_NUMBER,
|
|
Tags.CERTIFICATE_ISSUER_TITLE,
|
|
Tags.CERTIFICATE_ISSUER_DC,
|
|
Tags.CERTIFICATE_ISSUER_DN_QUALIFIER,
|
|
Tags.KEY_FORMAT_TYPE,
|
|
Tags.NIST_KEY_TYPE,
|
|
Tags.OPAQUE_DATA_TYPE,
|
|
Tags.PROTECTION_LEVEL,
|
|
Tags.PROTECTION_PERIOD,
|
|
Tags.PROTECTION_STORAGE_MASK,
|
|
Tags.QUANTUM_SAFE,
|
|
Tags.SHORT_UNIQUE_IDENTIFIER,
|
|
Tags.ATTRIBUTE
|
|
]
|
|
kmip_2_0_attribute_tags.remove(Tags.CERTIFICATE_IDENTIFIER)
|
|
kmip_2_0_attribute_tags.remove(Tags.CERTIFICATE_SUBJECT)
|
|
kmip_2_0_attribute_tags.remove(Tags.CERTIFICATE_ISSUER)
|
|
kmip_2_0_attribute_tags.remove(Tags.OPERATION_POLICY_NAME)
|
|
kmip_2_0_attribute_tags.remove(Tags.CUSTOM_ATTRIBUTE)
|
|
|
|
if kmip_version == KMIPVersion.KMIP_1_0:
|
|
return tag in kmip_1_0_attribute_tags
|
|
elif kmip_version == KMIPVersion.KMIP_1_1:
|
|
return tag in kmip_1_1_attribute_tags
|
|
elif kmip_version == KMIPVersion.KMIP_1_2:
|
|
return tag in kmip_1_2_attribute_tags
|
|
elif kmip_version == KMIPVersion.KMIP_1_3:
|
|
return tag in kmip_1_3_attribute_tags
|
|
elif kmip_version == KMIPVersion.KMIP_1_4:
|
|
return tag in kmip_1_4_attribute_tags
|
|
elif kmip_version == KMIPVersion.KMIP_2_0:
|
|
return tag in kmip_2_0_attribute_tags
|
|
else:
|
|
all_attribute_tags = set(
|
|
kmip_1_0_attribute_tags +
|
|
kmip_1_1_attribute_tags +
|
|
kmip_1_2_attribute_tags +
|
|
kmip_1_3_attribute_tags +
|
|
kmip_1_4_attribute_tags +
|
|
kmip_2_0_attribute_tags
|
|
)
|
|
return tag in all_attribute_tags
|