先日の「PHPki で簡単証明書運用 (4) 【作成した証明書を管理する】」の続きです.
今回はCRLの取得と,管理ユーザのメンテナンスについて解説します.
管理ユーザのメンテナンス
管理ユーザのメンテナンスも PHPki で行う事が可能です.ただ,実際は htpasswd を編集しているだけですので Apache の htpasswd を直接実行する形でも問題はないと思います.
ここではせっかくですので PHPki 上から実施する方法を解説します.
htpasswd ファイルのオーナ・グループの変更
これも不具合の一つですが,普通にセットアップを進めると htpasswd ファイルのオーナが root となり,管理画面経由での修正が行えません.従いまして,管理画面経由でのユーザ情報修正を行う場合事前準備が必要となります.
SSH などでコンソールアクセスし,パスワードファイルを修正しましょう.
パスワードファイルは「PHPki で簡単証明書運用 (1) 【PHPki の修正と導入 (修正版)】」での「Enter the location of your PHPki password (i.e. /etc/phpkipasswd):」で入力したパスになります.
分からなくなってしまった場合は,PHPki を展開したディレクトリ以下の /ca/.htaccess などを開いて確認する事が可能です.
.htaccess の AuthUserFile 行にあるファイルパスがパスワードファイルとなります.
このファイルを Apache 実行ユーザ (www など) に所有者を変更しましょう.次のような形で chown コマンドを実行してください.
# chown www:www /usr/local/www/phpki-0.83/phpkipasswd
管理画面へのアクセス
証明書の作成と似ていますが,Apacheの Alias で設定した URL に /admin をつけてブラウザでアクセスしてください.証明書の管理の際と同様 Basic 認証のダイアログが表示されますので,ユーザ情報を入力して次に進んでください.
こんな感じのログイントップ画面が表示されれば管理画面アクセスは完了です.
ユーザの追加またはパスワード変更
管理画面メニューの「Add User or Change Password」をクリックすると,ユーザの追加または既存ユーザのパスワード変更を行うことができます.
ユーザ管理画面は次の画面となります.
入力項目は次のとおりとなります.入力項目を全て入力後「Submit」ボタンをクリックして次へ進めてください.
- UserID
既存のユーザ名を入力するか,新規ユーザ名を入力します.既存のユーザ名の場合はパスワード変更,新規ユーザ名の場合はユーザ追加となります. - Password
新しいパスワードを入力します. - Verify Password
確認の為,もう一度パスワードを入力します.
ユーザの追加が成功すると,次の画面のような表示となり「Adding password for user [追加のユーザ名]」という表示があります.
また,パスワード変更の場合は次の画面表示で「Updating password for user [変更したユーザ名]」の表示があります.
ユーザの削除
ユーザを削除する場合は管理画面メニューの「Remove User」より行う事ができます.クリックすると次の画面に移動します.
削除したいユーザ名を入力し「Submit」をクリックしてください.削除が成功すると,次の画面表示となり「Deleting password for user [削除したユーザ名]」の表示があります.
ユーザ一覧の表示
作成されているユーザの一覧を表示するには管理画面メニューの「List Password File Contents」より行う事が出来ます.クリックすると次の画面表示となり,ユーザ一覧が表示されます.
正直,htpasswd ファイルそのままですのでやっつけ仕事すぎな気がしています…
CRLの取得
CRL(Certificate Revocation List) 失効した証明書のリストの取得について解説します.
管理画面へアクセス
証明書の作成と同様,Apacheの Alias で設定した URL に /ca をつけてブラウザでアクセスしてください.
こんな感じのログイントップ画面が表示されれば管理画面アクセスは完了です.
CRLの表示
今リストされている一覧をテキストとして表示したい場合は「Update & View the Certificate Revocation List」より確認することが出来ます.クリックすると次のような画面となり,CRL の一覧が表示されます.
CRL はシリアル番号で管理されており「Revoked Certificates」以下にリストされます.実際にこれらシリアル番号はどの証明書だったのかを確認したい場合は管理画面トップの「Manage Certificates」より失効(Revoke) となっている証明書の詳細を確認してください.
CRL のダウンロード
CRL をダウンロードするには「Download the Certificate Revocation List」をクリックする事でダウンロードが行えます.
一般利用者向けのインタフェース
今までは管理者アクセスでの利用を紹介していましたが,認証無しの一般利用者向けのインタフェースも用意されています.一般利用者は表示またはダウンロードのみが可能となっています.
管理インタフェースへのアクセス
証明書の作成と同様,Apacheの Alias で設定した URL にブラウザでアクセスしてください.今までは /ca などをつけていましたが今回はなにもつけません.
こんな感じのログイントップ画面が表示されれば管理画面アクセスは完了です.
各メニューは次のとおりです.
- Search for a Certificate
作成済みの証明書の検索,表示とダウンロードが出来ます.管理者向けインタフェースでは常に一覧として表示されていましたが,一般向けインタフェースでは検索よりマッチしたものだけの表示となります. - Download Our Root Certificate
CA 証明書のダウンロードが出来ます. - Display Our Root Certificate (PEM Encoded)
PEM 形式でエンコードされた CA 証明書を表示します. - Download Our Certificate Revocation List
CRL をダウンロードできます.
証明書の検索,表示,ダウンロード
作成済みの証明書の検索と,マッチした証明書の表示またはダウンロードを行うには「Search for a Certificate」を利用します.クリックすると次のような検索画面が表示されます.
検索バーに証明書の名前を入力し「Find It!」をクリックすると,入力と一致した証明書が次のような画面で一覧で表示されます.
虫眼鏡アイコンをクリックする事で詳細の表示,ダウンロードアイコンをクリックすることでダウンロードが行えます.
セキュリティ上の懸念ですが,これら証明書はパスワードで保護されていますので,これ自体が流出してもパスワードが漏れない限りは不正利用が出来ない.という事でこの実装にしているものと思われます.
CA 証明書のダウンロード
CA 証明書をダウンロードしたい場合は「Download Our Root Certificate」より行えます.クリックすると通常のブラウザの場合証明書のインストールを促されると思います.ファイルとして取得したい場合は右クリックからリンク先ファイルのダウンロードを行ってください.
CA 証明書の表示
CA 証明書を PEM 形式で表示するには「Display Our Root Certificate (PEM Encoded)」より行えます.クリックすると次のような PEM 形式で出力された画面が表示されます.
CRL のダウンロード
CRL をダウンロードするには「Download Our Certificate Revocation List」より行えます.クリックするとファイルダウンロードが開始されます.
以上,若干駆け足で進んだ部分もありますが,PHP で証明書管理を行うソフトウェア PHPki の紹介となります.
導入部分の不具合などを修正した改変バージョンを今作成中ですので,そのうち公開したいと思っています.
お付き合いありがとうございました.
コメント