Archive for 8月, 2010

夏休み!!

ちょっと、現実逃避です。

先週、忙しかった仕事も一段落したので、先週の金曜日に有給取得(夏休み)して1泊2日で福島に行ってきました。今週の木・金も夏休みを頂く予定です。もう暦的には夏も終わりかぁ。(まだまだ暑いけど。)




さて仕事、仕事。

2010年8月31日 at 4:35 PM

SHA-2 対応の iPlanet Web/Proxy Server

たまに、ご質問が来るのでメモがてら HowTo を書いておきます。

iPlanet Web Server 7.0/Proxy Server 4.0.x は下記の暗号化アルゴリズムに対応しています。

– RSA 2048bit
– 3 key triple DES
– AES
– SHA-2

詳細を申し上げると、Web Server/Proxy Server は証明書管理に NSS ライブラリを内部的に使用していますが、NSS 3.11 バージョンで上記の暗号化アルゴリズムに対応しています。

http://www.mozilla.org/projects/security/pki/nss/nss-3.11/nss-3.11-algorithms.html

例えば、Web Server 7.0 は NSS 3.12.5(以上)を使用しており、上記 URL 中に含まれる暗号化アルゴリズム全てサポートしております。これらのアルゴリズムに対応した証明書を作成するためには下記のようにインストールディレクトリ配下に存在する certutil コマンドを使用して証明書を作成し対応する事ができます。
下記の例では、SHA-256/RSA 2048 に対応した証明書を作成しています。

1.CSR の作成例:

# cd /sun/webserver7/https-sw-103/config/
# ../../bin/certutil -R -s "CN=sw-103-3.japan.sun.com,OU=
Software Practice,O=Sun Microsystems,L=Setagaya,ST=
Tokyo,C=JP" -p "03-5717-5000" -a -o /tmp/SHA256.csr
-k rsa -g 2048 -v 12 -d /sun/webserver7/https-sw-103/config
-Z SHA256
A random seed must be generated that will be used in the
creation of your key.  One of the easiest ways to create a
random seed is to use the timing of keystrokes on a keyboard.


To begin, type keys on the keyboard until this progress meter
is full.  DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD!

Continue typing until the progress meter is full:

|************************************************************|

Finished.  Press enter to continue:
Generating key.  This may take a few moments...

ここで下記のようなPEM形式のファイルが作成されます。

# vi /tmp/SHA256.pem
—–BEGIN NEW CERTIFICATE REQUEST—–
MIICzjCCAbYCAQAwgYgxCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzERMA8G^M
A1UEBxMIU2V0YWdheWExGTAXBgNVBAoTEFN1biBNaWNyb3N5c3RlbXMxGjAYBgNV^M
BAsTEVNvZnR3YXJlIFByYWN0aWNlMR8wHQYDVQQDExZzdy0xMDMtMy5qYXBhbi5z^M
dW4uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9ej3zBS1dPHf^M
/N4qB9DE+2m0vZ8QInClzhkknChIO5kYuobLtg9mu1CAAZGcQ0QXj7/W/QGSpR6/^M
OMSHMV8o3hAVsxcg4mdXAPGfs4M36gMgkPwhSMDOzG6HGnZPRTRxrWf0Bpoo6SQY^M
1a+jar5N5CTk1NAfeAfWRKdPVjlbl88bMgQTUsODy7WluuNAMiXABX4nGNYd43c5^M
pwxyoFq8jx73u1TErTnZw477lHh28FnRy1+AxnZzQQzqZuQ13hBi3V8+OLNd7jcz^M
+CMgT0TxDjbQLIHHGAeIWIC7bBCx2Ifr7vyCZvb9zueJtyeyww6sOF3lXPEvkIBV^M
qpgVvlE2BwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAE23QsCAFPF8j1BC4KKY^M
pqgchXFB+I/Hs9v/CpdFmkKEPcgMdPwJiXkxC0Y8j2HYbmZfqlGzunGyayxEwuGR^M
ImL+kMDriiZQervFumt82e8o5msIB05+PHLFXwpQZ6nlLKeliQIhP3owuA/3Y+TZ^M
1HICMRVLncS9f9y8+Xt7US1k24+GhhiGZrXx0KyXbDLa41YqQdRBNNSHN8LTHXsW^M
9l/oH/LbJUTeGaSy6x1AKzDY5MrKF7P4cV8I/D5GXIUwt2st/JWCF0rOkDmPdw0W^M
2JNgH2uxne/madJ3YRuzN3pTF1Yljk/FHgoN9KeSElUOXYkDssvj8AGf9wVE0cGW^M
BOo=
—–END NEW CERTIFICATE REQUEST—–
# openssl asn1parse -inform PEM -i -in /tmp/SHA256.pem
0:d=0 hl=4 l= 718 cons: SEQUENCE
4:d=1 hl=4 l= 438 cons: SEQUENCE
8:d=2 hl=2 l= 1 prim: INTEGER :00
11:d=2 hl=3 l= 136 cons: SEQUENCE
14:d=3 hl=2 l= 11 cons: SET
16:d=4 hl=2 l= 9 cons: SEQUENCE
18:d=5 hl=2 l= 3 prim: OBJECT :countryName
23:d=5 hl=2 l= 2 prim: PRINTABLESTRING :JP
27:d=3 hl=2 l= 14 cons: SET
29:d=4 hl=2 l= 12 cons: SEQUENCE
31:d=5 hl=2 l= 3 prim: OBJECT :stateOrProvinceName
36:d=5 hl=2 l= 5 prim: PRINTABLESTRING :Tokyo
43:d=3 hl=2 l= 17 cons: SET
45:d=4 hl=2 l= 15 cons: SEQUENCE
47:d=5 hl=2 l= 3 prim: OBJECT :localityName
52:d=5 hl=2 l= 8 prim: PRINTABLESTRING :Setagaya
62:d=3 hl=2 l= 25 cons: SET
64:d=4 hl=2 l= 23 cons: SEQUENCE
66:d=5 hl=2 l= 3 prim: OBJECT :organizationName
71:d=5 hl=2 l= 16 prim: PRINTABLESTRING :Sun Microsystems
89:d=3 hl=2 l= 26 cons: SET
91:d=4 hl=2 l= 24 cons: SEQUENCE
93:d=5 hl=2 l= 3 prim: OBJECT :organizationalUnitName
98:d=5 hl=2 l= 17 prim: PRINTABLESTRING :Software Practice
117:d=3 hl=2 l= 31 cons: SET
119:d=4 hl=2 l= 29 cons: SEQUENCE
121:d=5 hl=2 l= 3 prim: OBJECT :commonName
126:d=5 hl=2 l= 22 prim: PRINTABLESTRING :sw-103-6.japan.sun.com
150:d=2 hl=4 l= 290 cons: SEQUENCE
154:d=3 hl=2 l= 13 cons: SEQUENCE
156:d=4 hl=2 l= 9 prim: OBJECT :rsaEncryption
167:d=4 hl=2 l= 0 prim: NULL
169:d=3 hl=4 l= 271 prim: BIT STRING
444:d=2 hl=2 l= 0 cons: cont [ 0 ]
446:d=1 hl=2 l= 13 cons: SEQUENCE
448:d=2 hl=2 l= 9 prim: OBJECT :sha256WithRSAEncryption
459:d=2 hl=2 l= 0 prim: NULL
461:d=1 hl=4 l= 257 prim: BIT STRING

2.CA (認証局)で証明書を署名(下記では OpenSSL で実施)

# cd /usr/local/ssl/
# ./bin/openssl ca -config openssl.cnf -md sha256 -in /tmp/SHA256.pem -keyfile ./demoCA/private/cakey.pem -cert ./demoCA/cacert.pem -out /tmp/server-cert.pem

Using configuration from openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
       Serial Number:
           ca:e6:f8:42:ea:f0:0f:03
       Validity
           Not Before: Nov  4 13:55:36 2009 GMT
           Not After : Nov  4 13:55:36 2010 GMT
       Subject:
           countryName               = JP
           stateOrProvinceName       = Tokyo
           organizationName          = Sun Microsystems
           organizationalUnitName    = Software Practice
           commonName                = sw-103-3.japan.sun.com
       X509v3 extensions:
           X509v3 Basic Constraints:
               CA:FALSE
           Netscape Cert Type:
               SSL Server
           Netscape Comment:
               OpenSSL Generated Certificate
           X509v3 Subject Key Identifier:
               22:44:52:54:19:7C:BD:F2:E1:2D:C7:6F:A7:67:D3:9D:78:89:67:F0
           X509v3 Authority Key Identifier:
               keyid:CA:75:35:41:9F:75:59:7D:7B:30:B0:60:4E:CA:A2:EF:BC:25:5D:BA

Certificate is to be certified until Nov  4 13:55:36 2010 GMT (365 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

3.署名済みのサーバ証明書の内容確認

# more /tmp/server-cert.pem Certificate:
   Data:
       Version: 3 (0x2)
       Serial Number:
           ca:e6:f8:42:ea:f0:0f:03
       Signature Algorithm: sha256WithRSAEncryption
               (署名アルゴリズム)
       Issuer: C=JP, ST=Tokyo, O=Sun Microsystems, OU=Software Practice, CN=Foo Bar/emailAddress=foo@Sun.COM
       Validity
           Not Before: Nov  4 13:55:36 2009 GMT
           Not After : Nov  4 13:55:36 2010 GMT
       Subject: C=JP, ST=Tokyo, O=Sun Microsystems, OU=Software Practice, CN=sw-103-3.japan.sun.com
       Subject Public Key Info:
           Public Key Algorithm: rsaEncryption
           RSA Public Key: (2048 bit)
               Modulus (2048 bit):
                   00:f5:e8:f7:cc:14:b5:74:f1:df:fc:de:2a:07:d0:
                   c4:fb:69:b4:bd:9f:10:22:70:a5:ce:19:24:9c:28:
                   48:3b:99:18:ba:86:cb:b6:0f:66:bb:50:80:01:91:
                   9c:43:44:17:8f:bf:d6:fd:01:92:a5:1e:bf:38:c4:
                   87:31:5f:28:de:10:15:b3:17:20:e2:67:57:00:f1:
                   9f:b3:83:37:ea:03:20:90:fc:21:48:c0:ce:cc:6e:
                   87:1a:76:4f:45:34:71:ad:67:f4:06:9a:28:e9:24:
                   18:d5:af:a3:6a:be:4d:e4:24:e4:d4:d0:1f:78:07:
                   d6:44:a7:4f:56:39:5b:97:cf:1b:32:04:13:52:c3:
                   83:cb:b5:a5:ba:e3:40:32:25:c0:05:7e:27:18:d6:
                   1d:e3:77:39:a7:0c:72:a0:5a:bc:8f:1e:f7:bb:54:
                   c4:ad:39:d9:c3:8e:fb:94:78:76:f0:59:d1:cb:5f:
                   80:c6:76:73:41:0c:ea:66:e4:35:de:10:62:dd:5f:
                   3e:38:b3:5d:ee:37:33:f8:23:20:4f:44:f1:0e:36:
                   d0:2c:81:c7:18:07:88:58:80:bb:6c:10:b1:d8:87:
                   eb:ee:fc:82:66:f6:fd:ce:e7:89:b7:27:b2:c3:0e:
                   ac:38:5d:e5:5c:f1:2f:90:80:55:aa:98:15:be:51:
                   36:07
               Exponent: 65537 (0x10001)
       X509v3 extensions:
           X509v3 Basic Constraints:
               CA:FALSE
           Netscape Cert Type:
               SSL Server
           Netscape Comment:
               OpenSSL Generated Certificate
           X509v3 Subject Key Identifier:
               22:44:52:54:19:7C:BD:F2:E1:2D:C7:6F:A7:67:D3:9D:78:89:67:F0
           X509v3 Authority Key Identifier:
               keyid:CA:75:35:41:9F:75:59:7D:7B:30:B0:60:4E:CA:A2:EF:BC:25:5D:BA

   Signature Algorithm: sha256WithRSAEncryption
     (拇印アルゴリズム)
       58:82:fd:e4:90:d6:44:dc:e9:77:77:fb:f0:72:f1:cf:92:2d:
       58:27:a9:38:c9:cd:b7:6c:8a:f9:32:ae:d1:f3:da:04:80:ee:
       a0:6f:24:bd:6b:e5:6a:56:29:0c:dc:bf:4d:08:14:75:5a:e4:
       31:a3:72:bd:d4:f6:08:ad:0f:5f:27:fa:76:26:0f:7b:34:8c:
       58:8d:ab:a4:f7:2c:5e:93:73:93:39:20:f1:49:6f:2a:3c:74:
       11:b8:b7:96:70:65:9a:2d:03:27:61:bb:80:97:49:ef:08:85:
       99:b3:ed:43:bc:11:0e:09:8c:ac:35:c5:96:3f:ff:04:2d:23:
       e9:48
-----BEGIN CERTIFICATE-----
MIIDmjCCAwOgAwIBAgIJAMrm+ELq8A8DMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYD
VQQGEwJKUDEOMAwGA1UECBMFVG9reW8xGTAXBgNVBAoTEFN1biBNaWNyb3N5c3Rl
bXMxGjAYBgNVBAsTEVNvZnR3YXJlIFByYWN0aWNlMRYwFAYDVQQDEw1Zb3NoaW8g
VGVyYWRhMSQwIgYJKoZIhvcNAQkBFhVZb3NoaW8uVGVyYWRhQFN1bi5DT00wHhcN
MDkxMTA0MTM1NTM2WhcNMTAxMTA0MTM1NTM2WjB1MQswCQYDVQQGEwJKUDEOMAwG
A1UECBMFVG9reW8xGTAXBgNVBAoTEFN1biBNaWNyb3N5c3RlbXMxGjAYBgNVBAsT
EVNvZnR3YXJlIFByYWN0aWNlMR8wHQYDVQQDExZzdy0xMDMtMy5qYXBhbi5zdW4u
Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9ej3zBS1dPHf/N4q
B9DE+2m0vZ8QInClzhkknChIO5kYuobLtg9mu1CAAZGcQ0QXj7/W/QGSpR6/OMSH
MV8o3hAVsxcg4mdXAPGfs4M36gMgkPwhSMDOzG6HGnZPRTRxrWf0Bpoo6SQY1a+j
ar5N5CTk1NAfeAfWRKdPVjlbl88bMgQTUsODy7WluuNAMiXABX4nGNYd43c5pwxy
oFq8jx73u1TErTnZw477lHh28FnRy1+AxnZzQQzqZuQ13hBi3V8+OLNd7jcz+CMg
T0TxDjbQLIHHGAeIWIC7bBCx2Ifr7vyCZvb9zueJtyeyww6sOF3lXPEvkIBVqpgV
vlE2BwIDAQABo4GPMIGMMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZAMCwG
CWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNV
HQ4EFgQUIkRSVBl8vfLhLcdvp2fTnXiJZ/AwHwYDVR0jBBgwFoAUynU1QZ91WX17
MLBgTsqi77wlXbowDQYJKoZIhvcNAQELBQADgYEAWIL95JDWRNzpd3f78HLxz5It
WCepOMnNt2yK+TKu0fPaBIDuoG8kvWvlalYpDNy/TQgUdVrkMaNyvdT2CK0PXyf6
diYPezSMWI2rpPcsXpNzkzkg8UlvKjx0Ebi3lnBlmi0DJ2G7gJdJ7wiFmbPtQ7wR
DgmMrDXFlj//BC0j6Ug=
-----END CERTIFICATE-----

4.署名済みサーバ証明書のインポート
最後に署名された証明書を Web Server のキーストアにインポートします。次に、Web Server の HTTP リスナーの設定時に指定したニックネーム(Server-Cert)を指定すれば設定が完了です。

# certutil -A -n Server-Cert -t “u,u,u” -i /tmp/server-cert.pem -d /sun/webserver7/https-sw-103/config

Proxy Server もほぼ同様の方法で対応が可能です。

2010年8月30日 at 6:39 PM

先進的アプリケーションサーバ GlassFish v3 のご紹介

本日の Oracle Sun Technology Update イベントで発表時に使用したファイルを公開します。

今日の発表はGlassFish v3 の概要ではなく、一歩踏み込んだアーキテクチャ紹介(モジュールサブシステム)等を行いました。GlassFish v2 からさらに進化した GlassFish v3 を是非ご覧ください。

2010年8月19日 at 5:13 PM

Java とはなんぞや?Oracleダイセミ発表資料公開

先日、オラクルのダイレクトセミナーで Java に関する超入門を発表しました。普段は EE 周りしか人前で話をすることはないですし、また今更ながらの Java とはなんぞや的なネタだったので、普段とは異なり少し緊張しながら発表しました。
プレゼン資料は、Java の過去の歴史から現在までを写真を交えながら説明しているので、まさしく初学者にとって Java って何?を理解するにはよいかもしれません。

ちなみに、この資料は元 Sun の Java エバンジェリスト山口浩さんが以前作成された資料を元に作成しています。山口さんありがとうございます。

PS.
さて、目黒雅叙園のイベントが明日に迫りましたがご安心ください。発表用の原稿は既にできて提出しています。Twitter でもつぶやきましたが、明日の発表は GlassFish v3 の概要的な紹介は少なく、もう少し踏み込んだ GlassFish のアーキテクチャやモジュールサブシステム(OSGi/HK2)の紹介、また GlassFish がモジュールサブシステム上で動くメリット、v3 のGrizzly の振る舞い等を説明する予定です。
また v3.1 の機能についても若干説明する予定です。
どうぞお楽しみにしてください。

追記:(8/20)
************************************************************
櫻庭さんからP27のヒープ領域についてご指摘をいただきました。P 27 のNew領域に Eden領域とFrom/Toを記載していますが、Eden領域を記載したのであれば、From/Toを記載するのではなく、Suvivor領域と記載すべきでした。
櫻庭さん適切なご指摘をいただきましてありがとうございました。
************************************************************

2010年8月18日 at 4:12 AM 1件のコメント

週末の散歩(横浜:第25回神奈川新聞花火大会)

この週末は久しぶりにカメラを持って散歩に行ってきました。日曜日に横浜の花火大会が開催されるという事で、午後2時位に家を出て横浜の赤レンガ倉庫で花火を見てきました。

午後2時位はまだ場所も空いていたので芝生のある位置をゲットし後はあの暑い炎天下の中をひたすら待ちつづけました。

夏の風物詩の花火はやっぱりいいですね。今回三脚を持って行かず(花火撮るのに持って行かないのは明らかに NGなのは知っているのですが、荷物が多くて。。)手持ちで撮ったので案の定手ぶれだらけですが、いくつかまぁ、なんとか見れるのが撮れたので記念にアップしました。

今年の夏は本当に暑いので皆様も夏バテしませんように。









2010年8月2日 at 11:27 AM


Java Champion & Evangelist

ご注意

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

カレンダー

2010年8月
« 7月   9月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

カテゴリー

Twitter

clustermap

ブログ統計情報

  • 979,791 hits

Feeds