This page summarizes the KMIP coverage in Eviden KMS. The support status is
derived from the actual implementation in crate/server/src/core/operations.
Eviden KMS Server supports KMIP versions: 2.1, 2.0, 1.4, 1.3, 1.2, 1.1, 1.0
Legend:
- ✅ Fully supported
- ❌ Not implemented
- 🚫 Deprecated
- N/A Not applicable (operation/attribute not defined in that KMIP version)
Baseline Server: ✅ Compliant (all 9 required + 18/18 optional)
The Baseline Server profile (defined in KMIP Profiles v2.1 Section 4.1) requires:
- Required operations: Discover Versions, Query, Create, Register, Get, Destroy, Locate, Activate, Revoke
- Optional operations: Many additional operations for extended functionality
| Message | Support |
|---|---|
| Request Message | ✅ |
| Response Message | ✅ |
The following table shows operation support across all KMIP versions.
| Operation | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 2.0 | 2.1 |
|---|---|---|---|---|---|---|---|
| Activate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Add Attribute | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Archive | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Cancel | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Certify | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Check | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Create | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Create Key Pair | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Create Split Key | N/A | N/A | N/A | ❌ | ❌ | ❌ | ❌ |
| Decrypt | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Delete Attribute | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| DeriveKey | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Destroy | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Discover Versions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Encrypt | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Export | N/A | N/A | N/A | N/A | ✅ | ✅ | ✅ |
| Get | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Get Attribute List | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Get Attributes | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Get Usage Allocation | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Hash | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Import | N/A | N/A | N/A | N/A | ✅ | ✅ | ✅ |
| Join Split Key | N/A | N/A | N/A | ❌ | ❌ | ❌ | ❌ |
| Locate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MAC | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MAC Verify | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Notify | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Obtain Lease | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Poll | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Put | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Query | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| RNG Retrieve | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| RNG Seed | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Re-certify | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Re-key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Re-key Key Pair | N/A | N/A | ✅ | ✅ | ✅ | ✅ | ✅ |
| Recover | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Register | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Revoke | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Set Attribute (Modify) | N/A | N/A | ✅ | ✅ | ✅ | ✅ | ✅ |
| Sign | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Signature Verify | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Validate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
- Operations marked ✅ are backed by a Rust implementation file under
crate/server/src/core/operations. - Operations marked ❌ are defined in the KMIP specification but not implemented in Eviden KMS.
- Operations marked N/A do not exist in that particular KMIP version.
- This documentation is auto-generated by analyzing source code and KMIP specifications.
If you spot a mismatch or want to extend coverage, please open an issue or PR.
The following table shows managed object support across all KMIP versions.
| Managed Object | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 2.0 | 2.1 |
|---|---|---|---|---|---|---|---|
| Certificate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Symmetric Key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Public Key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Private Key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Split Key | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Template | 🚫 | 🚫 | 🚫 | 🚫 | 🚫 | 🚫 | 🚫 |
| Secret Data | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Opaque Data | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| PGP Key | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
Notes:
- Opaque Object import support is present (see
import.rs). - PGP Key types appear in digest and attribute handling but full object import/register is not implemented, hence ❌.
- Template objects are deprecated in newer KMIP versions.
The following table shows base object support across all KMIP versions.
| Base Object | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 2.0 | 2.1 |
|---|---|---|---|---|---|---|---|
| Attribute | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Credential | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Key Block | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Key Value | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Key Wrapping Data | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Key Wrapping Specification | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Transparent Key Structures | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Template-Attribute Structures | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Server Information | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Extension Information | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Data | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Data Length | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Signature Data | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MAC Data | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Nonce | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Correlation Value | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Init Indicator | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Final Indicator | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| RNG Parameters | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Profile Information | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Validation Information | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Capability Information | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Authenticated Encryption Additional Data | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Authenticated Encryption Tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Notes:
- AEAD Additional Data and Tag are supported in encrypt/decrypt APIs.
- Nonce and RNG Parameter are used by symmetric encryption paths.
- Base objects are fundamental structures present across all KMIP versions.
The following table shows transparent key structure support across all KMIP versions.
| Structure | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 2.0 | 2.1 |
|---|---|---|---|---|---|---|---|
| Symmetric Key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| DSA Private Key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| DSA Public Key | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| RSA Private Key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| RSA Public Key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| DH Private Key | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| DH Public Key | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| EC Private Key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| EC Public Key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| ECDSA Private Key | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ECDSA Public Key | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ECDH Private Key | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ECDH Public Key | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ECMQV Private Key | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ECMQV Public Key | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
Note: EC/ECDSA support is present; DH/DSA/ECMQV are not implemented.
| Attribute | Current |
|---|---|
| Activation Date | ✅ |
| Alternative Name | ✅ |
| Always Sensitive | ✅ |
| Application Specific Information | ✅ |
| Archive Date | ✅ |
| Attribute Index | ✅ |
| Certificate Attributes | ✅ |
| Certificate Length | ✅ |
| Certificate Type | ✅ |
| Comment | ✅ |
| Compromise Date | ✅ |
| Compromise Occurrence Date | ✅ |
| Contact Information | ✅ |
| Critical | ✅ |
| Cryptographic Algorithm | ✅ |
| Cryptographic Domain Parameters | ✅ |
| Cryptographic Length | ✅ |
| Cryptographic Parameters | ✅ |
| Cryptographic Usage Mask | ✅ |
| Deactivation Date | ✅ |
| Description | ✅ |
| Destroy Date | ✅ |
| Digest | ✅ |
| Digital Signature Algorithm | ✅ |
| Extractable | ✅ |
| Fresh | ✅ |
| Initial Date | ✅ |
| Key Format Type | ✅ |
| Key Value Location | ✅ |
| Key Value Present | ✅ |
| Last Change Date | ✅ |
| Lease Time | ✅ |
| Link | ✅ |
| Name | ✅ |
| Never Extractable | ✅ |
| Nist Key Type | ✅ |
| Object Group | ✅ |
| Object Group Member | ✅ |
| Object Type | ✅ |
| Opaque Data Type | ✅ |
| Original Creation Date | ✅ |
| PKCS#12 Friendly Name | ✅ |
| Process Start Date | ✅ |
| Protect Stop Date | ✅ |
| Protection Level | ✅ |
| Protection Period | ✅ |
| Protection Storage Masks | ✅ |
| Quantum Safe | ✅ |
| Random Number Generator | ✅ |
| Revocation Reason | ✅ |
| Rotate Date | ✅ |
| Rotate Generation | ✅ |
| Rotate Interval | ✅ |
| Rotate Latest | ✅ |
| Rotate Name | ✅ |
| Rotate Offset | ✅ |
| Sensitive | ✅ |
| Short Unique Identifier | ✅ |
| State | ✅ |
| Unique Identifier | ✅ |
| Usage Limits | ✅ |
| Vendor Attribute | ✅ |
| X.509 Certificate Identifier | ✅ |
| X.509 Certificate Issuer | ✅ |
| X.509 Certificate Subject | ✅ |
Notes:
- GetAttributes returns a union of metadata attributes and those embedded in KeyBlock structures.
- "Vendor Attributes" are available via the Eviden vendor namespace and are accessible via GetAttributes.
- A ✅ indicates the attribute is used or updated by at least one KMIP operation implementation in
crate/server/src/core/operations, including attribute handlers (Add/Delete/Set/Get Attribute). - Most attributes are present across all KMIP versions with some additions in newer versions.