SOAPUIでREST Webサービス用のWSセキュリティヘッダを作成します。 SoapUI Proでこれをテストしています。これらを生成してREST要求で使用するためのGroovyスクリプトを作成したいと考えています。我々は、RESTリクエストのヘッダパラメータとして渡されるWSセキュリティヘッダを持つREST Webサービスを開発しているプロ
これらのパラメータには、パスワードダイジェスト、エンコードされたnonce、作成されたdateTimeとpasswordダイジェストが含まれます。ノンス、ハッシュパスワード、作成日時のエンコードから作成されます。 SoapUI Proの発信WSセキュリティ設定。
私は(下記)ソープUI Proでグルーヴィーなテストスクリプトを作成しました。ただし、作成した値をヘッダーに渡すと、認証エラーが発生します。
私は、正しいパスワードをハッシュと同じ結果に私のPythonスクリプトを取得することができています。
このためGroovyのコードです。..
MessageDigest cript = MessageDigest.getInstance("SHA-1");
cript.reset();
cript.update(userPass.getBytes("UTF-8"));
hashedpw = new String(cript.digest());
これは正しくテキストハッシュ 'Password2451を!' "t5Sl•Vž3t;
次のステップは、ナンス作成したタイムスタンプとハッシュ化されたpaswordのパスワードダイジェストを作成することです。私は、このために、次のコードを持っている...
MessageDigest cript2 = MessageDigest.getInstance("SHA-1");
cript2.reset();
cript2.update((nonce+created+hashedpw).getBytes("UTF-8"));
PasswordDigest = new String(cript2.digest());
PasswordDigest = PasswordDigest.getBytes("UTF-8").encodeBase64()
これは「69999998992017-03-06T16を:19:28Zí|è〜μ」t5Sl•Vž³t; $」に変換w6YA4oCUw6nDicucw6RqxZMIbcKze + KAmsOvBA4oYu +/VQ ==にします。
しかし正しい値は01hCcFQRjDKMT6daqncqhN2Vd2Y =なければなりません。
次のPythonコードが正しくこの変換を実現し
...hashedpassword = sha.new(password).digest()
digest = sha.new(nonce + CREATIONDATE + hashedpassword).digest()
私はGroovyのコードで間違ったつもりだところ、誰もが私に言うことはできますか?
ありがとうございました。
リクエストはどのようにサーバーに送信されましたか?と応答? – Rao
こんにちは、元のクエリに追加しました。ありがとう。 – chucknor