Пример rfc-7616 (дайджест HTTP) не соответствует - PullRequest
0 голосов
/ 02 июля 2018

Я изо всех сил пытаюсь реализовать HTTP Digest.

Заголовок WWW-Authenticate был размечен, как я и ожидал, при создании заголовка авторизации меня мучили. Я думаю, что все в порядке, и нет причин, по которым это будет ошибкой.

Меня пытались изменить хэш-логику с помощью поиска в Интернете, а также изменить форму URI как полный URI, только путь или даже включить схему, но результат не сильно отличается.

Не могли бы вы дать мне знать, что случилось? Спасти жалкого новичка ...

rfc говорит, что правильный ответ "8ca523f5e9506fed4657c9700eebdbec" (https://tools.ietf.org/html/rfc7616#page-18) но моя программа настаивает, что это будет "73999844ea00a1a065a5c4f0e0edc5f3]"

исходный код: https://github.com/dearblanc/HTTPDigestAndroid/tree/master/app/src/main/java/com/android/kj/httpdigestandroid

Пример RFC ...

3,9. Примеры

3.9.1. Пример с SHA-256 и MD5

В следующем примере предполагается, что документ с защитой доступа запрашивается с сервера через запрос GET. URI документ "http://www.example.org/dir/index.html". и клиент, и сервер знает, что имя пользователя для этого документа "Mufasa" и пароль «Круг жизни» (с одним пробелом между каждым из три слова).

...

   HTTP/1.1 401 Unauthorized
   ...
   WWW-Authenticate: Digest
   realm="http-auth@example.org",
   qop="auth, auth-int",
   algorithm=MD5,
   nonce="7ypf/xlj9XXwfDPEoM4URrv/xwf94BcCAzFZH4GiTo0v",
   opaque="FQhe/qaU925kfnzjCev0ciny7QMkPqMAFRtzCUYo5tdS"

...

   Authorization: Digest username="Mufasa",
   realm="http-auth@example.org",
   uri="/dir/index.html",
   algorithm=MD5,
   nonce="7ypf/xlj9XXwfDPEoM4URrv/xwf94BcCAzFZH4GiTo0v",
   nc=00000001,
   cnonce="f2/wE4q74E6zIJEtWaHKaf5wv/H5QzzpXusqGemxURZJ",
   qop=auth,
   response="8ca523f5e9506fed4657c9700eebdbec",
   opaque="FQhe/qaU925kfnzjCev0ciny7QMkPqMAFRtzCUYo5tdS"
...