You are currently browsing legacy 4.1 version of documentation. Click here to switch to the newest 4.2 version.

We can help you with migration to the latest RavenDB

Contact Us Now
see on GitHub

Operations: Server: How to Put a Client Certificate

You can register an existing client certificate using PutClientCertificateOperation.

Syntax

public PutClientCertificateOperation(String name,
                                     String certificate,
                                     Map<String, DatabaseAccess> permissions,
                                     SecurityClearance clearance)

public enum SecurityClearance {
    UNAUTHENTICATED_CLIENTS,
    CLUSTER_ADMIN,
    CLUSTER_NODE,
    OPERATOR,
    VALID_USER
}

public enum DatabaseAccess {
    READ_WRITE,
    ADMIN
}

Parameters
name String Name of a certificate
certificate string Certificate to register
permissions Map<String, DatabaseAccess> Map with database to access level mapping
clearance SecurityClearance Access level

Example

Certificate certificate = keyStore.getCertificate("clientCert");
String certificateAsBase64 = Base64.encodeBase64String(certificate.getEncoded());

store.maintenance().server().send(
    new PutClientCertificateOperation(
        "cert1",
        certificateAsBase64,
        null,
        SecurityClearance.CLUSTER_ADMIN));