Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

KMIP support by Eviden KMS

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)

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

MessageSupport
Request Message
Response Message

Operations by KMIP Version

The following table shows operation support across all KMIP versions.

Operation1.01.11.21.31.42.02.1
Activate
Add Attribute
Archive
Cancel
Certify
Check
Create
Create Key Pair
Create Split KeyN/AN/AN/A
DecryptN/A
Delete Attribute
DeriveKey
Destroy
Discover Versions
EncryptN/A
ExportN/AN/AN/AN/A
Get
Get Attribute List
Get Attributes
Get Usage Allocation
HashN/A
ImportN/AN/AN/AN/A
Join Split KeyN/AN/AN/A
Locate
MACN/A
MAC VerifyN/A
Notify
Obtain Lease
Poll
Put
Query
RNG RetrieveN/A
RNG SeedN/A
Re-certify
Re-key
Re-key Key PairN/AN/A
Recover
Register
Revoke
Set Attribute (Modify)N/AN/A
SignN/A
Signature VerifyN/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 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.

Managed Objects

The following table shows managed object support across all KMIP versions.

Managed Object1.01.11.21.31.42.02.1
Certificate
Symmetric Key
Public Key
Private Key
Split Key
Template🚫🚫🚫🚫🚫🚫🚫
Secret Data
Opaque Data
PGP KeyN/AN/AN/AN/AN/AN/AN/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.

Base Objects

The following table shows base object support across all KMIP versions.

Base Object1.01.11.21.31.42.02.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.

Transparent Key Structures

The following table shows transparent key structure support across all KMIP versions.

Structure1.01.11.21.31.42.02.1
Symmetric Key
DSA Private Key
DSA Public Key
RSA Private Key
RSA Public Key
DH Private KeyN/AN/AN/AN/AN/AN/AN/A
DH Public KeyN/AN/AN/AN/AN/AN/AN/A
EC Private Key
EC Public Key
ECDSA Private KeyN/AN/AN/AN/AN/AN/AN/A
ECDSA Public KeyN/AN/AN/AN/AN/AN/AN/A
ECDH Private KeyN/AN/AN/AN/AN/AN/AN/A
ECDH Public KeyN/AN/AN/AN/AN/AN/AN/A
ECMQV Private KeyN/AN/AN/AN/AN/AN/AN/A
ECMQV Public KeyN/AN/AN/AN/AN/AN/AN/A

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

Attributes

Attribute1.01.11.21.31.42.02.1
Activation Date
Alternative NameN/A
Always SensitiveN/AN/AN/AN/A
Application Specific Information
Archive Date
Attribute Index🔧🔧🔧🔧🔧🔧🔧
Certificate AttributesN/AN/AN/AN/AN/A
Certificate LengthN/A
Certificate Type
CommentN/AN/AN/AN/A
Compromise Date
Compromise Occurrence Date
Contact Information
Critical🔧🔧🔧🔧🔧🔧🔧
Cryptographic Algorithm
Cryptographic Domain Parameters
Cryptographic Length
Cryptographic Parameters
Cryptographic Usage Mask
Deactivation Date
DescriptionN/AN/AN/AN/A
Destroy Date
Digest
Digital Signature AlgorithmN/A
ExtractableN/AN/AN/AN/A
FreshN/A
Initial DateN/A
Key Format TypeN/AN/AN/AN/AN/A
Key Value LocationN/AN/A
Key Value PresentN/AN/A
Last Change Date
Lease Time
Link
Name
Never ExtractableN/AN/AN/AN/A
Nist Key TypeN/AN/AN/AN/AN/A
Object Group
Object Group Member🔧🔧🔧🔧🔧🔧🔧
Object Type
Opaque Data TypeN/AN/AN/AN/AN/A
Original Creation DateN/AN/A
PKCS#12 Friendly NameN/AN/AN/AN/A
Process Start Date
Protect Stop Date
Protection LevelN/AN/AN/AN/AN/A
Protection PeriodN/AN/AN/AN/AN/A
Protection Storage MasksN/AN/AN/AN/AN/A
Quantum SafeN/AN/AN/AN/AN/A
Random Number GeneratorN/A
Revocation Reason
Rotate AutomaticN/AN/AN/AN/AN/AN/A
Rotate DateN/AN/AN/AN/AN/AN/A
Rotate GenerationN/AN/AN/AN/AN/AN/A
Rotate IntervalN/AN/AN/AN/AN/AN/A
Rotate LatestN/AN/AN/AN/AN/AN/A
Rotate NameN/AN/AN/AN/AN/AN/A
Rotate OffsetN/AN/AN/AN/AN/AN/A
SensitiveN/AN/AN/AN/A
Short Unique IdentifierN/AN/AN/AN/AN/A
State
Unique Identifier
Usage Limits
Vendor AttributeN/AN/AN/AN/AN/A
X.509 Certificate IdentifierN/A
X.509 Certificate IssuerN/A
X.509 Certificate SubjectN/A

Notes:

  • ✅ = attribute defined in that KMIP version and implemented by this server.
  • ❌ = attribute defined in that KMIP version but not yet implemented.
  • N/A = attribute was not defined in that KMIP version (protocol gap, not a server limitation).
  • 🔧 = Cosmian-specific extension — attribute is absent from all standard KMIP versions.
  • 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.
  • AlwaysSensitive, NeverExtractable, Extractable, and Sensitive were introduced in KMIP 1.4 and must not appear in responses to KMIP 1.0–1.3 clients (the server enforces this automatically).
  • Rotate* attributes were introduced in KMIP 2.1.