Cosminexus V9 アプリケーションサーバ Cosminexus HTTP Server
5.3.1 CRLのダウンロード
LDAPサーバのエントリにアクセスして,指定した属性から無効になった証明書のリスト(CRL)をダウンロードします。CRLを取得するエントリ,属性およびCRLの形式はあらかじめLDAP管理者に確認してください。
次にCRLをダウンロードするcrldownloadコマンドについて説明します。
crldownloadコマンドは,HP-UX(IPF)版では使用できません。
- <この項の構成>
- (1) 形式
- (2) オプション
- (3) 使用方法
- (4) 使用例
crldownload -b 検索ベースDN -L LDAPライブラリ名 -o ファイル名〔-a 属性〕〔-D バインドDN〕〔-h ホスト名〕〔-H〕〔-p ポート番号〕〔-w パスワード〕
|
- -b 検索ベースDN
CRLの格納されているエントリのDNを指定します。
- -L LDAPライブラリ名
使用するLDAPライブラリファイル名を指定します。
- -o ファイル名
CRLを出力するファイル名を指定します。
- -a 属性 〜《certificateRevocationList;binary》
CRLが格納されている属性を指定します。
- -D バインドDN
バインドするDNを指定します。省略した場合は,匿名バインドが実行されます。
- -h ホスト名 〜《localhost》
アクセスするLDAPサーバのホスト名またはIPアドレスを指定します。
- -H
ヘルプを表示させる場合に指定します。このオプションは,ほかのオプションとは,併用できません。
- -p ポート番号 〜((1−65535))《389》
アクセスするLDAPサーバのポート番号を指定します。
- -w パスワード 〜《NULL》
バインドDNにバインドする場合に使用するパスワードを指定します。省略した場合は,パスワードを使用しません。
crldownloadコマンドの使用方法を次に示します。
図5-3 crldownloadコマンドの使用方法
- crldownloadコマンドで,CRLを格納しているエントリにアクセスします。
- エントリ内の属性からCRLを取得します。格納されているCRLがDER形式の場合,SSLCRLDERPathディレクティブで指定したディレクトリにダウンロードします。CRLがPEM形式の場合,SSLCRLPEMPathディレクティブで指定したディレクトリにダウンロードします。
- Webサーバを再起動します。
- クライアントは,SSLでアクセスしたときに証明書を送信します。
- クライアント証明書を認証するとき,取得したCRLを適用します。
- 認証に成功した場合には,コンテンツにアクセスできます。
- 注
- SSLCRLPEMPath,SSLCRLDERPathディレクティブで指定されたディレクトリ内に,不適切な形式のファイルがあった場合,Webサーバは起動しません。そのため,crldownloadツールを使用したときは,これらのディレクトリにCRLを格納する前に,正しい形式のCRLであるかどうかを確認してください。
(a) DER形式のCRLのダウンロード
次に示すスクリプトを実行してCRLをダウンロードします。このスクリプトのファイル名をUNIX版は/opt/hitachi/httpsd/sbin/hws_getCRL.sh,Windows版は<Application Serverのインストールディレクトリ>\httpsd\sbin\hws_getCRL.batとします。
- スクリプトの実行内容
LDAPサーバ内にDER形式で格納されているCRLをダウンロードし,Webサーバを再起動します。そのときに出力されたメッセージはログファイルに格納します。
- CRLの格納先ファイル名
- UNIX版
- /opt/hitachi/httpsd/conf/ssl/crl/DER/rootCA.crl
- Windows版
- <Application Serverのインストールディレクトリ>\httpsd\conf\ssl\crl\DER\rootCA.crl
- ログファイル名
- UNIX版
- /opt/hitachi/httpsd/conf/ssl/crl/crl.log
- Windows版
- <Application Serverのインストールディレクトリ>\httpsd\conf\ssl\crl\crl.log
- スクリプトの内容(UNIX版の場合)
#!/bin/sh
#parameters
LIB=LDAPライブラリ名
HOST="ldap.server.hitachi.co.jp"
PORT="389"
BASE="cn=Company root CA, o=Hitachi, c=JP"
ATTR="certificateRevocationList;binary"
FILE="/opt/hitachi/httpsd/conf/ssl/crl/DER/rootCA.crl"
LOG="/opt/hitachi/httpsd/conf/ssl/crl/crl.log"
TMP="/opt/hitachi/httpsd/conf/ssl/crl/tmp-rootCA.crl"
#download
TOOL="/opt/hitachi/httpsd/sbin/crldownload"
HTTPSD="/opt/hitachi/httpsd/sbin/httpsdctl graceful"
LOGTIME=""
LANG=C
if `$TOOL -L $LIB -h $HOST -p $PORT -b "$BASE" -a "$ATTR" -o $TMP >> $LOG 2>&1`then
if `mv -f $TMP $FILE >> $LOG 2>&1`
then
$HTTPSD >> $LOG 2>&1
exit 0
else
LOGTIME=`date`
echo "[$LOGTIME] Moving $TMP to $FILE failed" >> $LOG
rm -f $TMP >> /dev/null 2>&1
fi
else
LOGTIME=`date`
fi
echo "[$LOGTIME] Stop restarting Cosminexus HTTP Server." >> $LOG
exit 1
|
-
- スクリプトの内容(Windows版の場合)
@echo off
REM
REM #parameters
SETLOCAL
SET LIB="<Application Serverのインストールディレクトリ>\httpsd\libldap\nsldap32v50.dll"
SET HOST="ldap.server.hitachi.co.jp"
SET PORT="389"
SET BASE="cn=Company root CA, o=Hitachi, c=JP"
SET ATTR="certificateRevocationList;binary"
SET FILE="<Application Serverのインストールディレクトリ>\httpsd\conf\ssl\crl\DER\rootCA.crl"
SET FORM="DER"
SET LOG="<Application Serverのインストールディレクトリ>\httpsd\conf\ssl\crl\crl.log"
SET TMPCRL="<Application Serverのインストールディレクトリ>\httpsd\conf\ssl\crl\tmp-rootCA.crl"
REM #download
SET TOOL="<Application Serverのインストールディレクトリ>\httpsd\sbin\crldownload.exe"
SET HTTPSD="<Application Serverのインストールディレクトリ>\httpsd\httpsd.exe"
%TOOL% -L %LIB% -h %HOST% -p %PORT% -b %BASE% -a %ATTR% -o %TMPCRL% >> %LOG% 2>&1 || GOTO ERR
COPY %TMPCRL% %FILE% >> %LOG% 2>&1 || GOTO CPERR
DEL %TMPCRL% >> %LOG% 2>&1
%HTTPSD% -n "Cosminexus HTTP Server" -k restart >> %LOG% 2>&1
GOTO TOOLEND
:CPERR
ECHO Moving %TMPCRL% to %FILE% failed >> %LOG%
DEL %TMPCRL% >> %LOG% 2>&1
DEL %TMPSSL% >> %LOG% 2>&1
GOTO ERR
:ERR
ECHO Stop restarting Cosminexus HTTP Server. >> %LOG%
:TOOLEND
endlocal
echo on
|
-
- スクリプトの実行方法(UNIX版の場合)
/opt/hitachi/httpsd/sbin/hws_getCRL.sh
|
- スクリプトの実行方法(Windows版の場合)
C:\> "<Application Serverのインストールディレクトリ>\httpsd\sbin\hws_getCRL.bat"
|
(b) 定期的なダウンロードとWebサーバの再起動
- UNIX版
スーパーユーザまたはスーパーユーザから許可されたユーザはcrontabコマンド※を使用したCRLの定期的なダウンロードや,Webサーバの再起動ができます。
crontabコマンドにcrldownloadコマンドまたはcrldownloadコマンドを記述したスクリプトを実行する時間を指定して,定期的にCRLをダウンロードし,Webサーバを再起動します。
注※ OSコマンドの一つ。cronへのジョブの登録や制御をするときに使用します。詳細な指定方法は各OSマニュアルを参照してください。
- crontabコマンドの指定方法
# crontab -
分 時 日 月 曜日 コマンド
|
- 各crontabファイルエントリは,六つのフィールドから成る行で構成されます。各フィールドは,スペースまたはタブで区切られ,それぞれ次に示す値を含みます。
- 分:コマンドを実行する分(0から59)
- 時:コマンド実行の時間(0から23)
- 日:コマンド実行の日(1から31)
- 月:コマンド実行の月(1から12)
- 曜日:コマンド実行の曜日(日曜日から土曜日までを示す0から6)
- コマンド:実行するシェルコマンド
- *(アスタリスク)は有効な値すべてを意味します。
- crontabコマンドの指定例
- 毎日,午前8時にCRLをダウンロードして,Webサーバを再起動する((a)のスクリプトを実行する)には,次のように指定します。
# crontab -
0 8 * * * /opt/hitachi/httpsd/sbin/hws_getCRL.sh
(<Ctrl>+<d>キーで入力を終了します)
#
|
- Windows版
atコマンド※を使用してCRLの定期的なダウンロードや,Webサーバの再起動ができます。
atコマンドにcrldownloadコマンドまたはcrldownloadコマンドを記述したスクリプトを実行する時間を指定して,定期的にCRLをダウンロードし,Webサーバを再起動します。
注※ OSコマンドの一つ。詳細な指定方法は各OSマニュアルを参照してください。
- atコマンドの指定方法
C:\>at [\\コンピュータ名]時刻[/every:日付[,...]|/next:日付[,...]]"コマンド"
|
- atコマンドの指定例
- 毎日,午前8時にCRLをダウンロードして,Webサーバを再起動する((a)のスクリプトを実行する)には,次のように指定します。
C:\>at 8:00 /every:M,T,W,Th,F,S,Su "<Application Serverのインストールディレクトリ>\httpsd\sbin\hws_getCRL.bat"
|
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.