読者です 読者をやめる 読者になる 読者になる

kantyPanco's diary

初心忘るるべからずなWeb屋初心者の色々忘備録

Digest認証 〜error.logから〜

phpのエラーログ出力の設定をし直して、

apache再起動したらこんなエラーが。

 

[Sun Dec 29 03:39:12 2013] [notice] Digest: generating secret for digest authentication ...
[Sun Dec 29 03:39:12 2013] [notice] Digest: done

 

なんぞ…。これはダメなヤツなのでは?と思い調べてみると

mod_auth_digest.so(ダイジェスト認証用のモジュール)をロードしたときに出るログだそうで、なにかのエラーって訳ではないようです。

-------------------------

参考:マコトのおもちゃ箱 〜ぼへぼへ自営業者の技術メモ〜

「Digest: generating secret for digest authentication ...ってなんぞ」

http://piyopiyocs.blog115.fc2.com/blog-entry-534.html

-------------------------

ダイジェスト認証を使わないならhttpd.conf内の

LoadModule auth_digest_module modules/mod_auth_digest.so

をコメントアウトすれば良いよって言う話らしいんですが、

そもそも”ダイジェスト認証”ってなんぞやレベルの私は調べてみましたとさ。

 

■Digest認証とは

HTTPによるアクセス認証のうちの一つ。

パスワードから生成されるダイジェストのみを使って認証を行う方法。

<認証方法>

①クライアントからパスワードを含むダイジェスト以外のHTTPリクエストを送信する。

②サーバーがクライアントへ認証要求を送信する。この際レスポンス・ヘッダには

 none 及び opaque というBASE64符号化もしくは16進数のデータ文字列が含まれる。

③認証要求を受け取ったクライアントは、ユーザー名・パスワード入力を促すプロンプトを表示し、入力が完了するとサーバー側へ認証情報を送信する。

④サーバー側への認証情報送信の際に、先ほどサーバーから送られてきたデータ文字列を保持し更に cnone 及び response 情報を追加し、ユーザー名・パスワードを送信する。

⑤ユーザー名とパスワードをkeyにして、none / opaque / cnone / response 及びリクエスト先のURIを基に生成されるデータが「ダイジェスト」になる。

⑥サーバーは正のパスワードを基に同じアルゴリズムを用いて response の値を作成する。その値がクライアントから送信された response と一致した場合のみ、クライアントから正しいパスワード入力があったと判断する。

 

tomcatでの設定>

web.xml で設定します。

  <login-config>
    <auth-method>DIGEST</auth-method>
    <realm-name>JavaTIPS</realm-name>
  </login-config>

これだけ。<auth-method> 部分を DIGEST へ変更します。

ダイジェスト認証を使用しない場合はコメントアウトします。

<!--

  <login-config>
    <auth-method>DIGEST</auth-method>
    <realm-name>JavaTIPS</realm-name>
  </login-config>

-->

 

tomcatでの設定変更後は再起動を忘れずに・・・!