KMIP Configuration
By default,
- The EP server
- identifies itself on the KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server/TLS
Transport Layer Security - a cryptographic protocol that provides communications security over a computer network connection using the certificate signed by the CORE Root CA. The validation of its certificate requires the KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client to apply ECDSA
Elliptic Curve Digital Signature Algorithm - A variant of the Digital Signature Algorithm (DSA) which uses elliptic curve cryptography. SHA256 signature verification.
- expects the KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client to use TLS
Transport Layer Security - a cryptographic protocol that provides communications security over a computer network 1.2 ciphers.
- identifies itself on the KMIP
- The KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client
- uses the certificate that is created by EP and signed by the CORE Root CA.
- can't validate the EP certificate signed by CORE Root CA,
- can't install the KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server Client certificate generated by CORE, or
- doesn't support TLS
Transport Layer Security - a cryptographic protocol that provides communications security over a computer network 1.2 ciphers
then the default KMIPKey Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server configuration described hereon must be followed by the corresponding steps in KMIP Configuration.
Default KMIP Service Configuration
Fresh System
Steps:
- Select two or three servers based on the Minimal Cluster Requirement.
- Install. Follow the Install CORE Server Software instructions on each server.
- Bootstrap. Bootstrap the First Triplet.
- Activate the triplet. See EKM Service Management.
- Create a partition that will serve a KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client. See ucl partition create.
Quickstart
In the following example, we create a KMIPKey Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server server using two server machines (EP and Partner) with one partition (kmip) and one key.
Note
We work from the ground up without assuming previous CORE experience.
This example targets Linux servers. It uses the following entities:
- The CORE server names of EP and Partner are ep1 and partner1.
- The created partition's name is "kmip5".
- The Root SO
Security officer - UKC partition administrator role. credentials are (so, Password1!).
- The partition's SO
Security officer - UKC partition administrator role. credentials are (so, Password2!).
Step | Run on | Command |
---|---|---|
1 | EP, Partner |
Install the CORE Server software on the RHEL platform. sudo rpm -ivh <CORE Server Software>.rpm |
2 | EP |
Bootstrap the software. sudo /opt/ekm/bin/ekm_boot_ep.sh --self ep1 -p partner1 -f -w Password1! It also creates the Root SO |
Partner |
sudo /opt/ekm/bin/ekm_boot_partner.sh --self partner1 -p ep1 -f |
|
3 |
EP, |
Start the EKM sudo service ekm start |
4 | EP |
Make sure that the system is up and running. ucl server test |
5 | EP |
Continue to the Existing System. |
Existing System
Create a partition "kmip5". Add one key.
Step | Run on | Command |
---|---|---|
1 | EP |
Create a CORE partition, for example, "kmip5". sudo ucl partition create -p kmip5 --so_password Password2! -w Password1! The credentials of the new partition's SO |
2 | EP |
Optionally, create an RSA key (rsa1) with the default attributes and show them. ucl generate -t rsa --name rsa1 -p kmip5 ucl show --name rsa1 -p kmip5 |
Default KMIP Client Configuration
This section addresses the KMIPKey Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server Client authentication that is required by CORE.
KMIP Client Certificate
Note
If you can’t use KMIPKey Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client certificate issued by CORE CA, skip to Custom KMIP Client Certificate.
Steps:
- In the selected partition, define the KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client's name and create its certificate.
See Full Client. - Obtain the CORE CA certificate in PEM
Base64 encoded DER wrapped by "--- BEGIN <type> ---" and "--- END <type> ----" format. See ucl root_ca.
- Deliver the certificates to KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client admin.
- Run the
KMIP
command.Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server Query
Quickstart
Continuing the previous example:
- The client's name will be "kmip-client".
- Its certificate will be stored in the "kmip-client.pfx" file. It will be protected by "KmipPassword1!".
- The CORE CA certificate will be stored in the "ukc_ca.pem" file.
KMIP Client Credentials
For most KMIPKey Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server-based applications, authentication using the client certificate is sufficient. In the rare cases where additional credentials are used by the KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client application, follow the steps specified in Appendix: Applying KMIP Client Credentials.
Customization of the Default Configuration
If any of the following restrictions are applicable, complement the default configuration steps with the specified additional steps:
- KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client must identify itself using a certificate issued by its CA - Custom KMIP Client Certificate.
- KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client cannot validate the EP certificate signed by CORE Root CA - Custom KMIP Server Certificate.
- KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client doesn't support TLS
Transport Layer Security - a cryptographic protocol that provides communications security over a computer network 1.2 cipher suites - Extended Cipher Suite on EP.
Custom KMIP Client Certificate
If a KMIPKey Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client must identify itself using a certificate issued by its CA:
- Generate such a certificate (e.g.,
my-kmip-client.cer
) and as needed, convert it to PEMBase64 encoded DER wrapped by "--- BEGIN <type> ---" and "--- END <type> ----" format.
The Subject of the certificate must be "CN=<client name>, OU=<partition name>, O=CLIENT". See External Client Cert Details. - On EP:
- Install the certificate
- Install the certificate of CA that issued this certificate (e.g.
ext-ca.pem
)
Custom KMIP Server Certificate
If a KMIPKey Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client cannot validate the EP certificate signed by CORE Root CA, it must produce an EP certificate signed by its CA and the matching private key that will be installed on EP. If CORE contains several EPs, this procedure must be performed for each EP in the cluster.
Extended Cipher Suite on EP
By default, the EP server expects its KMIPKey Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server clients to use the TLS
Transport Layer Security - a cryptographic protocol that provides communications security over a computer network 1.2 cipher suites.
To also support the TLS1.1 and TLS1.o cipher suites on port 5696, set the system property enable.kmip.tls1 to true on all EP servers:

- Open or create the
/opt/ekm/bin/
file.setenv.sh
- Add the following line:
export JAVA_OPTS="$JAVA_OPTS -Denable.kmip.tls1=true
- Restart the EKM
Enterprise Key Management - previous name of the product. service.

- Open or create the
C:\Program Files\Dyadic\ekm\tomcat\bin\setenv.bat
file. - Add the following line:
set JAVA_OPTS="%JAVA_OPTS% -Denable.kmip.tls1=true
- Restart the EKM
Enterprise Key Management - previous name of the product. service.
Appendix: Applying KMIP Client Credentials
CORE server evaluates KMIPKey Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server client credentials based on the presence of the
Credential
object in the message using the specified Data presented as evidence of the right to use an identity.
Credential
. The Data presented as evidence of the right to use an identity..Type
Credential
may be omitted or set to Data presented as evidence of the right to use an identity..Type
Username and Password
. See 2.1.2 CredentialData presented as evidence of the right to use an identity. in KMIP Specification V1.4.
- Message Without Credentials
-
If a KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server message does not contain the
Credential
object or theData presented as evidence of the right to use an identity.
Credential
is NOT "Data presented as evidence of the right to use an identity..Type
Username and Password
", then CORE will act on behalf of the default user of the partition. Its password must be unchanged or reset back to the default void password (""). - Message With Credentials
-
If a KMIP
Key Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server message contains the
Credential
object and theData presented as evidence of the right to use an identity.
Credential
is "Data presented as evidence of the right to use an identity..Type
Username and Password
", then CORE will check that the username and the specified password are registered in the KMIPKey Management Interoperability Protocol - an extensible communication protocol that defines message formats for the manipulation of cryptographic keys on a key management server partition. For example, you may use the credentials of the default user: