1. OpenSSLでクライアント認証「認証局(CA)構築編」

2008年3月12日 at 11:35 AM

Translate to English by Google




さて今日から数回の連載で、Sun Java System Web Server 7.0の

リバースプロキシの機能、もしくはSun Java System

Application Server 9.1 with HADBに付属するロードバランサプラグイン

をSun Java System Web Server 7.0にインストールして、

前段(DMZ)にWeb Serverを置いて、Web Serverでクライアント認証を

行わさせた後に、後段のApplication Serverの提供するサービスを

利用できるようにする方法について紹介していきたいと思います。


今回、構成するネットワーク構成としては下記のイメージになります。





まず、はじめにクライアント認証を行うために、証明書を認証局(CA)で署名しますが、

今回は、Solaris 10に付属するOpenSSLを使用して、自前で認証局を構築し、

その後で、Web Serverのサーバ証明書やクライアント証明書を作成

していく方法を紹介していきます。


まず、はじめに、Solaris 10に付属するOpenSSLを使用して、

認証局を構築する方法から紹介して行きたいと思います。


Solaris 10には既にOpenSSLのコマンドやライブラリがインストール

されています。(/usr/sfw/bin/openssl)

また、各種設定ファイルは/etc/sfw/openssl配下に存在しています。


まずは、認証局(CA)を構築する為に下記のファイルを修正して下さい。



OpenSSLの設定ファイルの編集

> vi /etc/sfw/openssl/openssl.cnf

basicConstraints=CA:TRUE <—FALSEから変更



次に、実際に認証局を構築します。


OpenSSLで認証局(CA)の構築

> /usr/sfw/bin/CA.pl -newca

CA certificate filename (or enter to create)


Making CA certificate …

Generating a 1024 bit RSA private key

…………++++++

………….++++++

writing new private key to ‘./demoCA/private/cakey.pem’

Enter PEM pass phrase: [********]

Verifying – Enter PEM pass phrase:[********]

—–

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.

—–

Country Name (2 letter code) [US]:JP

State or Province Name (full name) [Some-State]:Tokyo

Locality Name (eg, city) []:Setagaya

Organization Name (eg, company) [Unconfigured OpenSSL Installation]:Sun Microsystems K.K.

Organizational Unit Name (eg, section) []:Software Practice

Common Name (eg, YOUR name) []:Hanako Yamada

Email Address []:Hanako.Yamada@foo.bar.jp

コマンドを実行するとコマンドを実行したカレントディレクトリに「demoCA」と

呼ばれるディレクトリが生成されます。


> ls

demoCA

> cd demoCA/

> ls

cacert.pem certs crl index.txt newcerts private serial

> cp -R * /etc/sfw/openssl/

ここで、認証局を構築した際に、自動的に生成される認証局の証明書の中身を

確認してみましょう。

また、上記のように生成されたファイルは全て「/etc/sfw/openssl」ディレクトリ配下に

コピーしておいてください。


認証局(CA)の証明書の内容の確認

> openssl x509 -in /etc/sfw/openssl/cacert.pem -text


Certificate:
Data:
Version: 3 (0x2)
Serial Number: 0 (0x0)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=JP, ST=Tokyo, L=Setagaya, O=Sun Microsystems K.K., OU
=Software Practice, CN=Hanako Yamada/emailAddress=Hanako.Yamada@
foo.bar.jp
Validity
Not Before: Mar 11 05:38:13 2008 GMT
Not After : Mar 11 05:38:13 2009 GMT
Subject: C=JP, ST=Tokyo, L=Setagaya, O=Sun Microsystems K.K., OU
=Software Practice, CN=Hanako Yamada/emailAddress=Hanako.Yamada@
foo.bar.jp
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:c2:b4:90:83:a9:bd:0a:2c:c0:ef:15:e3:4b:7c:
95:02:05:0d:92:5c:4a:b8:cf:6e:29:3f:1f:a0:e6:
f2:ef:64:66:4d:fb:d1:52:88:b7:77:05:08:d3:42:
71:40:3b:c1:be:66:4f:12:53:9c:2f:5a:a4:e8:7e:
c7:10:c0:80:7d:f0:09:90:fb:ef:c8:10:93:14:d2:
87:d0:68:08:bc:26:92:c9:05:f5:b6:6c:7b:21:5a:
5e:69:ef:a3:c0:a5:51:87:05:30:b3:3f:17:fa:78:
d7:74:5f:6b:86:dc:08:3d:3a:bc:41:18:fe:1b:80:
4e:b5:65:4a:3c:b7:ad:fc:f5
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
36:1F:D0:6B:95:99:BC:CB:FE:D9:C5:E6:F0:27:6B:36:96:89:E5:B0
X509v3 Authority Key Identifier:
keyid:36:1F:D0:6B:95:99:BC:CB:FE:D9:C5:E6:F0:27:6B:36:96:89:E5:B0
DirName:/C=JP/ST=Tokyo/L=Setagaya/O=Sun Microsystems K.K./OU
=Software Practice/CN=Hanako Yamada/emailAddress=Hanako.Yamada@
foo.bar.jp
serial:00
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: md5WithRSAEncryption
8e:8f:5b:6a:a4:5c:78:63:da:66:42:96:9b:c7:85:4a:8a:1a:
fd:be:5c:8a:7c:f7:bf:ba:8a:c5:92:a6:2a:1b:23:66:1c:85:
9d:ee:c1:5c:2a:98:ba:6b:73:83:27:00:81:79:0a:cc:bc:9e:
c8:bf:d1:ba:55:ed:75:ed:68:b9:b0:88:7c:09:73:12:10:f7:
86:9d:4c:05:b2:78:fc:fc:3b:23:a8:b1:c9:fd:64:92:b7:fb:
f9:a2:77:fc:a4:01:66:b7:25:5c:ad:5a:1b:28:e7:40:a3:90:
13:65:c7:19:ec:14:7f:e3:ae:93:ab:fb:07:e4:eb:11:18:af:
64:5d
—–BEGIN CERTIFICATE—–
MIID4jCCA0ugAwIBAgIBADANBgkqhkiG9w0BAQQFADCBrTELMAkGA1UEBhMCSlAx
DjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTZXRhZ2F5YTEeMBwGA1UEChMVU3Vu
IE1pY3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQcmFjdGljZTEW
MBQGA1UEAxMNSGFuYWtvIFlhbWFkYTEnMCUGCSqGSIb3DQEJARYYSGFuYWtvLllh
bWFkYUBmb28uYmFyLmpwMB4XDTA4MDMxMTA1MzgxM1oXDTA5MDMxMTA1MzgxM1ow
ga0xCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzERMA8GA1UEBxMIU2V0YWdh
eWExHjAcBgNVBAoTFVN1biBNaWNyb3N5c3RlbXMgSy5LLjEaMBgGA1UECxMRU29m
dHdhcmUgUHJhY3RpY2UxFjAUBgNVBAMTDUhhbmFrbyBZYW1hZGExJzAlBgkqhkiG
9w0BCQEWGEhhbmFrby5ZYW1hZGFAZm9vLmJhci5qcDCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEAwrSQg6m9CizA7xXjS3yVAgUNklxKuM9uKT8foOby72RmTfvR
Uoi3dwUI00JxQDvBvmZPElOcL1qk6H7HEMCAffAJkPvvyBCTFNKH0GgIvCaSyQX1
tmx7IVpeae+jwKVRhwUwsz8X+njXdF9rhtwIPTq8QRj+G4BOtWVKPLet/PUCAwEA
AaOCAQ4wggEKMB0GA1UdDgQWBBQ2H9BrlZm8y/7ZxebwJ2s2lonlsDCB2gYDVR0j
BIHSMIHPgBQ2H9BrlZm8y/7ZxebwJ2s2lonlsKGBs6SBsDCBrTELMAkGA1UEBhMC
SlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTZXRhZ2F5YTEeMBwGA1UEChMV
U3VuIE1pY3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQcmFjdGlj
ZTEWMBQGA1UEAxMNSGFuYWtvIFlhbWFkYTEnMCUGCSqGSIb3DQEJARYYSGFuYWtv
LllhbWFkYUBmb28uYmFyLmpwggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEE
BQADgYEAjo9baqRceGPaZkKWm8eFSooa/b5cinz3v7qKxZKmKhsjZhyFne7BXCqY
umtzgycAgXkKzLyeyL/RulXtde1oubCIfAlzEhD3hp1MBbJ4/Pw7I6ixyf1kkrf7
+aJ3/KQBZrclXK1aGyjnQKOQE2XHGewUf+Ouk6v7B+TrERivZF0=
—–END CERTIFICATE—–



以上で、Solaris 10を使用したOpenSSLの認証局の構築は終わりです。

次回は、Sun Java System Web Server 7.0のサーバ証明書を作成する方法を紹介します。


広告

Entry filed under: Application Server/GlassFish. Tags: , , .

HADBを使用した高可用性を実現する際のモデリングガイド Solaris 10のゾーンにApplication Server 9.1をインストールする翻訳記事の御紹介


Java Champion & Evangelist

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2008年3月
« 2月   4月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

カテゴリー

Twitter

clustermap

ブログ統計情報

  • 943,766 hits

Feeds


%d人のブロガーが「いいね」をつけました。