キーストア・プロバイダー・フレームワークについて
DataStax Enterpriseデータベースは、Java Cryptography APIを使用してSSLプロバイダーを実装します。
cassandra.yaml
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/cassandra/cassandra.yaml |
tarボール・インストール | installation_location/resources/cassandra/conf/cassandra.yaml |
DataStax Enterprise(DSE)データベースは、Java Cryptography APIを使用してSSLプロバイダーを実装します。Java Cryptography API(JCA)は、要求されたアルゴリズムから実際の暗号化実装を抽象化するプラグ接続可能なアーキテクチャーです。さまざまな実装のスワップ・アウトをサポートするために、DSEデータベースはCipher.getInstance("AES")
を使用します。
JCAアーキテクチャー・プロバイダーを使用すると、複数の実装がさまざまなサービス・プロバイダー・インターフェイス(SPI)を使用して登録できます。データベースにはPKCS12プロバイダーが付属しており、PKCS11などの追加プロバイダーのインストールがサポートされています。
DSEデータベースのサーバー・キーストア・タイプ・パラメーター( cassandra.yaml 内)は使用するSPIを決定します。
com.sun.net.ssl.internal.ssl.Provider
はPKCS12 SPIをプロバイダーに登録するsun.security.ssl.SunJSSE
を実装します。sun.security.pkcs12.PKCS12KeyStore
クラスは、KeyStoreのJCA抽象化であるjava.security.KeyStoreSPI
を拡張します。次にその実装を示します。put("KeyStore.PKCS12","sun.security.pkcs12.PKCS12KeyStore");
PKCS11とPKCS12の違い
sun.security.pkcs11.SunPKCS11
とsun.security.ssl.SunJSSE
の両方のプロバイダーはjava.security.KeyStoreSPI
の実装を登録します。PKCS11はsun.security.pkcs11.P11KeyStore
を登録します。PKCS11は、秘密鍵証明書ストレージ以上のものを提供します。