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

Sovereign, high-performance data protection

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 AttributeN/A✅✅✅✅✅✅
Archive❌❌❌❌❌❌❌
Cancel❌❌❌❌❌❌❌
Certify✅✅✅✅✅✅✅
Check✅✅✅✅✅✅✅
Create✅✅✅✅✅✅✅
Create Key Pair✅✅✅✅✅✅✅
Create Split KeyN/AN/A✅✅✅✅✅
DecryptN/AN/A✅✅✅✅✅
Delete AttributeN/A✅✅✅✅✅✅
DeriveKey✅✅✅✅✅✅✅
Destroy✅✅✅✅✅✅✅
Discover VersionsN/A✅✅✅✅✅✅
EncryptN/AN/A✅✅✅✅✅
ExportN/AN/AN/AN/A✅✅✅
Get✅✅✅✅✅✅✅
Get Attribute ListN/A✅✅✅✅✅✅
Get AttributesN/A✅✅✅✅✅✅
Get Usage Allocation❌❌❌❌❌❌❌
HashN/AN/A✅✅✅✅✅
ImportN/AN/AN/AN/A✅✅✅
Join Split KeyN/AN/A✅✅✅✅✅
Locate✅✅✅✅✅✅✅
MACN/AN/A✅✅✅✅✅
MAC VerifyN/AN/A✅✅✅✅✅
NotifyN/AN/AN/AN/AN/A❌❌
Obtain Lease❌❌❌❌❌❌❌
Poll❌❌❌❌❌❌❌
PutN/AN/AN/AN/AN/A❌❌
Query✅✅✅✅✅✅✅
RNG RetrieveN/AN/A✅✅✅✅✅
RNG SeedN/AN/A✅✅✅✅✅
Re-certify❌❌❌❌❌❌❌
Re-key✅✅✅✅✅✅✅
Re-key Key PairN/A✅✅✅✅✅✅
Recover❌❌❌❌❌❌❌
Register✅✅✅✅✅✅✅
Revoke✅✅✅✅✅✅✅
Set Attribute (Modify)N/AN/AN/AN/AN/A✅✅
SignN/AN/A✅✅✅✅✅
Signature VerifyN/AN/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🚫🚫🚫🚫🚫N/AN/A
Secret Data✅✅✅✅✅✅✅
Opaque Data✅✅✅✅✅✅✅
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 Object1.01.11.21.31.42.02.1
Attribute❌❌❌❌❌❌❌
Credential❌❌❌❌❌❌❌
Key Block✅✅✅✅✅✅✅
Key Value❌❌❌❌❌❌❌
Key Wrapping Data✅✅✅✅✅✅✅
Key Wrapping Specification✅✅✅✅✅✅✅
Transparent Key Structures✅✅✅✅✅N/AN/A
Template-Attribute StructuresN/A✅✅✅✅N/AN/A
Server Information✅✅✅✅✅✅✅
Extension InformationN/A❌❌❌❌❌❌
Data✅✅✅✅✅✅✅
Data LengthN/AN/A✅✅✅✅✅
Signature DataN/AN/A✅✅✅✅✅
MAC DataN/AN/A✅✅✅✅✅
Nonce✅✅✅✅✅✅✅
Correlation Value✅✅✅✅✅✅✅
Init IndicatorN/AN/AN/A✅✅✅✅
Final IndicatorN/AN/AN/A✅✅✅✅
RNG ParametersN/AN/AN/A❌❌❌❌
Profile InformationN/AN/AN/A❌❌❌❌
Validation InformationN/AN/AN/A❌❌❌❌
Capability InformationN/AN/AN/A❌❌❌❌
Authenticated Encryption Additional DataN/AN/AN/AN/A✅✅✅
Authenticated Encryption TagN/AN/AN/AN/A✅✅✅

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 Key❌❌❌❌❌❌❌
DH Public Key❌❌❌❌❌❌❌
EC Private KeyN/AN/AN/A✅✅✅✅
EC Public Key✅✅✅✅✅✅✅
ECDSA Private Key✅✅✅✅✅N/AN/A
ECDSA Public Key✅✅✅✅✅N/AN/A
ECDH Private Key✅✅✅✅✅N/AN/A
ECDH Public Key✅✅✅✅✅N/AN/A
ECMQV Private Key❌❌❌❌❌N/AN/A
ECMQV Public Key❌❌❌❌❌N/AN/A

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

Attributes

Attribute1.01.11.21.31.42.02.1
Activation Date✅✅✅✅✅✅✅
Alternative NameN/AN/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 Date✅✅✅✅✅✅✅
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/AN/AN/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.