2010-12-06 10 views
1

私はRestletを使用して作成しているAPIの一部を保護するためにDigestAuthenticatorを使用しようとしています。すべての例では、DigestAuthenticatorはローカル秘密をプレーンテキストで返すLocalVerifierをラップすることを想定しています。明らかに、私はすべてのユーザーのパスワードをプレーンテキストで保存したくありません。ローカルのシークレットをプレーンテキストで提供しないで、RestletでHTTPダイジェストを使用するにはどうすればよいですか?Restlet DigestAuthenticatorがローカルシークレットをハッシュしました

私はdbを照会してsha1のパスワードを取得するためにidentiferを使用するLocalVerifierを書きましたが、Verifierがプレーンテキストでパスワードを返さないと機能しません。

アイデア?

答えて

0

基本的に、私はデータベース内のサーバー側のすべてのパスワードをハッシュし、クライアント側でパスワードをハッシュしてからhttpダイジェストでハッシュしました。とにかく私にとってより安全な解決策のようだ。

+0

Q&AはThxです。これを読んだ後、DigestAuthenticationをデバッグして、秘密をエンコードするためのメソッドをオーバーライドして、ユーザーデータベースのエンコードされたハッシュと一致させることができる場所を探しました。しかし、ダイジェスト認証の全体のポイントは、秘密が平野に伝わらないということです!実際に使用したハッシュを使ったプリエンコードのソリューションが唯一のものです。私のクライアントは配布されており、おそらくは逆コンパイルが可能なので、私は自分のハッシュを渡したいとは思っていません。だからダイジェストは私のための解決策ではありません。 – Yashima

+0

こんにちはFinbarr、これは私にとっても問題です。残念ながら、restletはクライアントとサーバーの両方です。そのため、確認の前にパスワードをハッシュするのは難しいです。私はコードを見て、DigestVerifierはMD5で秘密をハッシュするロジックを持っているようです。ただし、これにはアルゴリズムとwrappedAlgorithmを設定する必要があります。 wrappedAlgorithmは簡単ですが、アルゴリズムの設定が容易ではありません。 DigestAuthenticatorを拡張してアルゴリズムを設定しましたが、動作しません。あなたのトリックは単純に別のクライアントを使うか、またはrestletを使って作業しましたか?ありがとう – Rhand

関連する問題