Certificate Management
Add Certificate
Adds or updates a certificate in the hdb_certificate
system table.
If a private_key
is provided it will not be stored in hdb_certificate
, it will be written to file in <ROOTPATH>/keys/
.
If a private_key
is not passed the operation will search for one that matches the certificate. If one is not found an error will be returned.
Operation is restricted to super_user roles only
operation (required) - must always be
add_certificate
name (required) - a unique name for the certificate
certificate (required) - a PEM formatted certificate string
is_authority (required) - a boolean indicating if the certificate is a certificate authority
hosts (optional) - an array of hostnames that the certificate is valid for
private_key (optional) - a PEM formatted private key string
Body
{
"operation": "add_certificate",
"name": "my-cert",
"certificate": "-----BEGIN CERTIFICATE-----ZDFAay... -----END CERTIFICATE-----",
"is_authority": false,
"private_key": "-----BEGIN RSA PRIVATE KEY-----Y4dMpw5f... -----END RSA PRIVATE KEY-----"
}
Response: 200
{
"message": "Successfully added certificate: my-cert"
}
Remove Certificate
Removes a certificate from the hdb_certificate
system table and deletes the corresponding private key file.
Operation is restricted to super_user roles only
operation (required) - must always be
remove_certificate
name (required) - the name of the certificate
Body
{
"operation": "remove_certificate",
"name": "my-cert"
}
Response: 200
{
"message": "Successfully removed my-cert"
}
List Certificates
Lists all certificates in the hdb_certificate
system table.
Operation is restricted to super_user roles only
operation (required) - must always be
list_certificates
Body
{
"operation": "list_certificates"
}
Response: 200
[
{
"name": "HarperDB-Certificate-Authority-node1",
"certificate": "-----BEGIN CERTIFICATE-----\r\nTANBgkqhk... S34==\r\n-----END CERTIFICATE-----\r\n",
"private_key_name": "privateKey.pem",
"is_authority": true,
"details": {
"issuer": "CN=HarperDB-Certificate-Authority-node1 C=USA ST=Colorado L=Denver O=HarperDB\\, Inc.",
"subject": "CN=HarperDB-Certificate-Authority-node1 C=USA ST=Colorado L=Denver O=HarperDB\\, Inc.",
"serial_number": "5235345",
"valid_from": "Aug 27 15:00:00 2024 GMT",
"valid_to": "Aug 25 15:00:00 2034 GMT"
},
"is_self_signed": true,
"uses": [
"https",
"wss"
]
},
{
"name": "node1",
"certificate": "-----BEGIN CERTIFICATE-----\r\ngIEcSR1M... 5bv==\r\n-----END CERTIFICATE-----\r\n",
"private_key_name": "privateKey.pem",
"is_authority": false,
"details": {
"issuer": "CN=HarperDB-Certificate-Authority-node1 C=USA ST=Colorado L=Denver O=HarperDB\\, Inc.",
"subject": "CN=node.1 C=USA ST=Colorado L=Denver O=HarperDB\\, Inc.",
"subject_alt_name": "IP Address:127.0.0.1, DNS:localhost, IP Address:0:0:0:0:0:0:0:1, DNS:node.1",
"serial_number": "5243646",
"valid_from": "Aug 27 15:00:00 2024 GMT",
"valid_to": "Aug 25 15:00:00 2034 GMT"
},
"is_self_signed": true,
"uses": [
"https",
"wss"
]
}
]
Last updated