Skip to content

KMIP support by Cosmian KMSΒΆ

This page summarizes the KMIP coverage in Cosmian KMS. The support status is derived from the actual implementation in crate/server/src/core/operations.

Cosmian 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)

KMIP Baseline Profile ComplianceΒΆ

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

KMIP CoverageΒΆ

MessagesΒΆ

Message Support
Request Message βœ…
Response Message βœ…

Operations by KMIP VersionΒΆ

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 N/A βœ… βœ… βœ… βœ… βœ… βœ…
Archive ❌ ❌ ❌ ❌ ❌ ❌ ❌
Cancel ❌ ❌ ❌ ❌ ❌ ❌ ❌
Certify βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Check ❌ ❌ ❌ ❌ ❌ ❌ ❌
Create βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Create Key Pair βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Create Split Key N/A N/A ❌ ❌ ❌ ❌ ❌
Decrypt N/A N/A βœ… βœ… βœ… βœ… βœ…
Delete Attribute N/A βœ… βœ… βœ… βœ… βœ… βœ…
DeriveKey βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Destroy βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Discover Versions N/A βœ… βœ… βœ… βœ… βœ… βœ…
Encrypt N/A N/A βœ… βœ… βœ… βœ… βœ…
Export N/A N/A N/A N/A βœ… βœ… βœ…
Get βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Get Attribute List N/A ❌ ❌ ❌ ❌ ❌ ❌
Get Attributes N/A βœ… βœ… βœ… βœ… βœ… βœ…
Get Usage Allocation ❌ ❌ ❌ ❌ ❌ ❌ ❌
Hash N/A N/A βœ… βœ… βœ… βœ… βœ…
Import N/A N/A N/A N/A βœ… βœ… βœ…
Join Split Key N/A N/A ❌ ❌ ❌ ❌ ❌
Locate βœ… βœ… βœ… βœ… βœ… βœ… βœ…
MAC N/A N/A βœ… βœ… βœ… βœ… βœ…
MAC Verify N/A N/A ❌ ❌ ❌ ❌ ❌
Modify Attribute N/A ❌ ❌ ❌ ❌ ❌ ❌
Notify N/A N/A N/A N/A N/A ❌ ❌
Obtain Lease ❌ ❌ ❌ ❌ ❌ ❌ ❌
Poll ❌ ❌ ❌ ❌ ❌ ❌ ❌
Put N/A N/A N/A N/A N/A ❌ ❌
Query βœ… βœ… βœ… βœ… βœ… βœ… βœ…
RNG Retrieve N/A N/A ❌ ❌ ❌ ❌ ❌
RNG Seed N/A N/A ❌ ❌ ❌ ❌ ❌
Re-certify ❌ ❌ ❌ ❌ ❌ ❌ ❌
Re-key βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Re-key Key Pair N/A βœ… βœ… βœ… βœ… βœ… βœ…
Recover ❌ ❌ ❌ ❌ ❌ ❌ ❌
Register βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Revoke βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Set Attribute (Modify) N/A N/A N/A N/A N/A βœ… βœ…
Sign N/A N/A βœ… βœ… βœ… βœ… βœ…
Signature Verify N/A N/A βœ… βœ… βœ… βœ… βœ…
Validate βœ… βœ… βœ… βœ… βœ… βœ… βœ…

MethodologyΒΆ

  • 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 Cosmian 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.

Managed ObjectsΒΆ

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 🚫 🚫 🚫 🚫 🚫 N/A N/A
Secret Data βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Opaque Object N/A N/A N/A N/A N/A N/A N/A
PGP Key ❌ ❌ ❌ ❌ ❌ ❌ ❌

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.

Base ObjectsΒΆ

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 βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Extension Information βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Data ❌ ❌ ❌ ❌ ❌ ❌ ❌
Data Length ❌ ❌ ❌ ❌ ❌ ❌ ❌
Signature Data ❌ ❌ ❌ ❌ ❌ ❌ ❌
MAC Data ❌ ❌ ❌ ❌ ❌ ❌ ❌
Nonce βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Correlation Value ❌ ❌ ❌ ❌ ❌ ❌ ❌
Init Indicator ❌ ❌ ❌ ❌ ❌ ❌ ❌
Final Indicator ❌ ❌ ❌ ❌ ❌ ❌ ❌
RNG Parameter βœ… βœ… βœ… βœ… βœ… βœ… βœ…
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.

Transparent Key StructuresΒΆ

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 ❌ ❌ ❌ ❌ ❌ ❌ ❌
DH Public Key ❌ ❌ ❌ ❌ ❌ ❌ ❌
ECDSA Private Key βœ… βœ… βœ… βœ… βœ… N/A N/A
ECDSA Public Key βœ… βœ… βœ… βœ… βœ… N/A N/A
ECDH Private Key ❌ ❌ ❌ ❌ ❌ N/A N/A
ECDH Public Key ❌ ❌ ❌ ❌ ❌ N/A N/A
ECMQV Private Key ❌ ❌ ❌ ❌ ❌ N/A N/A
ECMQV Public Key ❌ ❌ ❌ ❌ ❌ N/A N/A
EC Private Key N/A N/A N/A βœ… βœ… βœ… βœ…
EC Public Key βœ… βœ… βœ… βœ… βœ… βœ… βœ…

Note: EC/ECDSA support is present; DH/DSA/ECMQV are not implemented.

AttributesΒΆ

Attribute 1.0 1.1 1.2 1.3 1.4 2.0 2.1
Activation Date βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Alternative Name ❌ ❌ ❌ ❌ ❌ ❌ ❌
Always Sensitive ❌ ❌ ❌ ❌ ❌ ❌ ❌
Application Specific Information ❌ ❌ ❌ ❌ ❌ ❌ ❌
Archive Date ❌ ❌ ❌ ❌ ❌ ❌ ❌
Attribute Index ❌ ❌ ❌ ❌ ❌ ❌ ❌
Certificate Attributes ❌ ❌ ❌ ❌ ❌ ❌ ❌
Certificate Identifier 🚫 🚫 🚫 🚫 🚫 🚫 🚫
Certificate Issuer 🚫 🚫 🚫 🚫 🚫 🚫 🚫
Certificate Length ❌ ❌ ❌ ❌ ❌ ❌ ❌
Certificate Subject 🚫 🚫 🚫 🚫 🚫 🚫 🚫
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 ❌ ❌ ❌ ❌ ❌ ❌ ❌
Operation Policy Name 🚫 🚫 🚫 🚫 🚫 🚫 🚫
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 Cosmian 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, explicitly excluding the attribute-only handlers (Add/Delete/Get/Set Attribute).
  • Most attributes are present across all KMIP versions with some additions in newer versions.

Β© Copyright 2018-2025 Cosmian. All rights reserved.