Oracle Directory Services Manager(ODSM)は、Javaキー・ストア(JKS)にその秘密鍵、証明書および信頼できる証明書を格納します。管理者は、ODSMのJKSの管理を担当します。実行する必要がある重要なタスクの1つは、期限が切れたODSMの証明書をJKSから削除することです。この付録では、次のことについて説明します。
この付録の内容は次のとおりです。
ODSMは、初めて呼び出されると、ランダム・パスワードを生成し、そのパスワードをJKSに割り当てます。JKSファイルは、odsm.cer
という名前を持ちます。このファイルは、次の書式の名前のディレクトリに置かれます。
DOMAIN_HOME/config/fmwconfig/servers/AdminServer/applications/odsm/conf
ODSMは、Oracleによるセキュアな格納フレームワークである資格証明ストア・フレームワーク(CSF)内のJDKにこのパスワードを格納します。WebLogicサーバー管理者は、CSFに格納されているJDKパスワードを取得できます。
ODSMは、自身の自己署名証明書の生成とJKSへの格納も行います。自己署名証明書は、生成日から15000日間有効です。自己署名証明書は、テスト目的のみに使用されます。本番環境では、自己署名証明書を、認証局(CA)によって署名された証明書に置き換えることをお薦めします。
JKSを管理するためのWebベースのツールはありません。ODSMのJKSを管理するには、OracleのJREまたはJDKに用意されているコマンドライン・ツールであるkeytool
を使用します。
関連項目:
|
Oracle Directory Services ManagerのJavaキー・ストアを管理するには、まずOracle Directory Services ManagerのJavaキー・ストア・パスワードを取得する必要があります。このパスワードを取得するには次の2つの方法があります。
Enterprise Managerを使用してOracle Directory Services ManagerのJavaキー・ストア・パスワードを取得するには、次の手順を実行します。
weblogic administrator
としてEnterprise Managerに接続します。
Enterprise Managerのナビゲーション・パネルの左側で、「WebLogicドメイン」を開き、Oracle Directory Services Managerをデプロイするドメインを選択します。
Enterprise Managerのナビゲーション・パネルの右側で、「WebLogicドメイン」メニューをクリックし、「システムMBeanブラウザ」を選択します。
システムMBeanブラウザで、「アプリケーション定義のMBean」→「com.oracle.jps」→「ドメイン」 : 「NameOfTheDomainWhereODSMisDeployed」→「JPSCredentialStore」→JPSCredentialストアの順に開きます。
詳細ペインに表示される「操作」タブをクリックします。
次の図に示すように、getPortableCredential操作をクリックします。
次のページが表示されたら、getPortableCredentialメソッドのパラメータを入力する必要があります。
「P1」で「ODSMMap
」と入力します。
「P2」で、「ODSMKey.Wallet
」と入力します。
「起動」ボタンをクリックします。
次の図に示すように、「パラメータ」表の下に「戻り値」表が表示されます。「パスワード」フィールドに、Oracle Directory Services ManagerのJavaキー・ストアのパスワードが表示されます。
Enterprise Managerを使用できない場合は、Pythonスクリプトを使用することによりOracle Directory Services ManagerのJavaキー・ストアのパスワードを取得できます。
このパスワードを取得するには、次の手順を実行します。
次の内容の.py
ファイル(たとえばodsm.py
など)を作成します。
import sys,getopt from oracle.security.jps.mas.mgmt.jmx.credstore import PortableCredential connect(sys.argv[1], sys.argv[2], sys.argv[3]) domainRuntime() params= ["ODSMMap", "ODSMKey.Wallet"] sign=["java.lang.String", "java.lang.String"] on=ObjectName("com.oracle.jps:type=JpsCredentialStore") cred = None cred = mbs.invoke(on, "getPortableCredential", params, sign) if cred != None: credObject = PortableCredential.from(cred) print credObject print "ODSM Java Key Store Password: " + String.valueOf(credObject.getPassword())
次のコマンドを実行します。
$MW_HOME/oracle_common/common/bin/wlst.sh odsm.py <wls_admin_user>
<wls_admin_password> t3://<adminserver_host>:<adminserver_port>
次に例を示します。
$MW_HOME/oracle_common/common/bin/wlst.sh odsm.py weblogic welcome1
t3://myadminserver:7001
このスクリプトを実行すると、DomainMBean
をルートとする読取り専用ツリーであるdomainRuntime
ツリーに出力場所が変更されます。
注意: ヘルプを表示するには、コマンドラインで「 |
[Name : ODSM, Description : ODSM Key store password, expiry Date : null] ODSM Java Key Store Password: XXXXXXXXXX
関連項目: 詳細は、次の公開資料を参照してください。
|
JKSパスワードを取得したら、keytool
を使用してJKSを管理できます。
odsm.cer
の内容を表示するには、次のようにkeytool
コマンドを使用します。
cd directory_where_odsm.cer_resides JAVA_HOME/bin/keytool -list -keystore odsm.cer \ -storepass password_obtained_from_CSF
次に例を示します。
$ cd DOMAIN_HOME/config/fmwconfig/servers/AdminServer/applications/odsm/conf $ JAVA_HOME/bin/keytool -list -keystore odsm.cer -storepass "&M)S86)/RB" -v Keystore type: JKS Keystore provider: SUN Your keystore contains 2 entries Alias name: serverselfsigned Creation date: Dec 26, 2008 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=OVD, OU=Development, O=Oracle, L=Redwood Shores, ST=California, C=US Issuer: CN=OVD, OU=Development, O=Oracle, L=Redwood Shores, ST=California, C=US Serial number: 495586b6 Valid from: Fri Dec 26 17:36:54 PST 2008 until: Wed Jun 24 18:36:54 PDT 2009 Certificate fingerprints: MD5: 6C:11:16:F3:88:8D:18:67:35:1E:16:5B:3E:03:8A:93 SHA1: F4:91:39:AE:8B:AC:46:B8:5D:CB:D9:A4:65:BE:D2:75:08:17:DF:D0 Signature algorithm name: SHA1withRSA Version: 3 ******************************************* ******************************************* Alias name: cn=rootca, o=oracle, c=us (0) Creation date: Dec 31, 2008 Entry type: trustedCertEntry Owner: CN=RootCA, O=Oracle, C=US Issuer: CN=RootCA, O=Oracle, C=US Serial number: 0 Valid from: Tue Dec 30 02:33:11 PST 2008 until: Mon Jan 24 02:33:11 PST 2050 Certificate fingerprints: MD5: 72:31:7B:24:C9:72:E3:90:37:38:68:40:79:D1:0B:4B SHA1: D2:17:84:1E:19:23:02:05:61:42:A9:F4:16:C8:93:84:E8:20:02:FF Signature algorithm name: MD5withRSA Version: 1 ******************************************* *******************************************
証明書の期限が切れたときに、その証明書をJDKから自動的に削除するメカニズムはありません。管理者は証明書の期限が切れるタイミングを判別し、それを削除する必要があります。
この項の内容は次のとおりです。
第O.3項「odsm.cer Javaキーストアの内容のリスト」で説明するとおり、keytool
を使用してodsm.cer
のすべての証明書をリストします。このリストには、各証明書の有効な日付が含まれています。たとえば、次の証明書はSat Oct 31 09:41:23 PDT 2008まで有効です。
Alias name: cn=ovd, ou=development, o=MyCompany, l=redwood shores, st=california, c=us (1241455283) Creation date: May 5, 2008 Entry type: trustedCertEntry Owner: CN=OVD, OU=Development, O=MyCompany, L=Redwood Shores, ST=California, C=US Issuer: CN=OVD, OU=Development, O=Oracle, L=Redwood Shores, ST=California, C=US Serial number: 49ff1ab3 Valid from: Mon May 04 09:41:23 PDT 2008 until: Sat Oct 31 09:41:23 PDT 2008 Certificate fingerprints: MD5: 93:0E:41:5E:95:88:71:BD:8A:49:ED:A9:29:3B:0A:1E SHA1: 84:C6:75:60:D9:BE:7B:CA:D6:8B:B5:4B:97:E4:20:39:44:82:FE:93 Signature algorithm name: SHA1withRSA Version: 3
証明書の有効期間が終了したら、次の項で説明しているように、keytool
を使用して削除します。
odsm.cer
の証明書を削除するには、次のようにkeytool
を使用します。
cd directory_where_odsm.cer_is_present JAVA_HOME/bin/keytool -delete -keystore odsm.cer -storepass password_obtained_from_CSF -alias "cn=rootca, o=oracle, c=us (0)"
次に例を示します。
$> JAVA_HOME/bin/keytool -delete -keystore odsm.cer \ -storepass "&M)S86)/RB" -alias "cn=rootca, o=oracle, c=us (0)" [Storing odsm.cer]