C.3 okvutilおよびエンドポイントの問題
エンドポイント・ヘルス・チェック・ユーティリティを実行してエンドポイント関連の問題をトリアージする方法を学習します
- データベースWalletステータスがオープンされていないか、見つからず、TDE HEARTBEATチェックに失敗した
Oracle Key Vaultのデータベース・ウォレット・ステータスがクローズされています。データベース・ウォレットをオープンしようとすると失敗し、エラーORA-28365、ORA-28407またはHSMハートビート・チェックの失敗エラーが発生します。 - Oracle Key Vaultサーバーの通信または接続の失敗エラー
okvutil
を使用してデータをフェッチしようとするとき、またはokvclient.jar
をインストールするときに、Oracle Key Vaultにサーバーの通信または接続の失敗エラーが表示されます。 - ウォレット・アップロードで秘密キーのエラーを格納できなかった
Javaキーストアをアップロードする際に、okvutilを使用して、Oracle Key Vaultの表示で秘密キーのエラーを格納できませんでした。 - RESTfulサービス・エンドポイント・プロビジョニング・コマンドの失敗
RESTfulサービス・ユーティリティを使用したエンドポイント・プロビジョニングが、パスまたはディレクトリが正しくないために失敗します。 - 証明書ファイルのアップロードの失敗
コンソール証明書をアップロードすると、エラーが表示されます。 - Javaキーストアのアップロード中のエラー
Oracle Key Vaultでは、Javaキーストアのアップロード時にエラーが表示されます。 - MYSQLデータベース・キーのOracle Key Vaultへの移行中のSSLレイヤー・エラー
MYSQLデータベースがOracle Key Vaultに移行されると、SSLレイヤー・エラーが表示されます。 - Windows環境でのキーのローテーションまたは設定の失敗
Oracle Key Vaultで、新しいキーのローテーション中または設定中にエラーが表示されます。 - ORA-03113でキーのローテーションまたは設定が失敗する
Oracle Key Vaultで、キーのローテーション中にエラーが表示されます。
関連トピック
親トピック: Oracle Key Vaultのトラブルシューティング
C.3.1 データベース・ウォレットのステータスがオープンでないか、見つからない。TDE HEARTBEATチェックに失敗した
Oracle Key Vaultのデータベース・ウォレットのステータスがクローズされています。データベース・ウォレットをオープンしようとすると失敗し、エラーORA-28365、ORA-28407またはHSMハートビート・チェックの失敗エラーが発生します。
例
1. エンドポイントDBでキーストアのオープンに失敗しました
SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY
"*";
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "*"
*
ERROR at line 1:
ORA-28365: wallet is not open
SQL> SELECT KEY_ID value FROM V$ENCRYPTION_KEYS;
*
ERROR at line 1:
ORA-28407: Hardware Security Module failed with PKCS#11 error
CKR_GENERAL_ERROR(5)
administer key management set keystore open identified by “*”;
*
ERROR at line 1:
ORA-28353: failed to open wallet
4. エンドポイントDBアラート・ログに、次のエラー・メッセージが表示されます:
HSM connection lost, closing wallet
kzthsmcc1: HSM heartbeat check failed
考えられる原因1
エンドポイントDBがWALLET_ROOT構成を使用しません。これは、環境変数ORACLE_BASE、ORACLE_HOME、ORACLE_SID、OKV_HOME、およびJAVA_HOMEが設定されていない場合に発生する可能性があります。
解決策
- Oracle RAC環境の場合は、環境変数ORACLE_BASE、ORACLE_HOME、ORACLE_SID、OKV_HOMEおよびJAVA_HOMEが構成で設定されているかどうかを確認します。
- 変数が設定されていない場合は、
srvctl
環境を使用して設定します。srvctl setenv database -db db_unique_name -t "ORACLE_UNQNAME=db_unique_name, ORACLE_BASE=/u01/opt/oracle"
srvctl
コマンドを使用して、データベース・インスタンスを再起動できます。srvctl getenv database -db db_unique_name
- 変数が設定されていない場合は、
- RMANバックアップ用のサードパーティ・スクリプトの実行時にエラーが発生した場合は、ORACLE_BASE、ORACLE_HOME、ORACLE_SID、OKV_HOMEおよびJAVA_HOME環境変数がスクリプトにエクスポートされているかどうかを確認します。また、スクリプトを実行しているユーザーがプロファイルに環境変数を設定しているかどうかも確認します。
- 環境変数が設定されていない場合は、ユーザー・プロファイルとスクリプトで変数を設定してから、バックアップを実行します。
- エンドポイントのヘルス・チェック・ユーティリティによって、環境変数が
gen0
環境に設定されていないことが報告された場合、コマンド・ラインを使用して変数を設定し、データベースを再起動します。- SYSDBAユーザーとしてSQLPLUSにログインし、データベースを停止します。
./sqlplus sys / as sysdba shutdown immediate
- SQLPLUSを終了し、データベース・サービスを再起動します。
su - oracle snrctl start
- SQLPLUSにログインし、データベースを起動します。
startup
- SYSDBAユーザーとしてSQLPLUSにログインし、データベースを停止します。
- 問題が解決したかどうかを確認します。
考えられる原因2
Oracle Key VaultサーバーのKMIPサービスを使用できません。
解決策
- Oracle Key Vaultサーバーがキーを正常にリストできるかどうかを確認します。
$OKV_HOME/bin/okvutil list -v 4
- キーがリストされない場合は、Oracle Key Vault管理コンソールにアクセスして、Oracle Key Vaultサーバーの可用性を確認します。
- Oracle Key Vaultサーバーが稼働している場合は、次のいずれかの方法を使用してKMIPサービスのステータスを確認します。
- エンドポイントDBサーバーでRESTサービス・ユーティリティが構成されている場合は、RESTサービス・コマンド
okv status get
を使用してサーバー情報を取得し、KMIP
サービスのステータスを確認します。 - SNMPモニタリングが構成されている場合は、SNMPモニタリングを使用して
KMIP
サービスのステータスを検索します。 - システム管理者としてOracle Key Vault管理コンソールにログインします。Oracle Key Vaultのホーム・ページで、アラートのstop respondingプロセス・アラートがあるかどうかを確認します。
- システム管理者としてOracle Key Vault管理コンソールにログインします。「System」、「Status」ページに移動し、KMIPサービスのステータスを確認します。
- エンドポイントDBサーバーでRESTサービス・ユーティリティが構成されている場合は、RESTサービス・コマンド
- KMIPサービスのステータスが停止している場合は、KMIPサービスを再起動します。
support
ユーザーとしてSSHを使用してOracle Key Vaultサーバーにログインし、root
ユーザーに切り替えます。$ ssh support@okv_server_IP_address $ su - root
- 次のコマンドを実行して、KMIPプロセスのステータスを確認します。
ps -eaf | grep kmip
- KMIPプロセスが実行されていない場合は、KMIPサービスを再起動します。
systemctl restart kmip
- KMIPプロセスのステータスを確認します。
ps -eaf | grep kmip
- エンドポイントDBサーバーで、
okvutil
でキーがリストされるかどうかを確認します。OKV_HOME/bin/okvutil list -v 4
- 問題が解決したかどうかを確認します。
- KMIPサービスのステータスが稼働中の場合、エンドポイントDBサーバーから次のコマンドを実行します。
curl -v telnet://OKV_SERVER_IP:5696
- このコマンドがOracle Key Vaultサーバーに接続しない場合は、ネットワーク管理者に連絡して、ポート5696がオープンしていることを確認します。オープンしていない場合は、ポート5696を確実にオープンします。
- 問題が解決したかどうかを確認します。
考えられる原因3
okvclient.ora
へのシンボリック・リンクが存在しないか、正しくない構成を指しています。
解決策
次のステップを実行します。
- エンドポイントDBサーバーで、
okvclient.ora
のシンボリック・リンクが存在するかどうかを確認します。
またはcd $ORACLE_BASE/okv/$ORACLE_SID ls -ltr okvclient.ora
コマンド出力には、cd $ORACLE_HOME/okv/$ORACLE_SID ls -ltr okvclient.ora
okvclient.ora
シンボリック・リンク情報(存在する場合)が含まれる必要があります。たとえば:lrwxrwxrwx 1 oracle oinstall 64 Aug 3 2020 okvclient.ora -> /u02/app/oracle/okv/conf/okvclient.ora.
okvclient.ora
シンボリック・リンクが存在しないか、$OKV_HOME/conf
以外のパスを指している場合は、シンボリック・リンクを修正するか、Oracle Key Vaultクライアントを再インストールします。「エンドポイント・データベースでエンドポイントを再登録する方法」を参照してください。okvclient.ora
が存在し、$OKV_HOME/conf
を指していることを確認します。- 問題が解決したかどうかを確認します。
考えられる原因4
自動ログイン・ウォレットが正しく構成されていません。
解決策
次のステップを実行します。
- エンドポイントDBに接続し、次のSQL問合せを実行して、ウォレットのステータスを確認します。
select * from v$encryption_wallet
- Oracle Databases 12c以前の場合:
自動ログインが構成され、OKV/HSMのウォレットがオープンしておらず、FILEがオープンしている場合は、自動ログイン・ウォレットの場所が
sqlnet.ora
ファイルに設定されているかどうかを確認します。そうでない場合は、場所を設定し、データベースを再起動します(停止時間が必要です)。問題が解決したかどうかを確認しますOracleデータベース12.1.0.2以前の場合、
sqlnet.ora
エントリは次のようになります。ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=HSM)(METHOD_DATA=(DIRECTORY=/home/oracle/wallet_okv)))
12.2.0.1以上では、sqlnet.oraエントリは次のようになります。
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=OKV)(METHOD_DATA=(DIRECTORY=/home/oracle/wallet_okv)))
- Oracle Database18c以上の場合:
WALLET_ROOT
が構成されている場合は、自動ログイン・ウォレットがWALLET_ROOT_directory/tde
ディレクトリの下に存在し、Oracle Key Vaultエンドポイント・ソフトウェアのインストールがWALLET_ROOT_directory/okv
ディレクトリの下にある必要があります。いずれかが存在しない場合は、これに対処するために必要な構成変更を適用します。 - 問題が解決したかどうかを確認します。
考えられる原因5
エンドポイント・データベースにデフォルトのウォレットが正しく構成されていません。
解決策
デフォルトのウォレットがエンドポイントに割り当てられているかどうかを確認します。
- キー管理者ユーザーとしてOracle Key Vault管理コンソールにログインします。
- 最新のキーがウォレットに追加されているかどうかを確認します。「Keys & Secrets」ページに移動し、キーを「Creation Date」別に降順でソートします。
- その特定のエンドポイントから作成された最新のキーである「Creating Endpoint」がウォレットに割り当てられているかどうかを確認します。
- このキーがどのウォレットにも割り当てられていない場合は、鉛筆アイコンをクリックしてキーを編集します。
- 編集ページで、「Add Wallet Membership」をクリックし、エンドポイントに割り当てられているウォレットを選択して保存します。
- 「Keys & Secrets」ページを再度表示して、キーにウォレット・メンバーシップがあるかどうかを確認します。
- 「endpoints」ページに移動します。
- エンドポイントを検索し、エンドポイント名をクリックします。
- デフォルトのウォレット設定を確認します。デフォルトのウォレットが割り当てられていない場合は、「Choose Wallet」をクリックして目的のウォレットを選択します。
- 「Save」をクリックします。
- エンドポイント編集ページを再表示して、デフォルトのウォレットが正しく割り当てられているかどうかを確認します。
- 「Access to Wallets」セクションでエンドポイントにウォレットへのREAD/MODIFYおよびMANAGE権限があるかどうかを確認します。
- 確認後、エンドポイントを再登録し、
OKV_HOME
パスにあるエンドポイントDBサーバーに新しいokvclient.jar
をインストールします。「エンドポイント・データベースでエンドポイントを再登録する方法」を参照してください。 - 問題が解決したかどうかを確認します。
親トピック: okvutilおよびエンドポイントの問題
C.3.2 Oracle Key Vaultサーバーの通信または接続の失敗エラー
okvutil
を使用してデータをフェッチしようとするとき、またはokvclient.jar
をインストールするときに、Oracle Key Vaultにサーバー通信または接続の失敗エラーが表示されます。
例
エンドポイント・サーバーでokvutil
リストを実行すると、次のエラーが返されます:
1.
bash$ ./okvutil list
Enter Oracle Key Vault endpoint password:
Error: Server Communication Error
2.
bash$ ./okvutil list
Enter Oracle Key Vault endpoint password:
Error: Server Connect Failed
考えられる原因1
エンドポイントDBとOracle Key Vaultサーバーの間でポート5696がブロックされています。
解決策
- Oracle Key Vaultサーバーへのエンドポイント接続を確認します。
$OKV_HOME/bin/okvutil list -v 4
- Oracle Key Vaultサーバーへのエンドポイント接続が失敗した場合は、ポート5696がオープンしているかどうかを確認します。
curl -v telnet://OKV_SERVER_IP:5696
- 前述のコマンドがOracle Key Vaultサーバーに接続しない場合は、ネットワーク管理者に連絡して、ポート5696がオープンしていることを確認します。オープンしていない場合は、ポート5696を確実にオープンします。
- 問題が解決したかどうかを確認します。
考えられる原因2
okvclient.ora
のファイル所有権が正しくありません。
解決策
okvclient.ora
ファイルのファイル所有権を確認します。ls -l $OKV_HOME/conf/okvclient.ora
okvclient.ora
所有権が予想とは異なるユーザーに設定されている場合、ファイル所有権を正しいユーザーにリセットします。okvutil
またはその他のエンドポイント・ソフトウェアが意図しないユーザー(たとえば、root
)で実行された場合、okvclient.ora
ファイルの所有権が変更されている可能性があります。- 問題が解決したかどうかを確認します。
考えられる原因3
Oracle Key Vaultサーバー、CAまたはエンドポイントの証明書が期限切れです。
解決策
- エンドポイント証明書が期限切れかどうかを確認します。
- システム管理者ロールまたは権限を持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
- 「Endpoints」タブに移動し、エンドポイントを検索します。「Endpoint Certificate Expiration Date」列の有効期限を確認します。Oracle Key Vaultのホーム・ページで、エンドポイント証明書の有効期限アラートを確認することもできます。
- エンドポイント証明書が期限切れの場合は、エンドポイントを選択して再登録します。「エンドポイント・データベースでエンドポイントを再登録する方法」を参照してください。
- 問題が解決したかどうかを確認します。
- Oracle Key Vaultサーバーまたはノードの証明書が期限切れかどうかを確認します。
- システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
- サーバーまたはノード証明書の有効期限ステータスを確認するには、「System」、「Status」の順に移動し、「Node Certificate Expiration Date」を確認します。Oracle Key Vaultのホーム・ページで、サーバーまたはノード証明書の有効期限アラートを確認することもできます。
- サーバー証明書が期限切れになった場合は、再生成します。「System」に移動し、「Settings」をクリックします。
- 「Service Certificates」に移動し、「Manage Server or Node Certificate」を選択して新しいサーバー証明書を再生成します。
- Oracle Key Vault CA証明書が期限切れかどうかを確認します。
- システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
- CA証明書の有効期限ステータスを確認するには、「System」、「Status」の順にナビゲートし、「CA Certificate Expiration Date」を確認します。Oracle Key Vaultのホーム・ページで、CA証明書の有効期限アラートを確認することもできます。
- Oracle Key Vault CA証明書の有効期限が切れている場合は、CA証明書を手動でリカバリして再生成する必要があります。21.5以降で有効期限が切れた場合、その方法の詳細は、17.6項「Oracle Key Vault CA証明書の管理」を参照してください。Oracle Key Vault 21.4以前の場合、Oracleサポートに連絡してください。
- 問題が解決したかどうかを確認します。
考えられる原因4
okvclient.ora
のSSL_WALLET_LOC
が不正な場所に設定されています。
解決策
- エンドポイント証明書のローテーションでは、新しいエンドポイント証明書が
$OKV_HOME/ssl
の下の新しいディレクトリに置かれ、SSL_WALLET_LOC
がこの新しいディレクトリを指すように変更されます。$OKV_HOME/ssl
の下で作成された最新のディレクトリをSSL_WALLET_LOC
が指しているかどうかを確認します。 $OKV_HOME/conf
ディレクトリに移動し、okvclient.ora
を開き、$OKV_HOME/ssl
の下で作成された最新のディレクトリをSSL_WALLET_LOCが指しているかどうかを確認します。- そうでない場合は、
SSL_WALLET_LOC
設定を適切に変更し、okvclient.ora
を保存します。 - 問題が解決したかどうかを確認します。
考えられる原因5
エンドポイントの再登録中に、空のディレクトリにエンドポイント・ソフトウェアをインストールするのではなく、Oracle Key Vaultエンドポイント・ソフトウェアがインプレースでアップグレードされました。
解決策
- エンドポイントの再登録時に、新しい
okvclient.jar
をインストールする前に既存の$OKV_HOMEディレクトリが削除されていない場合、インストール・プロセスではエンドポイント・ソフトウェアのみがアップグレードされます。このような場合、エンドポイント証明書およびokvclient.ora
ファイルは更新されません。「エンドポイント・データベースでエンドポイントを再登録する方法」を参照してください。 - 問題が解決したかどうかを確認します。
考えられる原因6
Oracle Key VaultサーバーのKMIPサービスを使用できません。
解決策
- 次のコマンドを実行して、キーを正常にリストできるかどうかを確認します。
$OKV_HOME/bin/okvutil list -v4
- 前述のコマンドがキーをリストできない場合は、Oracle Key Vault管理コンソールにアクセスして、Oracle Key Vaultサーバーの可用性を確認します。
- Oracle Key Vaultサーバーが稼働している場合は、次のいずれかの方法を使用してKMIPサービスのステータスを確認します。
- エンドポイントDBサーバーでRESTサービス・ユーティリティが構成されている場合は、RESTサービス・コマンド
okv server status get
を実行してサーバー情報を取得し、KMIPサービスのステータスを確認します。 - SNMPモニタリングが構成されている場合は、SNMPモニタリングを使用してKMIPサービスのステータスを確認します。
- システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。Oracle Key Vaultのホームページで、KMIPプロセスを
stop responding
として報告するアラートがあるかどうかを確認します。 - システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。「System」、「Status」ページに移動し、KMIPサービスのステータスを確認します。
- エンドポイントDBサーバーでRESTサービス・ユーティリティが構成されている場合は、RESTサービス・コマンド
- KMIPサービスのステータスが停止している場合は、KMIPサービスを再起動します。
- SSHを介してサポート・ユーザーとしてOracle Key Vaultサーバーにログインしてから、ユーザー
su
をroot
に切り替えます。ssh support@okv_server_IP_address su - root
- SSHを介してサポート・ユーザーとしてOracle Key Vaultサーバーにログインしてから、ユーザー
- 次のコマンドを実行して、KMIPプロセスのステータスを確認します。
ps -eaf | grep kmip
- 前述のコマンドでKMIPプロセスが実行されていないと表示された場合は、KMIPサービスを再起動します。
systemctl stop kmip systemctl start kmip
- KMIPプロセスのステータスを確認します。
ps -eaf | grep kmip
- エンドポイントDBサーバーで、
okvutil
でキーがリストされるかどうかを確認します。$OKV_HOME/bin/okvutil list -v4
- 問題が解決したかどうかを確認します。
考えられる原因7
エンドポイントに対して厳密なIPチェックが有効になります。エンドポイントIPアドレスが、エンドポイントの登録中に保存されたIPアドレスとは異なります。
解決策
- Oracle Key Vaultサーバーに現在保存されているエンドポイントのIPアドレスを確認します。
システム管理者ロールまたはこのエンドポイントの管理権限を持つユーザーとしてOracle Key Vault管理コンソールにログインします。
「Endpoints」ページに移動し、エンドポイントを検索し、エンドポイントに保存されているIPアドレスを確認します。
- エンドポイント名をクリックして、「Endpoint Details」ページを開きます。
- 「Strict IP」オプションの選択を解除します。
- エンドポイントDBサーバーで、
okvutil
でキーがリストされるかどうかを確認します。$OKV_HOME/bin/okvutil list -v4
- 厳密なIPチェックの選択を解除すると問題が解決される場合:
- エンドポイントDBサーバーに複数のIPアドレスが構成されているかどうかを確認します。このような場合、
StrictIPCheck
は有効にできません。 - エンドポイントDBサーバーが1つのIPアドレスのみで構成されている場合は、エンドポイントを再登録します。「エンドポイント・データベースでエンドポイントを再登録する方法」を参照し、エンドポイントの厳密なIPチェックを再度有効にします。
- エンドポイントDBサーバーに複数のIPアドレスが構成されているかどうかを確認します。このような場合、
- エンドポイントDBサーバーが再構成され、1つのIPアドレスからのみ接続されている場合、厳密なIPチェックを再度有効にする必要があります。
- 問題が解決したかどうかを確認します。
考えられる原因8
エンドポイントDBサーバーとOracle Key Vaultサーバーの間に時間ラグがあります。
解決策
- エンドポイントDBサーバーとOracle Key Vaultサーバーの間に時間ドリフトがあるかどうかを確認します。
- ある場合、時間ドリフトを解決します。NTP構成を使用してOracle Key Vaultサーバーのシステム・クロックを同期することを検討してください。
- 問題が解決したかどうかを確認します。
親トピック: okvutilおよびエンドポイントの問題
C.3.3 ウォレットのアップロードで秘密キーのエラーを格納できなかった
Javaキーストアをアップロードする際に、okvutilを使用して、Oracle Key Vaultの表示で秘密キーのエラーを格納できませんでした。
例
okvutil upload
コマンドが、次のエラーを返します:
$ okvutil upload -l ./fin_jceks.jck -t JCEKS -g fin_wal -v2
okvutil version 21.5.0.0.0
Configuration file: /tmp/fin_okv/conf/okvclient.ora
Server: 192.0.2.254:5696
Uploading from /tmp/fin_okv/keystores/jks/keystore.jks
Enter source Java keystore password:
Uploading private key
Uploading private key
Upload Failed
WARNING: Could not store private key error
考えられる原因
このエラーは、同じファイル名で内容が異なるokvutil
を使用して2つのJavaキーストアをアップロードする場合、または各keytool
コマンドで同じ別名(-alias slserver
など)を使用する場合に発生することがあります。
解決策
- JKSの別名は一意にする必要があるので、同じ別名を持つ2つのキーストアをダウンロードすると、
okvutil download
プロセスは2つ目のキーストアを無視します。 - このエラーを解決するには、一意の別名を使用して2番目のキーストアをアップロードします。
親トピック: okvutilおよびエンドポイントの問題
C.3.4 RESTfulサービス・エンドポイント・プロビジョニング・コマンドの失敗
RESTfulサービス・ユーティリティを使用したエンドポイント・プロビジョニングが、パスまたはディレクトリが正しくないために失敗します。
例
$ okv admin endpoint provision --generate-json-input
Error:/usr/bin/java does not exist.
考えられる原因
エンドポイントをプロビジョニングするRESTfulサービス・コマンドは、ソフト・リンク/usr/bin/java
が存在しないか、間違ったJavaディレクトリを指している場合に失敗します。
解決策
Javaバージョン1.7.21以降を使用していることを確認してください。Javaホーム・ディレクトリへのソフト・リンクを作成します。
ln -s Java_home_directory/bin/java /usr/bin/java
親トピック: okvutilおよびエンドポイントの問題
C.3.5 証明書ファイルのアップロードの失敗
コンソール証明書をアップロードすると、エラーが表示されます。
例
Oracle Key Vault管理コンソールからコンソール証明書をアップロードすると、エラーが返されます。
ORA-20101: Failed to upload certificate file
考えられる原因
必須証明書が期限切れです。
解決策
- サポート・ユーザーとしてOracle Key Vaultサーバーにログインします。
root
ユーザーに切り替えます。- 証明書を再生成します。
# /usr/local/bin/gensslcert create-certs
- SYSADMINとしてOracle Key Vault管理コンソールにログインします。
- 「Console Certificate」ページからコンソール証明書リクエストを再生成します。
- コンソール証明書をダウンロードして署名します。
- 署名したコンソール証明書を「Console Certificate」ページにアップロードします。
- 問題が解決したかどうかを確認します。
親トピック: okvutilおよびエンドポイントの問題
C.3.6 Javaキーストアのアップロードのエラー
Oracle Key Vaultでは、Javaキーストアのアップロード時にエラーが表示されます。
例
okvutil
を使用したJavaキーストアのアップロードが失敗し、次のエラーが発生します。
SEVERE: Error occured while determining entry type.
java.security.UnrecoverableKeyException: Cannot recover key
考えられる原因
Javaキーストア(JKS)には複数のパスワードがあります。1つのパスワードによって完全なキーストアが保護されます。また、各秘密キーには、他のキーストア・パスワードとは異なる場合がある追加のパスワードも取得されます。okvutil
からJKSをアップロードするには、すべてのキー・パスワードがキーストア・パスワードと同じである必要があります。
解決策
- キーストア・パスワードとキー・パスワードの両方を同じ値に設定します。
- JKSをOracle Key Vaultにアップロードします。
- 別のパスワードにする場合は、パスワードを再度リセットします。
キーストア・パスワードを変更するには:
$ keytool -storepasswd -keystore keystorename Enter keystore password: <old password> New keystore password: <new password> Re-enter new keystore password: <new password>
個々のキー・パスワードを変更するには:
$keytool -keypasswd -keystore keystorename -alias <alias> Enter keystore password: <keystore password> Enter key password for <alias> <old key password> New key password for <alias>: <new key password> Re-enter new key password for <alias>: <new key password>
- パスワードを変更できない場合は、キーストア全体をJKSではなく「Other」タイプとしてアップロードします。パスワードはバイナリ・ファイルとして格納されるため、他の場所でパスワードを追跡する必要があります。
ノート:
バックアップおよび配布用の集中管理リポジトリを取得しますが、オブジェクト・レベルの粒度でキーおよび認証を管理することはできません。
親トピック: okvutilおよびエンドポイントの問題
C.3.7 MYSQLデータベース・キーをOracle Key Vaultに移行する際のSSLレイヤーのエラー
MySQLデータベースがOracle Key Vaultに移行されると、SSLレイヤー・エラーが表示されます。
例
mysqlデータベース・トレースまたはログ・ファイルに次のエラーが表示されます:
reported: 'Error setting the certificate file.'
reported: 'Could not initialize ssl layer'
reported: 'keyring_okv initialization failure. Please check that the
keyring_okv_conf_dir points to a readable directory and that the directory
contains Oracle Key Vault configuration file and ssl materials.
考えられる原因
証明書ファイルが破損しています。
解決策
- Oracle Key Vaultが動作しているかどうかを確認します。
-
okvclient.jar
から抽出されたSSLフォルダからコピーされた証明書ファイルを編集します。 - 証明書ファイルの末尾にある空白行を削除し、「Save」をクリックします。
- 問題が解決したかどうかを確認します。
親トピック: okvutilおよびエンドポイントの問題
C.3.8 Windows環境でのキーのローテーションまたは設定の失敗
Oracle Key Vaultで、新しいキーのローテーション中または設定中にエラーが表示されます。
例
新しいキーのローテーションまたは設定がORA-46627「keystore password mismatch」で失敗します
SQL> ADMINISTER KEY MANAGEMENT SET KEY FORCE KEYSTORE IDENTIFIED BY xxxxxxxx;
ADMINISTER KEY MANAGEMENT SET KEY FORCE KEYSTORE IDENTIFIED BY xxxxxxxx
* ERROR at line 1: ORA-46627: keystore password mismatch
考えられる原因
ssl
フォルダの下のewallet.p12
に、Oracle Key Vaultサーバーにアクセスする権限がありません。
OKV_HOME
フォルダの「properties」ウィンドウを開きます。$OKV_HOME/ssl
フォルダの継承権限を無効にします。$OKV_HOME/ssl/ewallet.p12
に対して継承権限を有効にしたままにします。- キーの設定が成功したかどうかを確認します。
親トピック: okvutilおよびエンドポイントの問題
C.3.9 ORA-03113でキーのローテーションまたは設定が失敗する
Oracle Key Vaultで、キーのローテーション中にエラーが表示されます。
例
エンドポイント・データベースからの新しいキーのローテーションまたは設定がエラーで失敗します。
ORA-03113 END-OF-FILE ON COMMUNICATION CHANNEL
SQL> ADMINISTER KEY MANAGEMENT SET KEY FORCE KEYSTORE IDENTIFIED BY xxxxxxxx;
ADMINISTER KEY MANAGEMENT SET KEY FORCE KEYSTORE IDENTIFIED BY xxxxxxxx
* ERROR at line 1: ORA-03113 END-OF-FILE ON COMMUNICATION CHANNEL
考えられる原因
永続キャッシュ・ウォレットが破損しており、更新にアクセスできません。
解決策
$OKV_HOME/conf
または$ORACLE_BASE/okv/$ORACLE_SID
の下のewallet.p12
の名前を変更します。- sqlplusにログインし、
v$encryption_keys
を問い合せて新しい永続キャッシュ・ウォレットを作成します。SQL> select key_id from v$encryption_keys
ewallet.p12
が$OKV_HOME/conf or $ORACLE_BASE/okv/$ORACLE_SID
の下に作成されているかどうかを確認します。- キーの設定が成功したかどうかを確認します。
親トピック: okvutilおよびエンドポイントの問題