キーストアの構成
TLS/SSLでは、ネットワークを介して接続している2つのアプリケーションが互いのIDを認証できるようにするとともに、アプリケーション間で交換されるデータを暗号化することで、セキュアな接続を実現します。
認証を使用すると、サーバーおよび必要に応じてクライアントはネットワーク接続の相手側アプリケーションのIDを検証できます。ネットワーク経由で送信されるデータは暗号化されるので、予定されている宛先以外には解釈できません。
Oracle WebLogic ServerでのTLS/SSL
WebLogic ServerのTLS/SSLは、Secure Sockets Layer (SSL)およびTransport Layer Security (TLS)仕様の実装です。WebLogic Serverは、専用のリスニング・ポート(デフォルトは7002)でTLS/SSLをサポートします。Oracle WebLogic Server環境でのSSLの構成の詳細は、「SSLの構成」を参照してください。
デフォルトでは、WebLogic Serverは、開発環境またはテスト環境で作業するためのデモ用の証明書またはキーストアを提供します。これらの証明書が本番環境で使用されていないことを確認してください。
自己署名証明書は、開発環境またはテスト環境のWebLogic Serverで作成および構成されます。本番環境では、Verisign、Let's Encrypt、GoDaddyなどの有効な認証局(CA)からCA署名TLS/SSL証明書を購入し、その証明書でキーストアを作成する必要があります。
WebLogic ServerでSSLを構成するには、次のセキュリティ・ファイルが必要です:
- 信頼ストア: このファイルには、中間CAまたはルートCAからの証明書、あるいはTLS/SSL通信で使用される信頼できるサード・パーティからの証明書が含まれます。
- アイデンティティ・ストア: アイデンティティ・ストア(またはキーストア)ファイルには、秘密キーおよびサーバーTLS/SSL証明書が含まれます。このファイルはJKSまたはPKCS12形式で格納されます。
キーストア形式
キーストアは、暗号化のキーと証明書を格納するための機能です。サポートされているキーストア形式は次のとおりです:
- JKS - Javaキーストア
- PKCS12 - 公開キーの暗号化標準
keypassおよびstorepass
keypassには、生成されるキーのペアのうち、秘密キーを保護するために使用するパスワードを指定します。storepassには、キーストアの整合性を保護するために使用するパスワードを指定します。keypassを指定しない場合、keypassはstorepassと同じ値に設定されます。
IDキーストアと信頼キーストア
WebLogic Serverは、秘密キー、デジタル証明書および認証局によって発行された信頼できる証明書を使用して、サーバーのIDと信頼を確立および検証します。『Oracle WebLogic Serverセキュリティの理解』のIDと信頼に関する項を参照してください。
IDキーストアおよび信頼キーストアを作成するには、keytool
ユーティリティを使用する必要があります。keytoolとは、JDKに含まれている、キーと証明書を管理するためのユーティリティです。詳細は、次のトピックを参照してください。
Azure Key Vaultへのキーストアおよびパスフレーズの格納
セキュアなキー管理は、クラウド内のデータを保護するために不可欠です。
Azure Key Vaultでは、TLS/SSL証明書、機密キーおよびその他のシークレット(パスワードなど)を格納できます。次の例は、TLS/SSL証明書およびキーストアをAzure KeyVaultに格納する方法を示しています:
az keyvault secret set --vault-name mySecureKeyVault --encoding base64 --description text/plain --name identityKeyStoreData --file identity.jks
az keyvault secret set --vault-name mySecureKeyVault --name "identityKeyPassPhrase" --value "identityKeyPassword"
az keyvault secret set --vault-name mySecureKeyVault --encoding base64 --description text/plain --name trustKeyStoreData --file trust.jks
az keyvault secret set --vault-name mySecureKeyVault --name "trustKeyPassPhrase" --value "trustKeyPassword"
az keyvault secret set --vault-name mySecureKeyVault --name "privateKeyAlias" --value "servercert"
az keyvault secret set --vault-name mySecureKeyVault --name "privateKeyPassPhrase" --value "myPrivateKey"
Azure Key Vaultシークレットの管理の詳細は、Azure Key Vaultシークレットに関するMicrosoftのドキュメントを参照してください。