*OrcaでglclientのSSL接続 [#v5a10189]

RIGHT:更新日 &lastmod();

**CA、サーバ、クライアント証明書作成 [#pa018c7e]

***ツールの設定 [#q7bb351d]

/etc/apt/sources.listの最後の行に以下を追加

 deb ftp://orca.med.or.jp/pub/debian sarge jma

 $ sudo aptitude update
 $ sudo aptitude install jma-certtool

[Xwindow上の端末でglclient2を使用するユーザでログイン]

 $ jma-certtool

パスワードを聞かれるので、rootとあるが、sudoの時のユーザパスワードを入力

初めて起動するとCA証明の情報を入力

 新しいCAの名前: ismCA
 国名(必須) : JP
 組織名(必須) : Orca Team
 コモンネーム : Orca

 鍵アルゴリズム : RSA
 鍵(ビット長)   : 2048
 ダイジェスト   : SHA1

 CA鍵パスワード :************   (1)


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

***サーバ証明書 [#r5e43de4]

 国名(必須) : JP
 組織名(必須) : Orca Team
 コモンネーム(必須) :localhost
コモンネームにはFQDNかIPアドレスを入れる

 鍵アルゴリズム : RSA
 鍵(ビット長)   : 2048
 ダイジェスト   : SHA1

その後「OK」

''CAによる署名''
 CA鍵パスワード : (1)を入力
 プロファイル:「orca-server」
 ユーザ名  : 空白

*** クライアント証明書 [#j6d0608b]

 国名(必須) : JP
 組織名(必須) : Orca Team
 コモンネーム(必須) :Okada (担当者、クライアント名など)

 鍵アルゴリズム : RSA
 鍵(ビット長)   : 2048
 ダイジェスト   : SHA1

その後「OK」

''CAによる署名''
 CA鍵パスワード : (1)を入力
 プロファイル:「orca-client」
 ユーザ名  : oruser (すでにorcaに登録済のユーザを指定)



***CA証明書 サーバ証明書 クライアント証明書のエクスポート [#c3ee63cb]

先にhomeに適当なディレクトリ ssl_keyを作成

 $ mkdir ssl_key
 $ chmod og-rwx ssl_key

''サーバ証明書''

証明書タブで~
-サーバ証明書を右クリックし、「エクスポート(PKCS #12)」
-出力ファイルパスワード 「必ず空白」
-ssl_keyに「gl-cacert.pem」という名前で保存


''クライアント証明書''

証明書タブで~
-クライアント証明書を右クリックし、「エクスポート(PKCS #12)」
-出力ファイルパスワード 「必ず設定」 (2)
-ssl_keyに「oruser.pem」というユーザ名の名前で保存


''CA証明書''

認証局タブで CA証明書のエクスポート(PEM)

保存先は同様に「ssl_key」

***ユーザDBファイル作成 [#b1a57263]

メニューの「ツール」から「日レセ用ユーザDBを作成する」

ファイル名がuserdbなのでそのままでssl_keyに保存

従来はglauthサーバが認証を請け負っていたのをこのファイルに変更するため

**サーバ設定 [#w19c4a7f]

***作成ファイルを配置 [#q40f3218]

現時点ではサーバ機とクライアント機が同一マシン

-サーバ証明書
 /etc/jma-receipt/glserver.p12

-CA証明書
 /etc/ssl/certs/gl-cacert.pem

-ユーザDBファイル
 /etc/jma-receipt/userdb

-クライアント証明書
 ~/.glclient/gl-client.p12

 $ cd ~/ssl_key
 $ sudo cp glserver.p12 /etc/jma-receipt/
 $ sudo cp gl-cacert.pem /etc/ssl/certs/
 $ sudo cp userdb /etc/jma-receipt/
 $ sudo cp ormaster.p12 ~/.glclient/gl-client.p12
 $ sudo chown orca.orca /etc/jma-receipt/glserver.p12
 $ sudo chmod 400 /etc/jma-receipt/glserver.p12
 $ sudo chmod 400 ~/.glclient/gl-client.p12

以下も必要かも
 $ sudo chmod 500 ~/.glclient

***jma-receipt 再設定 [#x375534e]

SSLでの接続を設定し、ユーザ認証のglauthサーバを停止する設定を行う

 $ sudo /usr/sbin/dpkg-reconfigure jma-receipt

基本は現在の指定をそのまま使用し、「glauthサーバ」は使用しないを選択し
「SSLは有効」を指定する

その後再起動

 $ sudo /etc/init.d/jma-receipt restart

''確認''

 $ netstat -an | grep -i tcp
 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
 tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
 tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN
 tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN
 tcp        0      0 0.0.0.0:8001            0.0.0.0:*               LISTEN
 tcp        0     52 10.99.99.193:22         10.99.99.100:52836      ESTABLISHED
 tcp6       0      0 :::22                   :::*                    LISTEN
 tcp6       0      0 ::1:631                 :::*                    LISTEN
 tcp6       0      0 ::1:5432                :::*                    LISTEN

8000ポートに接続でうまく動作するはず。なぜか8001も開いてしまったが未調査

8000ポートのオープンがないときはうまく動作しなかった(それ以外のポートは不可)

確認ように端末から以下のコマンド(マニュアルはglclientだがglclient2しかないので)で確認したが以下のエラーが出た

 $ glclient2 -port localhost:8000 -ssl -cert ~/.glclient/gl-client.p12 -CAfile /etc/ssl/certs/gl-cacert.pem panda:orca00

&color(red){SSL_CTX_load_verify_locations(<CA証明書へのパス、またはCA証明書ファイル>)でエラーが発生しました: 「CA証明書へのパス」または「CA証明書ファイル」が不正な可能性があります。};

でも、通常にglclient2からは接続できた

さらに「ssh-askpass」が必要かもしれないのでインストール

 $ sudo aptitude install ssh-askpass ssh-askpass-gnome

**glclient2の接続 [#ad12b24d]

''基本タブ''

ホスト名はサーバ証明書の「コモンネーム」を指定後はSSLを使用しない時と変更なし

&ref("./ssl1.png);

''SSLタブ''

-SSLを使用するをチェック
-CA証明書ファイル:/etc/ssl/certs/gl-cacert.pem
-証明書ファイル名(pem/p12):/etc/jma-receipt/glserver.p12-
-暗号スイート:DEFAULT

&ref("./ssl2.png);

''パスフレーズ入力''

クライアント証明書のエクスポートでの出力ファイルパスワード(2)を入力

&ref("./ssl3.png);

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS