Skip to content

Configuring ACME with Cassandra Database

Endi S. Dewata edited this page Apr 21, 2021 · 1 revision

Installing JDBC Driver

To install from upstream repository:

$ dnf install cassandra
$ cd /usr/share/pki/server/common/lib
$ ln -s /usr/share/cassandra/lib/cassandra-driver-core-3.0.1-shaded.jar
$ wget https://github.com/adejanovski/cassandra-jdbc-wrapper/releases/download/3.1.0/cassandra-jdbc-wrapper-3.1.0.jar

Initializing Database

To create a local database:

$ cqlsh -u cassandra -p cassandra
cqlsh> CREATE KEYSPACE acme WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };

To initialize a local database:

$ cqlsh -u cassandra -p cassandra -k acme -f /usr/share/pki/acme/database/cassandra/create.sql

To initialize a remote database:

$ cqlsh --cqlshrc=cqlshrc -u pki -p Secret.123 -k acme -f /usr/share/pki/acme/database/cassandra/create.sql

Configuring ACME Responder

To configure PKI ACME responder with a Cassandra database:

$ cp /usr/share/pki/acme/database/cassandra/database.conf /etc/pki/pki-tomcat/acme/database.conf

The configuration will be stored in /etc/pki/pki-tomcat/acme/database.conf, for example:

class=org.dogtagpki.acme.database.CassandraDatabase
url=jdbc:cassandra://localhost.localdomain:9042/acme
user=cassandra
password=cassandra

Removing Database

To remove a local database:

$ cqlsh -u cassandra -p cassandra -k acme -f /usr/share/pki/acme/database/cassandra/drop.sql

To remove a remote database:

$ cqlsh --cqlshrc=cqlshrc -u pki -p Secret.123 -k acme -f /usr/share/pki/acme/database/cassandra/drop.sql

See Also