この例では、JRE (Java Runtime Environment)に含まれている keytool ユーティリティを使用します。
独自の自己署名証明書を作成する方法
prompt>keytool -genkey -alias serverA -keyalg RSA -validity 365 -keystore keystore.ks
キーストアのパスワードを入力してください: <実際のプレーン テキストは表示されません>
新規パスワードを再入力してください: MyNewSecretPassword
姓名を入力してください。
[Unknown]: serverA
組織単位名を入力してください。
[Unknown]: dev
組織名を入力してください。
[Unknown]: ITKO
都市名または地域名を入力してください。
[Unknown]: Dallas
都道府県名を入力してください。
[Unknown]: TX
この単位に該当する 2 文字の国番号を入力してください。
[Unknown]: US
CN=serverA, OU=dev, O=ITKO, L=Dallas, ST=TX, C=US でよろしいですか?
[no]: yes
<serverA> の鍵パスワードを入力してください。
(キーストアのパスワードと同じ場合は RETURN を押してください)
このユーティリティは、365 日間有効な証明書が含まれるファイルを作成します。
lisa.net.keyStore={{LISA_HOME}}keystore.ks
lisa.net.keyStore.password=MyNewSecretPassword
lisa.net.keyStore.password_enc=33aa310aa4e18c114dacf86a33cee898
サーバ側の接続設定はこれで完了です。
この証明書は自己署名されているため、証明書を信頼するように明示的にクライアントに指示します。 通常、SSL サービスに接続(たとえば、ブラウザを使用して https://www.MyBank.com に接続)すると、信頼された認証局によって証明書が認証されます。 信頼されたサード パーティは自己署名証明書を認証しないため、証明書をトラスト ストアに追加する必要があります。
lisa.net.trustStore={{LISA_HOME}}trustStore.ts
lisa.net.trustStore.password=MyNewSecretPassword
同じ keytool ユーティリティがトラスト ストアを操作します。 一般的に、キーストアには 1 つの証明書が含まれ、トラスト ストアには 1 つ以上の証明書が含まれます。
keytool -exportcert -rfc -alias serverA -keystore keyStore.ks -file serverA.cer
-rfc は、コピーおよび貼り付けを容易に行えるように、バイナリではなく ASCII テキストとして証明書をエクスポートすることを意味します。 この例では、結果として生成される serverA.cer ファイルは以下のようになります。
-----BEGIN CERTIFICATE-----
MIICEzCCAXygAwIBAgIEThZnYzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJDQjELMAkGA1UE
CBM420IxCzAJBgNVBAcTAkNCMQswCQYDVQQKEwJDQjELMAkGA1UECxMCQ0IxCzAJBgNVBAMTAkNC
MB4XDTExMDcwODAyMTE0N1oXDTEyMDcwNzAyMTE0N1owTJELMAkGA1UEBhMCQ0IxCzAJBgNVBAgT
AkNCMQswCQYDVQQHEwJDQjELMAkGA1UECDMCQ0IxCzAJBgNVBAsTAkNCMQswCQYDVQQDEwJDQjCB
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAhYfaN+dCrKQwYZ+KeaaPUI8DeXNiqQ/mS+KGnXnh
Pz08vdX/7HDLW4pzFhntjmkxxOi9dMwlO2thTD1cOxI571PotenMENo4nyiUAEnMK9MTiWEYr2cQ
b6/TUueBCjRJ9I0GPCI0WPS+0Na2Q/wq8gPCHmDRpw1Xgo4uZ1v6C/ECAwEAATANBgkqhkiG9w0B
AQUFAAOBgQByCsX9EoBFIGhcSwoRwEvapIrv8wTaqQPOKKyeIevSmbnERRu6+oi+cJftbdEfw6GG
CBddJH+dGZ9VeqLU8zBGasbU+JPzG5ElOgOXcUGeQQEaM1YMv6XWrIwNSljQk/MPZSt3ROtJOlae
JPKJXSQ610xof9+yLHH0ebUGhUjdlQ==
-----END CERTIFICATE-----
トラスト ストア ファイルを作成しているため、パスワードを 2 回入力します。 このクライアント トラスト ストアにさらに証明書を追加する場合は、パスワードを 1 回入力します。
prompt> keytool -importcert -file serverA.cer -keystore trustStore.ts
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
所有者: CN=serverA, OU=dev, O=itko, L=Dallas, ST=Texas, C=US
発行者: CN=serverA, OU=dev, O=itko, L=Dallas, ST=Texas, C=US
シリアル番号: 4e155338
有効期間の開始日: Thu Jul 07 16:33:28 EST 2011 until: Wed Oct 05 17:33:28 EST 2011
Certificate fingerprints:
MD5: 5B:10:F6:C8:02:3E:36:F5:AA:6D:FC:10:EF:F5:7F:54
SHA1: 09:DA:8E:71:7C:D5:BB:44:89:14:13:07:F4:A1:C7:06:35:CD:BE:B1
署名アルゴリズム名: SHA1withRSA
バージョン: 3
この証明書を信頼しますか? [no]: yes
証明書がキーストアに追加されました
これで、パブリック クラウドの DevTest サーバへの暗号で強化された通信手段が構築されました。 相互に通信するためには、2 つの DevTest コンポーネントの両側に証明書が必要です。
注: トランスポート レベルのセキュリティ(SSL)に加えて、よりきめ細かなアクセス制御リスト(ACL)を有効にすることもできます。 アクセス制御リストを使用すると、ユーザはユーザ名およびパスワードによって認証する必要があります。 このタイプのセキュリティは、HTTPS を使用していてもユーザ ID の提示を必要とする金融機関の Web サイトに似ています。
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|