---
title: "How to connect a compatible product using KMIP protocol"
description: "Learn about the usage of the KMIP protocol and the different operations and types supported by the OVHcloud KMS."
url: https://docs.us.ovhcloud.com/en/manage-and-operate/kms/connect-product-using-kmip
lang: en
---
> For AI agents: the complete documentation index is available at https://docs.us.ovhcloud.com/en/llms.txt, the full documentation bundle is available at https://docs.us.ovhcloud.com/en/llms-full.txt.

# How to connect a compatible product using KMIP protocol

**Learn about the usage of the KMIP protocol and the different operations and types supported by the OVHcloud KMS.**

 

## Requirements

- An [OVHcloud customer account](https://docs.us.ovhcloud.com/en/account/account-information/create-account.md)
- An [OVHcloud KMS ordered and an access certificate created](https://docs.us.ovhcloud.com/en/manage-and-operate/kms/quick-start.md)

 

## Instructions

### Description

[KMIP](https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=kmip) (Key Management Interoperability Protocol) is designed to standardize communications with a KMS.

So, any products supporting KMIP (such as VMware vSphere, Veeam, Nutanix, etc.) can natively be interfaced with a KMIP-compatible KMS, such as the OVHcloud KMS, hosted by OVHcloud or not.

It brings an easy connection and a reversible configuration.

 

### Connection of a KMIP-compatible product with the OVHcloud KMS

The configuration depends on the product's integration but does not need any specific configuration on the OVHcloud KMS other than generating an access certificate. Software editors usually offer dedicated guides for this purpose.

As an example, the following products were validated with the OVHcloud KMS:

- [Nutanix](https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Security-Guide-v6_8:wc-security-data-encryption-setup-t.html)
- [VMware](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-security/GUID-9035D542-B76B-4244-966D-2A8D92ABF54C.html)
- [MongoDB](https://www.mongodb.com/docs/manual/core/csfle/tutorials/kmip/kmip-automatic/)
- [Barbican](https://docs.openstack.org/barbican/latest/install/barbican-backend.html#kmip-plugin) - for On-Premise usage
- [NetApp](https://docs.netapp.com/us-en/ontap/encryption-at-rest/configure-external-key-management-concept.html) - for On-Premise usage

 

### Direct use

It's also possible to use the KMIP API directly.

Authentication on this protocol is done with a client certificate, in the same way as for the REST API. It needs to open a TLS channel with a valid access certificate.

Then, it's possible to exchange KMIP messages such as defined in the standard. Depending on the technology stack, we recommend the following libraries:

- [PyKMIP for Python](https://github.com/OpenKMIP/PyKMIP)
- [Libkmip for C](https://github.com/OpenKMIP/libkmip)

You can also use [our SDK for Go](https://github.com/ovh/kmip-go).

 

### IAM rights

KMIP operations with IAM users need specific authorizations as described below:

| KMIP Operation     | Description                                  | Action                       |
| ------------------ | -------------------------------------------- | ---------------------------- |
| Create             | Create managed object                        | okms:kmip:create             |
| Get                | Get managed object                           | okms:kmip:get                |
| Register           | Register managed object                      | okms:kmip:register           |
| Activate           | Activate managed object                      | okms:kmip:activate           |
| Revoke             | Revoke managed object                        | okms:kmip:revoke             |
| Destroy            | Destroy managed object                       | okms:kmip:destroy            |
| CreateKeyPair      | Create key pair                              | okms:kmip:createKeyPair      |
| AddAttribute       | Add managed object attribute                 | okms:kmip:addAttribute       |
| GetAttributes      | Get one or more of managed object attributes | okms:kmip:getAttributes      |
| GetAttributeList   | Get list of the attribute names              | okms:kmip:getAttributeList   |
| ModifyAttribute    | Modify managed object attribute              | okms:kmip:modifyAttribute    |
| DeleteAttribute    | Delete managed object attribute              | okms:kmip:deleteAttribute    |
| Locate             | Locate managed object                        | okms:kmip:locate             |
| Archive            | Archive managed object                       | okms:kmip:archive            |
| Recover            | Recover managed object                       | okms:kmip:recover            |
| Re-key             | Re-key a Key                                 | okms:kmip:rekey              |
| Re-key Key Pair    | Re-key a Key Pair                            | okms:kmip:rekeyKeyPair       |
| ObtainLease        | Obtain lease on managed object               | okms:kmip:obtainLease        |
| GetUsageAllocation | Get Usage Allocation of managed object       | okms:kmip:getUsageAllocation |
| Encrypt            | Encrypt with managed object                  | okms:kmip:encrypt            |
| Decrypt            | Decrypt with managed object                  | okms:kmip:decrypt            |
| Sign               | Sign with managed object                     | okms:kmip:sign               |
| Signature Verify   | Verify with managed object                   | okms:kmip:signatureVerify    |

 

### KMIP coverage

The OVHcloud KMS covers, at least in part, versions 1.0 to 1.4 of the KMIP standard.

Details of the coverage are available here:

> **Legend:**
>
> - N/A : Not Applicable
> - ✅ : Fully compatible
> - 🚧 : Partially compatible
> - ❌ : Not implemented
> - 🚫 : Deprecated

#### Messages

|                  | v1.0 | v1.1 | v1.2 | v1.3 | v1.4 |
| ---------------- | ---- | ---- | ---- | ---- | ---- |
| Request Message  | ✅    | ✅    | ✅    | ✅    | ✅    |
| Response Message | ✅    | ✅    | ✅    | ✅    | ✅    |

 

#### Operations

| Operation            | v1.0 | v1.1 | v1.2 | v1.3 | v1.4 |
| -------------------- | ---- | ---- | ---- | ---- | ---- |
| Create               | ✅    | ✅    | ✅    | ✅    | ✅    |
| Create Key Pair      | ✅    | ✅    | ✅    | ✅    | ✅    |
| Register             | ✅    | ✅    | ✅    | ✅    | ✅    |
| Re-key               | ✅    | ✅    | ✅    | ✅    | ✅    |
| DeriveKey            | ❌    | ❌    | ❌    | ❌    | ❌    |
| Certify              | ❌    | ❌    | ❌    | ❌    | ❌    |
| Re-certify           | ❌    | ❌    | ❌    | ❌    | ❌    |
| Locate               | ✅    | ✅    | ✅    | ✅    | ✅    |
| Check                | ❌    | ❌    | ❌    | ❌    | ❌    |
| Get                  | ✅    | ✅    | ✅    | ✅    | ✅    |
| Get Attributes       | ✅    | ✅    | ✅    | ✅    | ✅    |
| Get Attribute List   | ✅    | ✅    | ✅    | ✅    | ✅    |
| Add Attribute        | ✅    | ✅    | ✅    | ✅    | ✅    |
| Modify Attribute     | ✅    | ✅    | ✅    | ✅    | ✅    |
| Delete Attribute     | ✅    | ✅    | ✅    | ✅    | ✅    |
| Obtain Lease         | ✅    | ✅    | ✅    | ✅    | ✅    |
| Get Usage Allocation | ✅    | ✅    | ✅    | ✅    | ✅    |
| Activate             | ✅    | ✅    | ✅    | ✅    | ✅    |
| Revoke               | ✅    | ✅    | ✅    | ✅    | ✅    |
| Destroy              | ✅    | ✅    | ✅    | ✅    | ✅    |
| Archive              | ✅    | ✅    | ✅    | ✅    | ✅    |
| Recover              | ✅    | ✅    | ✅    | ✅    | ✅    |
| Validate             | ❌    | ❌    | ❌    | ❌    | ❌    |
| Query                | ✅    | ✅    | ✅    | ✅    | ✅    |
| Cancel               | ❌    | ❌    | ❌    | ❌    | ❌    |
| Poll                 | ❌    | ❌    | ❌    | ❌    | ❌    |
| Notify               | ❌    | ❌    | ❌    | ❌    | ❌    |
| Put                  | ❌    | ❌    | ❌    | ❌    | ❌    |
| Discover             | N/A  | ✅    | ✅    | ✅    | ✅    |
| Re-key Key Pair      | N/A  | ✅    | ✅    | ✅    | ✅    |
| Encrypt              | N/A  | N/A  | ✅    | ✅    | ✅    |
| Decrypt              | N/A  | N/A  | ✅    | ✅    | ✅    |
| Sign                 | N/A  | N/A  | ✅    | ✅    | ✅    |
| Signature Verify     | N/A  | N/A  | ✅    | ✅    | ✅    |
| MAC                  | N/A  | N/A  | ❌    | ❌    | ❌    |
| MAC Verify           | N/A  | N/A  | ❌    | ❌    | ❌    |
| RNG Retrieve         | N/A  | N/A  | ❌    | ❌    | ❌    |
| RNG Seed             | N/A  | N/A  | ❌    | ❌    | ❌    |
| Hash                 | N/A  | N/A  | ❌    | ❌    | ❌    |
| Create Split Key     | N/A  | N/A  | ❌    | ❌    | ❌    |
| Join Split Key       | N/A  | N/A  | ❌    | ❌    | ❌    |
| Export               | N/A  | N/A  | N/A  | N/A  | ❌    |
| Import               | N/A  | N/A  | N/A  | N/A  | ❌    |

 

#### Managed Objects

| Object        | v1.0 | v1.1 | v1.2 | v1.3 | v1.4 |
| ------------- | ---- | ---- | ---- | ---- | ---- |
| Certificate   | ✅    | ✅    | ✅    | ✅    | ✅    |
| Symmetric Key | ✅    | ✅    | ✅    | ✅    | ✅    |
| Public Key    | ✅    | ✅    | ✅    | ✅    | ✅    |
| Private Key   | ✅    | ✅    | ✅    | ✅    | ✅    |
| Split Key     | ✅    | ✅    | ✅    | ✅    | ✅    |
| Template      | ✅    | ✅    | ✅    | 🚫   | 🚫   |
| Secret Data   | ✅    | ✅    | ✅    | ✅    | ✅    |
| Opaque Object | ✅    | ✅    | ✅    | ✅    | ✅    |
| PGP Key       | N/A  | N/A  | ✅    | ✅    | ✅    |

 

#### Base Objects

| Object                                   | v1.0 | v1.1 | v1.2 | v1.3 | v1.4 |
| ---------------------------------------- | ---- | ---- | ---- | ---- | ---- |
| Attribute                                | ✅    | ✅    | ✅    | ✅    | ✅    |
| Credential                               | ✅    | ✅    | ✅    | ✅    | ✅    |
| Key Block                                | ✅    | ✅    | ✅    | ✅    | ✅    |
| Key Value                                | ✅    | ✅    | ✅    | ✅    | ✅    |
| Key Wrapping Data                        | ✅    | ✅    | ✅    | ✅    | ✅    |
| Key Wrapping Specification               | ✅    | ✅    | ✅    | ✅    | ✅    |
| Transparent Key Structures               | 🚧   | 🚧   | 🚧   | 🚧   | 🚧   |
| Template-Attribute Structures            | ✅    | ✅    | ✅    | ✅    | ✅    |
| Extension Information                    | N/A  | ✅    | ✅    | ✅    | ✅    |
| Data                                     | N/A  | N/A  | ❌    | ❌    | ❌    |
| Data Length                              | N/A  | N/A  | ❌    | ❌    | ❌    |
| Signature Data                           | N/A  | N/A  | ❌    | ❌    | ❌    |
| MAC Data                                 | N/A  | N/A  | ❌    | ❌    | ❌    |
| Nonce                                    | N/A  | N/A  | ✅    | ✅    | ✅    |
| Correlation Value                        | N/A  | N/A  | N/A  | ❌    | ❌    |
| Init Indicator                           | N/A  | N/A  | N/A  | ❌    | ❌    |
| Final Indicator                          | N/A  | N/A  | N/A  | ❌    | ❌    |
| RNG Parameter                            | N/A  | N/A  | N/A  | ✅    | ✅    |
| Profile Information                      | N/A  | N/A  | N/A  | ✅    | ✅    |
| Validation Information                   | N/A  | N/A  | N/A  | ✅    | ✅    |
| Capability Information                   | N/A  | N/A  | N/A  | ✅    | ✅    |
| Authenticated Encryption Additional Data | N/A  | N/A  | N/A  | N/A  | ❌    |
| Authenticated Encryption Tag             | N/A  | N/A  | N/A  | N/A  | ❌    |

 

#### Transparent Key Structures

| Object                   | v1.0 | v1.1 | v1.2 | v1.3 | v1.4 |
| ------------------------ | ---- | ---- | ---- | ---- | ---- |
| Symmetric Key            | ✅    | ✅    | ✅    | ✅    | ✅    |
| DSA Private/Public Key   | ❌    | ❌    | ❌    | ❌    | ❌    |
| RSA Private/Public Key   | ✅    | ✅    | ✅    | ✅    | ✅    |
| DH Private/Public Key    | ❌    | ❌    | ❌    | ❌    | ❌    |
| ECDSA Private/Public Key | ✅    | ✅    | ✅    | 🚫   | 🚫   |
| ECDH Private/Public Key  | ❌    | ❌    | ❌    | 🚫   | 🚫   |
| ECMQV Private/Public     | ❌    | ❌    | ❌    | 🚫   | 🚫   |
| EC Private/Public        | N/A  | N/A  | N/A  | ✅    | ✅    |

 

#### Attributes

| Attribute                        | v1.0 | v1.1 | v1.2 | v1.3 | v1.4 |
| -------------------------------- | ---- | ---- | ---- | ---- | ---- |
| Unique Identifier                | ✅    | ✅    | ✅    | ✅    | ✅    |
| Name                             | ✅    | ✅    | ✅    | ✅    | ✅    |
| Object Type                      | ✅    | ✅    | ✅    | ✅    | ✅    |
| Cryptographic Algorithm          | ✅    | ✅    | ✅    | ✅    | ✅    |
| Cryptographic Length             | ✅    | ✅    | ✅    | ✅    | ✅    |
| Cryptographic Parameters         | ✅    | ✅    | ✅    | ✅    | ✅    |
| Cryptographic Domain Parameters  | ✅    | ✅    | ✅    | ✅    | ✅    |
| Certificate Type                 | ✅    | ✅    | ✅    | ✅    | ✅    |
| Certificate Identifier           | ✅    | 🚫   | 🚫   | 🚫   | 🚫   |
| Certificate Subject              | ✅    | 🚫   | 🚫   | 🚫   | 🚫   |
| Certificate Issuer               | ✅    | 🚫   | 🚫   | 🚫   | 🚫   |
| Digest                           | ✅    | ✅    | ✅    | ✅    | ✅    |
| Operation Policy Name            | ✅    | ✅    | ✅    | 🚫   | 🚫   |
| Cryptographic Usage Mask         | ✅    | ✅    | ✅    | ✅    | ✅    |
| Lease Time                       | ✅    | ✅    | ✅    | ✅    | ✅    |
| Usage Limits                     | ✅    | ✅    | ✅    | ✅    | ✅    |
| State                            | ✅    | ✅    | ✅    | ✅    | ✅    |
| Initial Date                     | ✅    | ✅    | ✅    | ✅    | ✅    |
| Activation Date                  | ✅    | ✅    | ✅    | ✅    | ✅    |
| Process Start Date               | ✅    | ✅    | ✅    | ✅    | ✅    |
| Protect Stop Date                | ✅    | ✅    | ✅    | ✅    | ✅    |
| Deactivation Date                | ✅    | ✅    | ✅    | ✅    | ✅    |
| Destroy Date                     | ✅    | ✅    | ✅    | ✅    | ✅    |
| Compromise Occurence Date        | ✅    | ✅    | ✅    | ✅    | ✅    |
| Compromise Date                  | ✅    | ✅    | ✅    | ✅    | ✅    |
| Revocation Reason                | ✅    | ✅    | ✅    | ✅    | ✅    |
| Archive Date                     | ✅    | ✅    | ✅    | ✅    | ✅    |
| Object Group                     | ✅    | ✅    | ✅    | ✅    | ✅    |
| Link                             | ✅    | ✅    | ✅    | ✅    | ✅    |
| Application Specific Information | ✅    | ✅    | ✅    | ✅    | ✅    |
| Contact Information              | ✅    | ✅    | ✅    | ✅    | ✅    |
| Last Change Date                 | ✅    | ✅    | ✅    | ✅    | ✅    |
| Custom Attribute                 | ✅    | ✅    | ✅    | ✅    | ✅    |
| Certificate Length               | N/A  | ✅    | ✅    | ✅    | ✅    |
| X.509 Certificate Identifier     | N/A  | ✅    | ✅    | ✅    | ✅    |
| X.509 Certificate Subject        | N/A  | ✅    | ✅    | ✅    | ✅    |
| X.509 Certificate Issuer         | N/A  | ✅    | ✅    | ✅    | ✅    |
| Digital Signature Algorithm      | N/A  | ✅    | ✅    | ✅    | ✅    |
| Fresh                            | N/A  | ✅    | ✅    | ✅    | ✅    |
| Alternative Name                 | N/A  | N/A  | ✅    | ✅    | ✅    |
| Key Value Present                | N/A  | N/A  | ✅    | ✅    | ✅    |
| Key Value Location               | N/A  | N/A  | ✅    | ✅    | ✅    |
| Original Creation Date           | N/A  | N/A  | ✅    | ✅    | ✅    |
| Random Number Generator          | N/A  | N/A  | N/A  | ✅    | ✅    |
| PKCS#12 Friendly Name            | N/A  | N/A  | N/A  | N/A  | ✅    |
| Description                      | N/A  | N/A  | N/A  | N/A  | ✅    |
| Comment                          | N/A  | N/A  | N/A  | N/A  | ✅    |
| Sensitive                        | N/A  | N/A  | N/A  | N/A  | ✅    |
| Always Sensitive                 | N/A  | N/A  | N/A  | N/A  | ✅    |
| Extractable                      | N/A  | N/A  | N/A  | N/A  | ✅    |
| Never Extractable                | N/A  | N/A  | N/A  | N/A  | ✅    |

 

## Go further

- [OASIS](https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=kmip) website

Browse all the [Key Management Service (KMS) guides](https://docs.us.ovhcloud.com/en/manage-and-operate/kms/landing-page-kms.md).

Browse the rest of the [OVHcloud US documentation](https://docs.us.ovhcloud.com/en/index.md) for guides on our other products and services.

Learn more about [Key Management Service](https://us.ovhcloud.com/identity-security-operations/key-management-service/) on the OVHcloud US website.
