C=JP, O=CACAnet Fukuoka, OU=CA, CN=RAA Manager
藤野さんの証明書発行スクリプトを参考に、上記の証明書を誕生させました。証明書データベースは、PostgreSQLを使っています。
日時: 2004年10月15日(金曜日)
場所: システムラボラトリー(株)本社 and 近畿大学 and 慶応大学SFC
ネットワーク接続
時間: 18:00~19:00
参加者: 山崎・宮川・安河内・山村
一番最初に発行する「神様」の証明書について、以下のDNにすることにしました。
C=JP, O=CACAnet Fukuoka, OU=CA, CN=RAA Manager
この証明書を使って、各RAAの証明書を発行していくことになります。
つまり、CACAnet Communityの創造主となるのです・・・
-------------------------------------------
EEサーバ
■本人確認情報受付
メソッド名:send_access_key
引数/型:
本人確認情報(本人確認情報のsha-1ハッシュ):access_key:int
e-mailアドレス:email:String
日本語氏名:kanji_name:String
ローマ字氏名:romaji_name:String
------------------------------------------
IAサーバ
■p12での証明書発行
メソッド名:issue_p12
引数:
p12パスワード:p12_password:String
鍵長:key_length:int
o:o:String
ou:ou:String
cn:cn:String
emailアドレス:emailAddress:String
IssuerAltName(RA証明書のシリアル番号@ra.cacanet.org):issuerAltName:String
フレンドリー名:friendly_name:String
返値:
p12(PEM?):p12:String
証明書(PEM?):cert:String
------------------------------------------
RAサーバ
■証明書発行依頼
メソッド名:req_p12
引数:
p12パスワード:p12_password:String
本人確認情報(本人確認情報のsha-1ハッシュ):access_key:int
返値:
なし
永井です。
10/18の作業でのアクティビティー図を見ながらコードレビューを行った際に気
づいた点です。
(アクティビティー図は山村さんに修正してもらいブログに掲載されています。)
以下、サーバ間通信のインターフェースにける修正点です。
問題がなければブログへ載せてください。
x印の付いた行が変更箇所です。
|サーバ間通信のインターフェース
|-------------------------------------------
|EEサーバ
|■本人確認情報受付
|メソッド名:send_access_key
|引数/型:
x|セッション情報:session_id:String
x|本人確認情報(本人確認情報のsha-1ハッシュ):access_key:String
|e-mailアドレス:email:String
|日本語氏名:kanji_name:String
|ローマ字氏名:romaji_name:String
|
|------------------------------------------
|IAサーバ
|
|■p12での証明書発行
|メソッド名:issue_p12
|引数:
|p12パスワード:p12_password:String
|鍵長:key_length:int
|o:o:String
|ou:ou:String
|cn:cn:String
|emailアドレス:emailAddress:String
|IssuerAltName(RA証明書のシリアル番号@ra.cacanet.org):issuerAltName:String
|フレンドリー名:friendly_name:String
|
|返値:
x|p12(DER):p12:String
|
|------------------------------------------
|RAサーバ
|
|■証明書発行依頼
|メソッド名:req_p12
|引数:
|p12パスワード:p12_password:String
x|セッション情報:session_id:String
|返値:
|なし
以上です。
C16rでのサーバそれぞれのファイルパスを以下に記載します。
○ライブラリ関係ファイルPATH ※EEサーバ,RAサーバ,IAサーバ共通
(RubyのライブラリPATH)/C16r/
○プログラムファイルPATH
[EEサーバ] ※ApacheのCGI
(任意のPATH)/C16r/EE/
[RAサーバ] ※ApacheのCGI
(任意のPATH)/C16r/RA/
[IAサーバ]
(任意のPATH)/C16r/IA/
Ruby4RとSSLを使う簡単な例題
サーバのプログラム
Download file
クライアントのプログラム
Download file
サーバではon_initで@webrick_configにSSL関係の設定を行います。
ディレクトリの名前空間の構成について、再検討しました。
●クランベクターの仕様
クランベクターの実現のために、RAの電子メールアドレスを使うように検討していた。しかし、証明書のバージョンについてが分からなくなる問題があることがありそうなため、以前のようにRAのシリアル番号を使うことにする。証明書への具体的な入れ方については、後述の「証明書の仕様」を参照。
●ディレクトリの名前空間構成
以下のように変更する。
○RA証明書のシリアル番号のOUをなくす
○OU=person/serverをディレクトリエントリーから外して、属性に変更する。
○同姓同名がいた場合は、CNに適宜数字などを入れる。
<<例>>
/C=JP/O=CACAnet Fukuoka/O=Members RAA/OU=admin/CN=YAMAMURA Tomohiro/emailAddress=yamamie@cacanet.org
●証明書の仕様
以下の内容を、拡張領域'「IssuerAltName」に入れる。
○RA証明書のシリアル番号@cacanet.org
<<OpenSSLの設定ファイル例>>
issuerAltName=email:A7FFCE925B0F4018A3D9D58340C8C6CC@cacanet.org
日付: 2004年10月11日(月) 10:00~20:00
場所: システムラボラトリー 久留米営業所
午前: 仕様の再確認 (ディレクトリ構成確認やアクティビティ図チェックなど)
午後: 開発・テスト
参加者はメールにてご連絡ください。
(office@cacanet.org)