/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)
その後新規作成でサーバ証明書、クライアント証明書を作成
国名(必須) : JP 組織名(必須) : Orca Team コモンネーム(必須) :localhost
コモンネームにはFQDNかIPアドレスを入れる
鍵アルゴリズム : RSA 鍵(ビット長) : 2048 ダイジェスト : SHA1
その後「OK」
CAによる署名
CA鍵パスワード : (1)を入力 プロファイル:「orca-server」 ユーザ名 : 空白
国名(必須) : JP 組織名(必須) : Orca Team コモンネーム(必須) :Okada (担当者、クライアント名など)
鍵アルゴリズム : RSA 鍵(ビット長) : 2048 ダイジェスト : SHA1
その後「OK」
CAによる署名
CA鍵パスワード : (1)を入力 プロファイル:「orca-client」 ユーザ名 : oruser (すでにorcaに登録済のユーザを指定)
先にhomeに適当なディレクトリ ssl_keyを作成
$ mkdir ssl_key $ chmod og-rwx ssl_key
サーバ証明書
証明書タブで
クライアント証明書
証明書タブで
CA証明書
認証局タブで CA証明書のエクスポート(PEM)
保存先は同様に「ssl_key」
メニューの「ツール」から「日レセ用ユーザDBを作成する」
ファイル名がuserdbなのでそのままでssl_keyに保存
従来はglauthサーバが認証を請け負っていたのをこのファイルに変更するため
現時点ではサーバ機とクライアント機が同一マシン
/etc/jma-receipt/glserver.p12
/etc/ssl/certs/gl-cacert.pem
/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
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
SSL_CTX_load_verify_locations(<CA証明書へのパス、またはCA証明書ファイル>)でエラーが発生しました: 「CA証明書へのパス」または「CA証明書ファイル」が不正な可能性があります。
でも、通常にglclient2からは接続できた
さらに「ssh-askpass」が必要かもしれないのでインストール
$ sudo aptitude install ssh-askpass ssh-askpass-gnome
基本タブ
ホスト名はサーバ証明書の「コモンネーム」を指定後はSSLを使用しない時と変更なし
&ref(): File not found: "ssl1.png" at page "".";
SSLタブ
&ref(): File not found: "ssl2.png" at page "".";
パスフレーズ入力
クライアント証明書のエクスポートでの出力ファイルパスワード(2)を入力
&ref(): File not found: "ssl3.png" at page "".";