Update the documentation to prepare for the PyKMIP 0.9 release

This commit is contained in:
Peter Hamilton 2019-06-17 13:28:16 -04:00 committed by Peter Hamilton
parent 9fac723b2e
commit 5ac0c5d6dd
4 changed files with 382 additions and 135 deletions

View File

@ -29,29 +29,6 @@ The configuration file can contain multiple settings blocks. Only one,
blocks by simply providing the name of the block as the ``config`` blocks by simply providing the name of the block as the ``config``
parameter (see below). parameter (see below).
The client can also be configured manually via Python. The following example
shows how to create the ``ProxyKmipClient`` in Python code, directly
specifying the different configuration values:
.. code-block:: python
>>> import ssl
>>> from kmip.pie.client import ProxyKmipClient
>>> client = ProxyKmipClient(
... hostname='127.0.0.1',
... port=5696,
... cert='/path/to/certificate/file',
... key='/path/to/certificate/key/file',
... ca='/path/to/ca/certificate/file',
... ssl_version=ssl.PROTOCOL_SSLv23,
... username='example_username',
... password='example_password'
... config='client'
... )
Settings specified at runtime, as in the above example, will take precedence
over the default values found in the configuration file.
The different configuration options are defined below: The different configuration options are defined below:
* ``host`` * ``host``
@ -109,6 +86,31 @@ The different configuration options are defined below:
A string representing the password to use for KMIP requests. Optional A string representing the password to use for KMIP requests. Optional
depending on server access policies. Leave blank if not needed. depending on server access policies. Leave blank if not needed.
The client can also be configured manually via Python. The following example
shows how to create the ``ProxyKmipClient`` in Python code, directly
specifying the different configuration values:
.. code-block:: python
>>> import ssl
>>> from kmip.pie.client import ProxyKmipClient
>>> client = ProxyKmipClient(
... hostname='127.0.0.1',
... port=5696,
... cert='/path/to/certificate/file',
... key='/path/to/certificate/key/file',
... ca='/path/to/ca/certificate/file',
... ssl_version=ssl.PROTOCOL_SSLv23,
... username='example_username',
... password='example_password'
... config='client',
... config_file='/etc/pykmip/pykmip.conf',
... kmip_version=enums.KMIPVersion.KMIP_1_2
... )
Settings specified at runtime, as in the above example, will take precedence
over the default values found in the configuration file.
Usage Usage
----- -----
@ -120,7 +122,7 @@ Class Documentation
------------------- -------------------
.. py:module:: kmip.pie.client .. py:module:: kmip.pie.client
.. py:class:: ProxyKmipClient(hostname=None, port=None, cert=None, key=None, ca=None, ssl_version=None, username=None, password=None, config='client') .. py:class:: ProxyKmipClient(hostname=None, port=None, cert=None, key=None, ca=None, ssl_version=None, username=None, password=None, config='client', config_file=None, kmip_version=None)
A simplified KMIP client for conducting KMIP operations. A simplified KMIP client for conducting KMIP operations.
@ -153,6 +155,18 @@ Class Documentation
file. Use to load a specific set of configuration settings from the file. Use to load a specific set of configuration settings from the
configuration file, instead of specifying them manually. Optional, configuration file, instead of specifying them manually. Optional,
defaults to the default client section, 'client'. defaults to the default client section, 'client'.
:param string config_file: The path to the PyKMIP client configuration
file. Optional, defaults to None.
:param enum kmip_version: A KMIPVersion enumeration specifying which KMIP
version should be used to encode/decode request/response messages.
Optional, defaults to None. If no value is specified, at request
encoding time the client will default to KMIP 1.2.
.. py:attribute:: kmip_version
The KMIP version that should be used to encode/decode request/response
messages. Must be a KMIPVersion enumeration. Can be accessed and
modified at any time.
.. py:method:: open() .. py:method:: open()

View File

@ -104,9 +104,10 @@ PyKMIP, up to and including ``master``.
Running Tests Running Tests
------------- -------------
PyKMIP uses ``tox`` to manage testing across multiple Python versions. Test PyKMIP uses ``tox`` to manage testing across multiple Python versions. ``tox``
infrastructure currently supports Python 2.7, 3.4, 3.5, and 3.6. Additional in turn uses ``pytest`` to run individual tests. Test infrastructure currently
test environments are provided for security, style, and documentation checks. supports Python 2.7, 3.4, 3.5, 3.6, and 3.7. Additional test environments are
provided for security, style, and documentation checks.
.. note:: .. note::
@ -154,6 +155,16 @@ To test against a specific Python version (e.g., Python 2.7), run:
$ tox -e py27 $ tox -e py27
To run an individual test suite method or class, use the ``pytest`` ``-k``
flag to specify the name of the method or class to execute. For example, to
run the ``TestProxyKmipClient`` test suite class under Python 2.7, run:
.. code-block:: console
$ tox -e py27 -- -k TestProxyKmipClient
For more information on the ``-k`` flag, see the `pytest`_ documentation.
Integration Tests Integration Tests
~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
The integration test suite tests the functionality of the PyKMIP clients The integration test suite tests the functionality of the PyKMIP clients
@ -184,6 +195,13 @@ following ``tox`` command will set up and execute the integration tests:
$ tox -r -e integration -- --config server_1 $ tox -r -e integration -- --config server_1
Like the unit tests, use the ``-k`` flag to specify a specific test suite
method or class.
.. code-block:: console
$ tox -r -e integration -- --config server_1 -k TestProxyKmipClientIntegration
Functional Tests Functional Tests
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
The functional test suite tests capabilities and functionality specific to The functional test suite tests capabilities and functionality specific to
@ -213,6 +231,13 @@ will set up and execute the functional tests:
$ tox -r -e functional -- --config-file /tmp/pykmip/client.conf $ tox -r -e functional -- --config-file /tmp/pykmip/client.conf
Like the unit and integration tests, use the ``-k`` flag to specify a specific
test suite method or class.
.. code-block:: console
$ tox -r -e functional -- --config-file /tmp/pykmip/client.conf -k test_policy_caching
For more information on the testing tools used here, see the following For more information on the testing tools used here, see the following
resources: resources:
@ -228,3 +253,4 @@ resources:
.. _`flake8`: https://pypi.python.org/pypi/flake8 .. _`flake8`: https://pypi.python.org/pypi/flake8
.. _`bandit`: https://pypi.python.org/pypi/bandit .. _`bandit`: https://pypi.python.org/pypi/bandit
.. _`SLUGS`: https://github.com/OpenKMIP/SLUGS .. _`SLUGS`: https://github.com/OpenKMIP/SLUGS
.. _`pytest`: https://docs.pytest.org/en/latest/usage.html

View File

@ -127,6 +127,7 @@ Glossary
... 'rng_mode': enums.RNGMode.SHARED_INSTANTIATION, ... 'rng_mode': enums.RNGMode.SHARED_INSTANTIATION,
... 'batch_undo_capability': False, ... 'batch_undo_capability': False,
... 'batch_continue_capability': False ... 'batch_continue_capability': False
... 'quantum_safe_capability': False
... } ... }
================================= ======= ============ ================================= ======= ============
@ -141,6 +142,7 @@ Glossary
:term:`rng_mode` enum 1.3 :term:`rng_mode` enum 1.3
batch_undo_capability bool 1.4 batch_undo_capability bool 1.4
batch_continue_capability bool 1.4 batch_continue_capability bool 1.4
quantum_safe_capability bool 2.0
================================= ======= ============ ================================= ======= ============
certificate_request_type certificate_request_type
@ -208,6 +210,9 @@ Glossary
USERNAME_AND_PASSWORD 0x00000001 1.0 USERNAME_AND_PASSWORD 0x00000001 1.0
DEVICE 0x00000002 1.1 DEVICE 0x00000002 1.1
ATTESTATION 0x00000003 1.2 ATTESTATION 0x00000003 1.2
ONE_TIME_PASSWORD 0x00000004 2.0
HASHED_PASSWORD 0x00000005 2.0
TICKET 0x00000006 2.0
===================== ========== ============ ===================== ========== ============
cryptographic_algorithm cryptographic_algorithm
@ -262,6 +267,22 @@ Glossary
HMAC_SHA3_512 0x00000026 1.4 HMAC_SHA3_512 0x00000026 1.4
SHAKE_128 0x00000027 1.4 SHAKE_128 0x00000027 1.4
SHAKE_256 0x00000028 1.4 SHAKE_256 0x00000028 1.4
ARIA 0x00000029 2.0
SEED 0x0000002A 2.0
SM2 0x0000002B 2.0
SM3 0x0000002C 2.0
SM4 0x0000002D 2.0
GOST_R_34_10_2012 0x0000002E 2.0
GOST_R_34_11_2012 0x0000002F 2.0
GOST_R_34_13_2015 0x00000030 2.0
GOST_28147_89 0x00000031 2.0
XMSS 0x00000032 2.0
SPHINCS_256 0x00000033 2.0
MCELIECE 0x00000034 2.0
MCELIECE_6960119 0x00000035 2.0
MCELIECE_8192128 0x00000036 2.0
ED25519 0x00000037 2.0
ED448 0x00000038 2.0
================= ========== ============ ================= ========== ============
cryptographic_length cryptographic_length
@ -338,6 +359,10 @@ Glossary
TRANSLATE_DECRYPT 0x00020000 1.0 TRANSLATE_DECRYPT 0x00020000 1.0
TRANSLATE_WRAP 0x00040000 1.0 TRANSLATE_WRAP 0x00040000 1.0
TRANSLATE_UNWRAP 0x00080000 1.0 TRANSLATE_UNWRAP 0x00080000 1.0
AUTHENTICATE 0x00100000 2.0
UNRESTRICTED 0x00200000 2.0
FPE_ENCRYPT 0x00400000 2.0
FPE_DECRYPT 0x00800000 2.0
=================== ========== ============ =================== ========== ============
derivation_parameters derivation_parameters
@ -364,24 +389,6 @@ Glossary
iteration_count int 1.0 iteration_count int 1.0
======================== ======= ============ ======================== ======= ============
drbg_algorithm
(enum) (1.3) An enumeration specifying a deterministic random bit
generator. Used often to describe a random number generator.
>>> from kmip import enums
>>> enums.DRBGAlgorithm.DUAL_EC
<DRBGAlgorithm.DUAL_EC: 2>
=========== ========== ============
Name Value KMIP Version
=========== ========== ============
UNSPECIFIED 0x00000001 1.3
DUAL_EC 0x00000002 1.3
HASH 0x00000003 1.3
HMAC 0x00000004 1.3
CTR 0x00000005 1.3
=========== ========== ============
derivation_method derivation_method
(enum) (1.0) An enumeration specifying a key derivation method to be (enum) (1.0) An enumeration specifying a key derivation method to be
used to derive a new key. Used as a parameter to the DeriveKey used to derive a new key. Used as a parameter to the DeriveKey
@ -391,18 +398,20 @@ Glossary
>>> enums.DerivationMethod.PBKDF2 >>> enums.DerivationMethod.PBKDF2
<DerivationMethod.PBKDF2: 1> <DerivationMethod.PBKDF2: 1>
=============== ========== ============ ======================= ========== ============
Name Value KMIP Version Name Value KMIP Version
=============== ========== ============ ======================= ========== ============
PBKDF2 0x00000001 1.0 PBKDF2 0x00000001 1.0
HASH 0x00000002 1.0 HASH 0x00000002 1.0
HMAC 0x00000003 1.0 HMAC 0x00000003 1.0
ENCRYPT 0x00000004 1.0 ENCRYPT 0x00000004 1.0
NIST800_108_C 0x00000005 1.0 NIST800_108_C 0x00000005 1.0
NIST800_108_F 0x00000006 1.0 NIST800_108_F 0x00000006 1.0
NIST800_108_DPI 0x00000007 1.0 NIST800_108_DPI 0x00000007 1.0
ASYMMETRIC_KEY 0x00000008 1.4 ASYMMETRIC_KEY 0x00000008 1.4
=============== ========== ============ AWS_SIGNATURE_VERSION_4 0x00000009 2.0
HKDF 0x0000000A 2.0
======================= ========== ============
destroy_action destroy_action
(enum) (1.3) An enumeration specifying methods of data disposal used (enum) (1.3) An enumeration specifying methods of data disposal used
@ -458,6 +467,24 @@ Glossary
SHA3_512_WITH_RSA_ENCRYPTION 0x00000013 1.4 SHA3_512_WITH_RSA_ENCRYPTION 0x00000013 1.4
============================ ========== ============ ============================ ========== ============
drbg_algorithm
(enum) (1.3) An enumeration specifying a deterministic random bit
generator. Used often to describe a random number generator.
>>> from kmip import enums
>>> enums.DRBGAlgorithm.DUAL_EC
<DRBGAlgorithm.DUAL_EC: 2>
=========== ========== ============
Name Value KMIP Version
=========== ========== ============
UNSPECIFIED 0x00000001 1.3
DUAL_EC 0x00000002 1.3
HASH 0x00000003 1.3
HMAC 0x00000004 1.3
CTR 0x00000005 1.3
=========== ========== ============
encoding_option encoding_option
(enum) (1.1) An enumeration specifying the encoding of an object (enum) (1.1) An enumeration specifying the encoding of an object
before it is cryptographically wrapped. Used in various key wrapping before it is cryptographically wrapped. Used in various key wrapping
@ -484,12 +511,12 @@ Glossary
... 'cryptographic_parameters': {...} ... 'cryptographic_parameters': {...}
... } ... }
======================== ======= ============ ================================ ======= ============
Key Value KMIP Version Key Value KMIP Version
======================== ======= ============ ================================ ======= ============
unique_identifier string 1.0 unique_identifier string 1.0
cryptographic_parameters dict 1.0 :term:`cryptographic_parameters` dict 1.0
======================== ======= ============ ================================ ======= ============
extension_information extension_information
(dict) (1.1) A dictionary containing information on a specific KMIP (dict) (1.1) A dictionary containing information on a specific KMIP
@ -502,14 +529,26 @@ Glossary
... 'extension_tag': 0x0054aa01, ... 'extension_tag': 0x0054aa01,
... 'extension_type': 0x00000007 ... 'extension_type': 0x00000007
... } ... }
>>> extension_information = {
... 'extension_name': 'ACME LOCATION',
... 'extension_tag': 0x0054aa01,
... 'extension_type': enums.ItemType.TEXT_STRING,
... 'extension_attribute': True,
... 'extension_parent_structure_tag': 0x0054aa02,
... 'extension_description': 'Example description.'
... }
======================== ======= ============ ============================== ========== ============
Key Value KMIP Version Key Value KMIP Version
======================== ======= ============ ============================== ========== ============
extension_name string 1.1 extension_name string 1.1
extension_tag int 1.1 extension_tag int 1.1
extension_type int 1.1 extension_type int / enum 1.1 / 2.0
======================== ======= ============ extension_enumeration int 2.0
extension_attribute bool 2.0
extension_parent_structure_tag int 2.0
extension_description string 2.0
============================== ========== ============
fips186_variation fips186_variation
(enum) (1.3) An enumeration specifying a FIPS 186 variation. Used (enum) (1.3) An enumeration specifying a FIPS 186 variation. Used
@ -569,6 +608,31 @@ Glossary
with the key management appliance. This value is set by the server with the key management appliance. This value is set by the server
on every managed object and cannot be changed. on every managed object and cannot be changed.
item_type
(enum) (2.0) An enumeration specifying the type of an object. Only
the least significant byte of the enumeration value is used in KMIP
object encodings.
>>> from kmip import enums
>>> enums.ItemType.STRUCTURE
<ItemType.STRUCTURE: 1>
================== ========== ============
Name Value KMIP Version
================== ========== ============
STRUCTURE 0x00000001 2.0
INTEGER 0x00000002 2.0
LONG_INTEGER 0x00000003 2.0
BIG_INTEGER 0x00000004 2.0
ENUMERATION 0x00000005 2.0
BOOLEAN 0x00000006 2.0
TEXT_STRING 0x00000007 2.0
BYTE_STRING 0x00000008 2.0
DATE_TIME 0x00000009 2.0
INTERVAL 0x0000000A 2.0
DATE_TIME_EXTENDED 0x0000000B 2.0
================== ========== ============
key_compression_type key_compression_type
(enum) (1.0) An enumeration specifying the key compression used for (enum) (1.0) An enumeration specifying the key compression used for
an elliptic curve public key. Used as a key value attribute and as a an elliptic curve public key. Used as a key value attribute and as a
@ -741,6 +805,26 @@ Glossary
:term:`encoding_option` enum 1.1 :term:`encoding_option` enum 1.1
============================= ======= ============ ============================= ======= ============
kmip_version
(enum) (-) An enumeration specifying the KMIP version to use for the
client and/or server. Defined independently of any individual KMIP
specification version.
>>> from kmip import enums
>>> enums.KMIPVersion.KMIP_1_1
<KMIPVersion.KMIP_1_1: 1.1>
======== ==========
Name Value
======== ==========
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
======== ==========
link_type link_type
(enum) (1.0) An enumeration specifying the type of link connecting two (enum) (1.0) An enumeration specifying the type of link connecting two
managed objects. Used often as an object attribute. managed objects. Used often as an object attribute.
@ -765,6 +849,7 @@ Glossary
NEXT_LINK 0x0000010b 1.2 NEXT_LINK 0x0000010b 1.2
PKCS12_CERTIFICATE_LINK 0x0000010c 1.4 PKCS12_CERTIFICATE_LINK 0x0000010c 1.4
PKCS12_PASSWORD_LINK 0x0000010d 1.4 PKCS12_PASSWORD_LINK 0x0000010d 1.4
WRAPPING_KEY_LINK 0x0000010E 2.0
=========================== ========== ============ =========================== ========== ============
mac_signature_key_information mac_signature_key_information
@ -847,19 +932,20 @@ Glossary
>>> enums.ObjectType.SYMMETRIC_KEY >>> enums.ObjectType.SYMMETRIC_KEY
<ObjectType.SYMMETRIC_KEY: 2> <ObjectType.SYMMETRIC_KEY: 2>
============= ========== ============ =================== ========== ============
Name Value KMIP Version Name Value KMIP Version
============= ========== ============ =================== ========== ============
CERTIFICATE 0x00000001 1.0 CERTIFICATE 0x00000001 1.0
SYMMETRIC_KEY 0x00000002 1.0 SYMMETRIC_KEY 0x00000002 1.0
PUBLIC_KEY 0x00000003 1.0 PUBLIC_KEY 0x00000003 1.0
PRIVATE_KEY 0x00000004 1.0 PRIVATE_KEY 0x00000004 1.0
SPLIT_KEY 0x00000005 1.0 SPLIT_KEY 0x00000005 1.0
TEMPLATE 0x00000006 1.0 TEMPLATE 0x00000006 1.0
SECRET_DATA 0x00000007 1.0 SECRET_DATA 0x00000007 1.0
OPAQUE_DATA 0x00000008 1.0 OPAQUE_DATA 0x00000008 1.0
PGP_KEY 0x00000009 1.2 PGP_KEY 0x00000009 1.2
============= ========== ============ CERTIFICATE_REQUEST 0x0000000A 2.0
=================== ========== ============
opaque_data_type opaque_data_type
(enum) (1.0) An enumeration specifying the type of the associated (enum) (1.0) An enumeration specifying the type of the associated
@ -932,6 +1018,16 @@ Glossary
JOIN_SPLIT_KEY 0x00000029 1.2 JOIN_SPLIT_KEY 0x00000029 1.2
IMPORT 0x0000002a 1.4 IMPORT 0x0000002a 1.4
EXPORT 0x0000002b 1.4 EXPORT 0x0000002b 1.4
LOG 0x0000002C 2.0
LOGIN 0x0000002D 2.0
LOGOUT 0x0000002E 2.0
DELEGATED_LOGIN 0x0000002F 2.0
ADJUST_ATTRIBUTE 0x00000030 2.0
SET_ATTRIBUTE 0x00000031 2.0
SET_ENDPOINT_ROLE 0x00000032 2.0
PKCS_11 0x00000033 2.0
INTEROP 0x00000034 2.0
REPROVISION 0x00000035 2.0
==================== ========== ============ ==================== ========== ============
operation_policy_name operation_policy_name
@ -964,6 +1060,31 @@ Glossary
PSS 0x0000000A 1.0 PSS 0x0000000A 1.0
========= ========== ============ ========= ========== ============
profile_information
(dict) (1.3) A dictionary containing information about a KMIP profile
supported by a KMIP server. Often obtained from the Query operation
response.
>>> from kmip import enums
>>> profile_information = {
... 'profile_name': enums.ProfileName.BASELINE_SERVER_BASIC_KMIPv12,
... 'server_uri': 'https://127.0.0.1',
... 'server_port': 5696,
... 'profile_version': {
... 'profile_version_major': 1,
... 'profile_version_minor': 0
... }
... }
======================= ======= ============
Key Value KMIP Version
======================= ======= ============
:term:`profile_name` enum 1.3
server_uri string 1.3
server_port int 1.3
:term:`profile_version` dict 2.0
======================= ======= ============
profile_name profile_name
(enum) (1.3) An enumeration specifying a profile supported by the (enum) (1.3) An enumeration specifying a profile supported by the
client or server. Used often as part of the response to a Query client or server. Used often as part of the response to a Query
@ -1132,27 +1253,65 @@ Glossary
JSON_SERVER_KMIPv14 0x0000009a 1.4 JSON_SERVER_KMIPv14 0x0000009a 1.4
XML_CLIENT_KMIPv14 0x0000009b 1.4 XML_CLIENT_KMIPv14 0x0000009b 1.4
XML_SERVER_KMIPv14 0x0000009c 1.4 XML_SERVER_KMIPv14 0x0000009c 1.4
COMPLETE_SERVER_BASIC 0x00000104 2.0
COMPLETE_SERVER_TLSv12 0x00000105 2.0
TAPE_LIBRARY_CLIENT 0x00000106 2.0
TAPE_LIBRARY_SERVER 0x00000107 2.0
SYMMETRIC_KEY_LIFECYCLE_CLIENT 0x00000108 2.0
SYMMETRIC_KEY_LIFECYCLE_SERVER 0x00000109 2.0
ASYMMETRIC_KEY_LIFECYCLE_CLIENT 0x0000010A 2.0
ASYMMETRIC_KEY_LIFECYCLE_SERVER 0x0000010B 2.0
BASIC_CRYPTOGRAPHIC_CLIENT 0x0000010C 2.0
BASIC_CRYPTOGRAPHIC_SERVER 0x0000010D 2.0
ADVANCED_CRYPTOGRAPHIC_CLIENT 0x0000010E 2.0
ADVANCED_CRYPTOGRAPHIC_SERVER 0x0000010F 2.0
RNG_CRYPTOGRAPHIC_CLIENT 0x00000110 2.0
RNG_CRYPTOGRAPHIC_SERVER 0x00000111 2.0
BASIC_SYMMETRIC_KEY_FOUNDRY_CLIENT 0x00000112 2.0
INTERMEDIATE_SYMMETRIC_KEY_FOUNDRY_CLIENT 0x00000113 2.0
ADVANCED_SYMMETRIC_KEY_FOUNDRY_CLIENT 0x00000114 2.0
SYMMETRIC_KEY_FOUNDRY_SERVER 0x00000115 2.0
OPAQUE_MANAGED_OBJECT_STORE_CLIENT 0x00000116 2.0
OPAQUE_MANAGED_OBJECT_STORE_SERVER 0x00000117 2.0
SUITE_B_MINLOS_128_CLIENT 0x00000118 2.0
SUITE_B_MINLOS_128_SERVER 0x00000119 2.0
SUITE_B_MINLOS_192_CLIENT 0x0000011A 2.0
SUITE_B_MINLOS_192_SERVER 0x0000011B 2.0
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_CLIENT 0x0000011C 2.0
STORAGE_ARRAY_WITH_SELF_ENCRYPTING_DRIVE_SERVER 0x0000011D 2.0
HTTPS_CLIENT 0x0000011E 2.0
HTTPS_SERVER 0x0000011F 2.0
JSON_CLIENT 0x00000120 2.0
JSON_SERVER 0x00000121 2.0
XML_CLIENT 0x00000122 2.0
XML_SERVER 0x00000123 2.0
AES_XTS_CLIENT 0x00000124 2.0
AES_XTS_SERVER 0x00000125 2.0
QUANTUM_SAFE_CLIENT 0x00000126 2.0
QUANTUM_SAFE_SERVER 0x00000127 2.0
PKCS11_CLIENT 0x00000128 2.0
PKCS11_SERVER 0x00000129 2.0
BASELINE_CLIENT 0x0000012A 2.0
BASELINE_SERVER 0x0000012B 2.0
COMPLETE_SERVER 0x0000012C 2.0
======================================================= ========== ============ ======================================================= ========== ============
profile_information profile_version
(dict) (1.3) A dictionary containing information about a KMIP profile (dict) (2.0) A dictionary containing the major and minor version
supported by a KMIP server. Often obtained from the Query operation numbers of a KMIP profile. Often used with the :term:`profile_information`
response. structure.
>>> from kmip import enums >>> profile_version = {
>>> profile_information = { ... 'profile_version_major': 1,
... 'profile_name': enums.ProfileName.BASELINE_SERVER_BASIC_KMIPv12, ... 'profile_version_minor': 0
... 'server_uri': 'https://127.0.0.1',
... 'server_port': 5696
... } ... }
==================== ======= ============ ===================== ======= ============
Key Value KMIP Version Key Value KMIP Version
==================== ======= ============ ===================== ======= ============
:term:`profile_name` enum 1.3 profile_version_major int 2.0
server_uri string 1.3 profile_version_minor int 2.0
server_port int 1.3 ===================== ======= ============
==================== ======= ============
put_function put_function
(enum) (1.0) An enumeration specifying the state of an object being (enum) (1.0) An enumeration specifying the state of an object being
@ -1192,6 +1351,8 @@ Glossary
QUERY_PROFILES 0x0000000a 1.3 QUERY_PROFILES 0x0000000a 1.3
QUERY_CAPABILITIES 0x0000000b 1.3 QUERY_CAPABILITIES 0x0000000b 1.3
QUERY_CLIENT_REGISTRATION_METHODS 0x0000000c 1.3 QUERY_CLIENT_REGISTRATION_METHODS 0x0000000c 1.3
QUERY_DEFAULTS_INFORMATION 0x0000000D 2.0
QUERY_STORAGE_PROTECTION_MASKS 0x0000000E 2.0
================================= ========== ============ ================================= ========== ============
recommended_curve recommended_curve
@ -1274,6 +1435,8 @@ Glossary
BRAINPOOLP384T1 0x00000042 1.2 BRAINPOOLP384T1 0x00000042 1.2
BRAINPOOLP512R1 0x00000043 1.2 BRAINPOOLP512R1 0x00000043 1.2
BRAINPOOLP512T1 0x00000044 1.2 BRAINPOOLP512T1 0x00000044 1.2
CURVE25519 0x00000045 2.0
CURVE448 0x00000046 2.0
================ ========== ============ ================ ========== ============
result_reason result_reason
@ -1285,35 +1448,78 @@ Glossary
>>> enums.ResultReason.ITEM_NOT_FOUND >>> enums.ResultReason.ITEM_NOT_FOUND
<ResultReason.ITEM_NOT_FOUND: 1> <ResultReason.ITEM_NOT_FOUND: 1>
=================================== ========== ============ ====================================== ========== ============
Name Value KMIP Version Name Value KMIP Version
=================================== ========== ============ ====================================== ========== ============
ITEM_NOT_FOUND 0x00000001 1.0 ITEM_NOT_FOUND 0x00000001 1.0
RESPONSE_TOO_LARGE 0x00000002 1.0 RESPONSE_TOO_LARGE 0x00000002 1.0
AUTHENTICATION_NOT_SUCCESSFUL 0x00000003 1.0 AUTHENTICATION_NOT_SUCCESSFUL 0x00000003 1.0
INVALID_MESSAGE 0x00000004 1.0 INVALID_MESSAGE 0x00000004 1.0
OPERATION_NOT_SUPPORTED 0x00000005 1.0 OPERATION_NOT_SUPPORTED 0x00000005 1.0
MISSING_DATA 0x00000006 1.0 MISSING_DATA 0x00000006 1.0
INVALID_FIELD 0x00000007 1.0 INVALID_FIELD 0x00000007 1.0
FEATURE_NOT_SUPPORTED 0x00000008 1.0 FEATURE_NOT_SUPPORTED 0x00000008 1.0
OPERATION_CANCELED_BY_REQUESTER 0x00000009 1.0 OPERATION_CANCELED_BY_REQUESTER 0x00000009 1.0
CRYPTOGRAPHIC_FAILURE 0x0000000a 1.0 CRYPTOGRAPHIC_FAILURE 0x0000000a 1.0
ILLEGAL_OPERATION 0x0000000b 1.0 ILLEGAL_OPERATION 0x0000000b 1.0
PERMISSION_DENIED 0x0000000c 1.0 PERMISSION_DENIED 0x0000000c 1.0
OBJECT_ARCHIVED 0x0000000d 1.0 OBJECT_ARCHIVED 0x0000000d 1.0
INDEX_OUT_OF_BOUNDS 0x0000000e 1.0 INDEX_OUT_OF_BOUNDS 0x0000000e 1.0
APPLICATION_NAMESPACE_NOT_SUPPORTED 0x0000000f 1.0 APPLICATION_NAMESPACE_NOT_SUPPORTED 0x0000000f 1.0
KEY_FORMAT_TYPE_NOT_SUPPORTED 0x00000010 1.0 KEY_FORMAT_TYPE_NOT_SUPPORTED 0x00000010 1.0
KEY_COMPRESSION_TYPE_NOT_SUPPORTED 0x00000011 1.0 KEY_COMPRESSION_TYPE_NOT_SUPPORTED 0x00000011 1.0
ENCODING_OPTION_ERROR 0x00000012 1.1 ENCODING_OPTION_ERROR 0x00000012 1.1
KEY_VALUE_NOT_PRESENT 0x00000013 1.2 KEY_VALUE_NOT_PRESENT 0x00000013 1.2
ATTESTATION_REQUIRED 0x00000014 1.2 ATTESTATION_REQUIRED 0x00000014 1.2
ATTESTATION_FAILED 0x00000015 1.2 ATTESTATION_FAILED 0x00000015 1.2
SENSITIVE 0x00000016 1.4 SENSITIVE 0x00000016 1.4
NOT_EXTRACTABLE 0x00000017 1.4 NOT_EXTRACTABLE 0x00000017 1.4
OBJECT_ALREADY_EXISTS 0x00000018 1.4 OBJECT_ALREADY_EXISTS 0x00000018 1.4
GENERAL_FAILURE 0x00000100 1.0 INVALID_TICKET 0x00000019 2.0
=================================== ========== ============ USAGE_LIMIT_EXCEEDED 0x0000001A 2.0
NUMERIC_RANGE 0x0000001B 2.0
INVALID_DATA_TYPE 0x0000001C 2.0
READ_ONLY_ATTRIBUTE 0x0000001D 2.0
MULTI_VALUED_ATTRIBUTE 0x0000001E 2.0
UNSUPPORTED_ATTRIBUTE 0x0000001F 2.0
ATTRIBUTE_INSTANCE_NOT_FOUND 0x00000020 2.0
ATTRIBUTE_NOT_FOUND 0x00000021 2.0
ATTRIBUTE_READ_ONLY 0x00000022 2.0
ATTRIBUTE_SINGLE_VALUED 0x00000023 2.0
BAD_CRYPTOGRAPHIC_PARAMETERS 0x00000024 2.0
BAD_PASSWORD 0x00000025 2.0
CODEC_ERROR 0x00000026 2.0
ILLEGAL_OBJECT_TYPE 0x00000028 2.0
INCOMPATIBLE_CRYPTOGRAPHIC_USAGE_MASK 0x00000029 2.0
INTERNAL_SERVER_ERROR 0x0000002A 2.0
INVALID_ASYNCHRONOUS_CORRELATION_VALUE 0x0000002B 2.0
INVALID_ATTRIBUTE 0x0000002C 2.0
INVALID_ATTRIBUTE_VALUE 0x0000002D 2.0
INVALID_CORRELATION_VALUE 0x0000002E 2.0
INVALID_CSR 0x0000002F 2.0
INVALID_OBJECT_TYPE 0x00000030 2.0
KEY_WRAP_TYPE_NOT_SUPPORTED 0x00000032 2.0
MISSING_INITIALIZATION_VECTOR 0x00000034 2.0
NON_UNIQUE_NAME_ATTRIBUTE 0x00000035 2.0
OBJECT_DESTROYED 0x00000036 2.0
OBJECT_NOT_FOUND 0x00000037 2.0
NOT_AUTHORISED 0x00000039 2.0
SERVER_LIMIT_EXCEEDED 0x0000003A 2.0
UNKNOWN_ENUMERATION 0x0000003B 2.0
UNKNOWN_MESSAGE_EXTENSION 0x0000003C 2.0
UNKNOWN_TAG 0x0000003D 2.0
UNSUPPORTED_CRYPTOGRAPHIC_PARAMETERS 0x0000003E 2.0
UNSUPPORTED_PROTOCOL_VERSION 0x0000003F 2.0
WRAPPING_OBJECT_ARCHIVED 0x00000040 2.0
WRAPPING_OBJECT_DESTROYED 0x00000041 2.0
WRAPPING_OBJECT_NOT_FOUND 0x00000042 2.0
WRONG_KEY_LIFECYCLE_STATE 0x00000043 2.0
PROTECTION_STORAGE_UNAVAILABLE 0x00000044 2.0
PKCS11_CODEC_ERROR 0x00000045 2.0
PKCS11_INVALID_FUNCTION 0x00000046 2.0
PKCS11_INVALID_INTERFACE 0x00000047 2.0
GENERAL_FAILURE 0x00000100 1.0
====================================== ========== ============
result_status result_status
(enum) (1.0) An enumeration specifying the result of an operation. (enum) (1.0) An enumeration specifying the result of an operation.
@ -1499,12 +1705,13 @@ Glossary
>>> enums.StorageStatus.ARCHIVAL_STORAGE >>> enums.StorageStatus.ARCHIVAL_STORAGE
<StorageStatus.ARCHIVAL_STORAGE: 2> <StorageStatus.ARCHIVAL_STORAGE: 2>
================ ========== ============ ================= ========== ============
Name Value KMIP Version Name Value KMIP Version
================ ========== ============ ================= ========== ============
ONLINE_STORAGE 0x00000001 1.0 ONLINE_STORAGE 0x00000001 1.0
ARCHIVAL_STORAGE 0x00000002 1.0 ARCHIVAL_STORAGE 0x00000002 1.0
================ ========== ============ DESTROYED_STORAGE 0x00000004 2.0
================= ========== ============
unique_identifier unique_identifier
(str) (1.0) A string representing a unique, global identifier for a (str) (1.0) A string representing a unique, global identifier for a

View File

@ -35,4 +35,4 @@ Replace ``python-dev`` with ``python3-dev`` if you are using Python 3.0+.
.. code-block:: console .. code-block:: console
$ sudo apt-get install python-dev libff-dev libssl-dev libsqlite3-dev $ sudo apt-get install python-dev libffi-dev libssl-dev libsqlite3-dev