39
Copyright (c)2013 ITOCHU Techno-Solutions Corporation Copyright (c)2013 ITOCHU Techno-Solutions Corporation Oracle WebLogic Server における証明書のインストール 方法、及び、SSL 設定 橋本 和俊 2013/8/21

Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Embed Size (px)

DESCRIPTION

第39回WebLogic Server勉強会@東京 Lightning Talksセッション 「Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定」 伊藤忠テクノソリューションズ株式会社 橋本 和俊

Citation preview

Page 1: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

橋本 和俊

2013/8/21

Page 2: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

はじめに

• 発表する内容は個人の見解であり、所属する組織の公式な見解ではありません。

• 資料に関しては以下の環境において作成しております。SSLの設定方法に関してはOracle WebLogic Server

8.1辺りからほぼ同一の方法で行えます。

– Windows 7

– Oracle WebLogic Server 12.1.1

– Oracle HotSpot JDK 1.6.0.29

– OpenSSL 1.0.1e 11 Feb 2013

1

Page 3: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Agenda

• SSL設定を始める前に

• Oracle WebLogic ServerのSSL設定方法

• SSLを使用した運用

• 参考資料

2

Page 4: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

SSL設定を始める前に

• Oracle WebLogic ServerにおいてSSLを使用するためには以下が必要です。

– 証明書データベース(keystore)

– CSR/サーバ証明書

– CA証明書(中間CA証明書を含む)

• Oracle WebLogic Serverはデモ証明書を含んでおりますが、開発環境のみの使用となっております。

“デモ用のデジタル証明書、秘密鍵、および信頼性のあるCA証明書は、開発環境でのみ使用してください。”

http://docs.oracle.com/cd/E28613_01/web.1211/b65913/iden

tity_trust.htm#SECMG366

3

Page 5: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

SSL設定を始める前に

• 手順は以下の形で進みます。

1. 証明書DB(keystore)/キーペア(秘密鍵・共通鍵)作成

2. 証明書発行リクエスト(CSR)作成

3. CSR を CA に発行依頼し、サーバ証明書を入手

(※ここは外部で行う可能性があります。)

5. CA証明書をインストール

6. 中間CA証明書をインストール(※必要があれば)

7. サーバ証明書をインストール

8. Oracle WebLogic ServerのSSL機能設定

4

Page 6: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• 証明書DB(keystore)/キーペア(秘密鍵・共通鍵)作成

– ドメイン内にkeystore(証明書データベース)を作成します。

5

Page 7: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• 証明書DB(keystore)/キーペア(秘密鍵・共通鍵)作成

– 各項目の説明

6

オプション/設定値例 説明

-genkeypair 証明書データベース、及び、キーペアを作成するコマンドです。以前のバージョンでは-

genkeyでした。-genkeyでも作成可能です。

-alias test キーペア、及び、証明書の名称を指定します。”別名”と表記されます。基本的に外部に

は出ない文字列のために被らない文字列ならば問題ございません。

-keyalg RSA 鍵作成のアルゴリズムです。基本的にRSAで設定してください。

-keysize 2048 鍵長を2048bitに設定しております。CAによっては1024bitは許容されておりません。

Page 8: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• 証明書DB(keystore)/キーペア(秘密鍵・共通鍵)作成

– 各項目の説明

7

オプション/設定値例 説明

-keypass keypass 証明書データベースにおいて該当の証明書の秘密鍵等を使用するために必要なパスワードです。

-keystore test.jks 証明書データベースのファイル名です。 相対パス、または、絶対パスで記述します。

-storepass

storepass 証明書データベースにアクセスするためのパスワードです。

-storetype JKS キーストアのタイプを指定します。JKSやPKCS12などが用意されておりますが、通常はJKSです。

-validity 365 証明書の有効期限の指定です。デフォルトは90日となります。

Page 9: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• 証明書DB(keystore)/キーペア(秘密鍵・共通鍵)作成

– サブジェクト(cn)はクライアントのブラウザのリクエストURLのホスト名と同一になるように設定してください。

– SSLの接続にブラウザにてホスト名のチェックにて失敗すると下記のようにエラーが出力されます。

8

Page 10: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• 証明書発行リクエスト(CSR)作成

– 先ほど作ったキーペアに対するCSRを発行します。

9

Page 11: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• 証明書発行リクエスト(CSR)作成

– 作成したPEM形式のCSRの最初と最後は

-----BEGIN NEW CERTIFICATE REQUEST-----

-----END NEW CERTIFICATE REQUEST-----

という形で表示されます。

10

Page 12: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• CSR を CA に発行依頼し、サーバ証明書を入手

– ここは外部のCA(認証局)で行うこととなります。試しにOpenSSLでCAを作成します。

11

storeパスワード入力

Page 13: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• CSR を CA に発行依頼し、サーバ証明書を入手

– CA作成中

12

keyパスワード入力

Page 14: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• CSR を CA に発行依頼し、サーバ証明書を入手

– CA作成中

13

Page 15: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• CSR を CA に発行依頼し、サーバ証明書を入手

– サーバ証明書発行中

14

Page 16: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• CSR を CA に発行依頼し、サーバ証明書を入手

– サーバ証明書発行中

15

Page 17: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• CA証明書をインストール

– VeriSign 社等のCA証明書が事前に組み込まれている認証局を利用している場合はこの処理は必要はありません。OpenSSLを使用した自作のCAの場合はCA証明書を組み込む必要があります。

– OpenSSLでCAを作成した場合はデフォルトでは”[OpenSSL_ROOT]¥bin¥demoCA¥cacert.pemがCA証明書となります。

– cacert.pemでは最初にCA証明書のサブジェクト等の情報が入っています。ファイルの中身が

-----BEGIN NEW CERTIFICATE REQUEST-----

~~~~~

-----END NEW CERTIFICATE REQUEST-----

のみになるように加工しましょう。

16

Page 18: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• CA証明書をインストール

17

Page 19: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• CA証明書をインストール

18

Page 20: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• CA証明書をインストール

– 各項目の説明

19

オプション/設定値例 説明

-importcert 証明書データベースに証明書を入れるコマンドです。以前のバージョンでは-importでした。-importでも作成可能です。

-file cacert.pem インポートする証明書ファイルを記述します。相対パス、または、絶対パスで記述します。

-trustcacerts この証明書は信頼できる証明書と認識します。ルートCA証明書としてインポートする場合に使用します。

Page 21: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• サーバ証明書をインストール

– OpenSSLで署名したサーバ証明書には最初にサーバ証明書のサブジェクト等の情報が入っています。ファイルの中身が

-----BEGIN NEW CERTIFICATE REQUEST-----

~~~~~

-----END NEW CERTIFICATE REQUEST-----

のみとなるように加工しましょう。

20

Page 22: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• サーバ証明書をインストール

21

Page 23: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• サーバ証明書をインストール

– 念のためにインストールした証明書一覧を確認しましょう。

22

Page 24: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– 構成->キーストアにてデフォルトのキーストアから作成したキーストアを確認するように設定を変更します。

23

Page 25: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– デフォルトのキーストアから作成したキーストアを確認するように設定を変更します。

24

Page 26: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– キーストアはjksファイル、タイプはJKS、パスフレーズはkeytoolの-storepassの設定をどちらも設定します。

25

Page 27: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– 構成->SSLで秘密鍵の別名はkeytoolの-alias、パスフレーズはkeytoolの-keypassを設定します。

26

Page 28: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– 構成->全般でSSLリスニングポートを有効にし、ポート番号を設定します。

27

Page 29: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– サーバログかコンソールログにてBEA-090171やBEA-

090169でサーバ証明書とCA証明書が読み込まれていることを確認し、SSLがリスンされていることを確認してください。

28

Page 30: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– ブラウザでアクセス時にCA証明書が登録されていない場合(OpenSSLで自作したCAの場合)は下記のエラーとなります。

29

Page 31: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– IEでCA証明書を登録する場合はコントロールパネル->インターネットオプションからコンテンツ->証明書にて”信頼されたルート証明機関”にCA証明書(cacert.pem)を登録します。

30

Page 32: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– “インポートする証明書ファイル”では全てのファイル(*.*)を選択し、OpenSSLで作成したCA証明書(cacert.pem)をインポートします。

31

Page 33: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– 自作のCAのCA証明書をインストールする際には下記のセキュリティ警告が出ます。

– “はい”を押下し、CA証明書が登録されればサーバ証明書が有効であると判断し、ブラウザのエラーはなくなります。

32

Page 34: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

Oracle WebLogic ServerのSSL設定方法

• Oracle WebLogic ServerのSSL機能設定

– ブラウザにて証明書を確認すると下記のように証明書が問題なく信頼できていることが分かります。

33

Page 35: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

SSLを使用した運用

• 前段のWebServerとの間の通信をSSL化させる場合はプロキシプラグイン側でOracleウォレットという証明書データベースが別途必要です。

• Oracle WebLogic Serverは以下のオプションで、SSL

のデバッグを有効にすることが可能です。

– -Djavax.net.debug=all -Dssl.debug=true

-Dweblogic.StdoutDebugEnabled=true

• SSLにおけるホスト名検証を無効にする場合は下記のオプションをご利用ください。

– -Dweblogic.security.SSL.ignoreHostnameVerification=

false

34

Page 36: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

SSLを使用した運用

• 12.1.1からJSSE実装に変わりました。10.3.3からはCerticom非推奨となります。

• Oracle WebLogic ServerにおいてCypher listを変更する場合はWLSTを使用します。詳細は下記をご確認ください。

– http://docs.oracle.com/cd/E28389_01/web.1111/b61617/ss

l.htm#CHDIJBGI

• 変更すると以下の形でconfig.xmlに追加されます。

<ssl>

<enabled>true</enabled>

<ciphersuite>SSL_RSA_WITH_RC4_128_MD5</ciphersuite>

~~~~

35

Page 37: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

SSLを使用した運用

• 今回はkeytoolで説明しましたが、Oracle WebLogic

Serverにデフォルトで用意されている豊富なJavaユーティリティを使用しても証明書関連の処理が可能です。例えば…

– utils.CertGen

– utils.ImportPrivateKey

– utils.der2pem

– utils.pem2der

36

Page 38: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

最後に

ご視聴、ありがとうございました。

VeriSign、VeriSignロゴ、および、その他名称、 サービスマーク、およびロゴは、

米国VeriSign,Inc. または、関連会社の米国、またはその他の国における登録商標、または、商標であり、

米国Symantec Corporationは、それらの使用を一定期間許諾されています。

その他記載されている会社名、製品名は、各社の登録商標、または、商標です。

37

Page 39: Oracle WebLogic Serverにおける証明書のインストール方法、及び、SSL 設定

Copyright (c)2013 ITOCHU Techno-Solutions Corporation

参考資料

• keytool

– http://docs.oracle.com/javase/jp/6/technotes/tools/solaris/k

eytool.html

• Oracle® Fusion Middleware Securing Oracle

WebLogic Server 12c Release 1 (12.1.1)

– http://docs.oracle.com/cd/E24329_01/web.1211/e24422/ss

l.htm

• 2 Using the Oracle WebLogic Server Java Utilities

– http://docs.oracle.com/cd/E24329_01/web.1211/e24487/ut

ils.htm

38