Hendrik van Huyssteen created CASSANDRA-7848:
------------------------------------------------
Summary: Additional keystore configurations for SSL with HSMs
Key: CASSANDRA-7848
URL: https://issues.apache.org/jira/browse/CASSANDRA-7848
Project: Cassandra
Issue Type: Improvement
Components: Config
Reporter: Hendrik van Huyssteen
Priority: Minor
In order to use Cassandra with a Hardware Security Module (HSM) for encrypted
communications, additional configuration options are required in terms of
keystore configurations.
A user configuring Cassandra must be able to:
# Specify the truststore and keystore type independently (eg. keystore would be
in hardware and truststore in software)
# Specify the desired certificate and private key entry that should be used, by
setting an alias
# Specify the keystore and keypair passwords independently
At the moment Cassandra only allows:
# A global keystore type
# Expects one keypair per keystore and
# Uses the same password for the keystore and keypair
The appropriate changes have been made to Cassandra 1.2 to support the above
mentioned configuration.
The proposed cassandra.yaml would then look as follows, with the new changes
marked with *:
{noformat}
server_encryption_options:
internode_encryption: all
keystore: <path to keystore>
keystore_password: <password of keystore>
store_type: <hsm storetype>
*keystore_entry_alias: <alias of key entry in keystore to use>*
*keystore_entry_password: <password of key entry in keystore to use>*
truststore: <path to truststore>
truststore_password: <password of truststore>
# More advanced defaults below:
# protocol: TLS
*truststore_type: JKS*
# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA]
{noformat}
In terms of backwards compatibility, the following defaults should be used for
the newly proposed settings:
* truststore_type = store_type;
* keystore_entry_password = keystore_password;
* keystore_entry_alias = autoselect
Example use case with HSM:
* Keystore is stored in HSM.
* store_type is set to the HSM store type.
* keystore_password is set to the slot password of the HSM.
* keystore_entry_password set to the keypair password.
* Truststore is stored on disk, with type set to JKS.
--
This message was sent by Atlassian JIRA
(v6.2#6252)