web-dev-qa-db-ja.com

クライアントとDBの間で自己署名証明書を使用してOracle SSLをセットアップする方法

DBがデータを暗号化してクライアントに送信するようにしたい。私はGoogleを検索して、OracleにSSLがあることを発見しました。残念ながら、自己署名証明書の作成、DB側でのSSLの構成、クライアント側でのSSLの構成、およびテストの方法を説明する段階的なチュートリアルは見つかりません。

あなたの知識を私と共有してください。

前もって感謝します。

--- EDIT

私のステップ:

  1. DBサーバーでOracle Wallet Managerを実行します。
  2. 新しいウォレットを作成します。
  3. 新しい証明書要求を作成します。
  4. エクスポートされた証明書リクエスト。
  5. ssl.ca-0.1http://www.openssl.org/contrib/ からダウンロード)を使用して作成した自己new-root-ca.shを使用して署名済みルート証明書を作成し、信頼できる証明書としてDBサーバーにインポートしました。
  6. sign-server-cert.shを実行して自己署名サーバー証明書を作成し、DBサーバーにユーザー証明書としてインポートしました。

ここで私は混乱しています... ...クライアント側の設定方法がわかりません

ssl.ca-0.1には、ファイルnew-user-cert.shsign-user-cert.shもあります。これらのファイルは、何を使用しているかがわかりません。 。

DBサーバーからエクスポートされたものと同じ認証要求を使用してそれらを実行しようとし、クライアントウォレットにインポートしようとしましたAM I WRONG?

ユーザー証明書がインポートされないため、可能性があります。メインのアイデアを理解していないと本当に混乱しています。

DBサーバーで生成されたウォレットをクライアント側のウォレットの場所にコピーしましたAM I RIGHT?

3
kupa

答えを見つけました。

私の投稿では、信頼できるユーザー証明書を作成する方法について説明しました。信頼できる証明書は公開鍵でユーザー証明書は秘密鍵だと思います(間違っている場合は修正してください)。

今、私はこの仕事をどのように行ったかを書きます。

-DBサーバー上

Owm(Oracle Wallet Manager)を実行し、

  1. 新しいウォレットを作成します。
  2. 認証要求を作成します。
  3. 認証要求をエクスポートします。
  4. ssl.ca-0.1を使用して( http://www.openssl.org/contrib/ からダウンロード)new-root-ca.shを使用して自己署名ルート証明書を作成し、信頼できる証明書としてインポートしたDBサーバー。
  5. Sign-server-cert.shを実行して自己署名サーバー証明書を作成し、DBサーバーにユーザー証明書としてインポートしました。

-クライアントサーバー上でルート証明書をコピーしました(以前に生成)。

  1. 新しいウォレットを作成します。

  2. 認証要求を作成します。

  3. コピーされたルート証明書を選択して、信頼できる証明書をインポートします。

クライアントサーバーのtnsnames.oraファイルを編集して、プロトコルTCPSとポート(2484など)を使用するTNSエントリを使用します。

DBサーバーのlistener.oraファイルを編集して、ポート2484とプロトコルTCPSを待機します。

Net Managerを開き、両側でSSLを構成します。

--DB側

ウォレットディレクトリを示します。

「クライアント認証が必要」とその他の必要なオプションをオフにしました。

- クライアント側

ウォレットディレクトリを指定してください。

そしてあなたが望む他のオプション。

2
kupa