2012-04-29 18 views
4

私はクリアテキスト(開発環境/制御環境)でTomcat 7/JDBCRealm認証を使用しています。今私はホストされた環境にWebアプリケーションをアップロードしたいので、パスワードを消化する必要があります。Tomcat JDBCRealmでSHA2を使用できない

server.xmlのrealmセクションに 'digest = "MD5"を追加し、既存のクリアテキストパスワードをMySQLのMD5()関数を使用して消化したものに置き換えていくつかのアカウントでテストしました。

これは問題ありませんでした。

server.xmlにSHA2( 'digest = "SHA2"'、テーブルのパスワードをダイジェストするMySQLのSHA2()関数)を試したところ、ログイン失敗が続いていました。私はMySQLのSHA2(pwd、224)、SHA2(pwd、256)、... 384、... 515を試してみましたが、何も働いていませんでした。

tomcat JDBCRealm/digestプロパティに対する私のウェブ検索はあまり有益ではありませんでした。

どうしたのですか?

答えて

2

SHA-2が有効なアルゴリズムではないことを知らせるメッセージをTomcatログで探します。そのようなメッセージがない場合は、Tomcatのバグを報告してください。あなたが対応を使用する必要があります明らかに

  • SHA-256
  • SHA-384
  • SHA-512

、:あなたは、次のいずれかを使用する必要が

MySQLのダイジェスト

+0

ありがとうございました。私はtomcatログのエラーを確認していませんが、何かが見逃された場合に備えて再度チェックします。 server.xmlでdigest = "SHA2"の代わりにdigest = "SHA-256"を設定していますか? JDBCレルムのパラメータはどこに文書化されていますか?標準のhtmlドキュメントは単にMD5の値を表示しますが、他のダイジェストは表示しません。私はそれをgoogledしかし、空手で出てきた。 – adaj21

+0

SHA-512または上記で引用した値のいずれかを使用する必要があります。サポートされているMessageDigestの標準名は、Javaのマニュアルに記載されています。 http://docs.oracle.com/javase/6/docs/technotes/guides/security/StandardNames.html#MessageDigest –

+0

ありがとうございました!私は間違った場所で探していることを知っていた(Tomcatのドキュメント) – adaj21

関連する問題