【问题标题】:Epson TM-T88V-i digest authentication not workingEpson TM-T88V-i 摘要身份验证不起作用
【发布时间】:2016-07-23 02:07:08
【问题描述】:

我的 Epson TM-T88V-i 收据打印机尝试从需要打印机通过 HTTP 摘要进行身份验证的服务器 URL 获取 XML 数据。 (这个爱普生功能叫做“Server Direct Print”)

我可以从打印机的 Web 控制台向服务器发送测试请求,但 HTTP 摘要身份验证失败。如果我让打印机尝试在服务器上进行身份验证,也会发生同样的情况。

如果我尝试通过浏览器访问 URL,则会出现 HTTP 摘要用户名+密码框,如果我输入凭据,则 XML 会按预期显示在浏览器中。这表明,服务器端的 HTTP 摘要机制设置正确(我使用的是 PHP 框架 Symfony 2.8)。

在服务器端,我看到以下日志信息:

第 1 步
[2016-04-03 16:33:01] security.INFO:一个 AuthenticationException 是 抛出;重定向到身份验证入口点。 {“异常”:“[对象] (Symfony\Component\Security\Core\Exception\AuthenticationCredentialsNotFoundException(代码: 0):在 TokenStorage 中没有找到 Token。在 /home/.../src/Symfony/Component/Security/Http/Firewall/AccessListener.php:53)"}


第 2 步
[2016-04-03 16:33:01] security.DEBUG:调用身份验证条目 观点。


第 3 步
[2016-04-03 16:33:01] security.DEBUG:摘要授权标头 从用户代理收到。 {"标题":"用户名=\"打印机\", 领域=\“示例\”, nonce=\"MTQ1OTk5Mzk4MS40NjQ3OmI0OTVmN2ZkZTlhYmE1NmNjNDIxNmIxMWU0OGVmYjUz\", uri=\"/export\", cnonce=\"MDAxNjM0\", nc=00000001, qop=\"auth\", 响应=\"c6ad88607624efd17f7de602f6ee9def\""}
第 4 步
[2016-04-03 16:33:01] security.DEBUG:来自 DigestAuth 收到;标头是否返回明文密码? {"预期":"741bff6abed513b6948c26eae529b6b6","re​​ceived":"c6ad88607624efd17f7de602f6ee9def"}


第 5 步
[2016-04-03 16:33:01] security.INFO:摘要式身份验证失败。 {“异常”:“[对象] (Symfony\Component\Security\Core\Exception\BadCredentialsException(代码: 0): 不正确的响应 /home/.../src/Symfony/Component/Security/Http/Firewall/DigestAuthenticationListener.php:107)"}

日志文件告诉我们服务器端发生了什么:

  1. 在步骤 1+2 中,Epson 尝试访问受 HTTP 摘要保护的服务器 URL,并且服务器发送带有 nonce 的 401“未授权”响应(我们在此日志文件中看不到这一点)

  2. 在步骤 3 中,Epson 发送 HTTP 摘要客户端授权请求,其中包括所有必要的数据。 response 参数包含一个散列,应该由其他授权参数生成

  3. 在第 4 步中,我的 symfony 2.8 应用程序说,Epson 在第 3 步中发送的散列响应参数不是 HTTP 摘要过程所期望的参数。

  4. 第 5 步最终显示,HTTP 摘要身份验证失败。

据我了解,摘要式身份验证过程(如 wikipedia 所述)是正确的,只是 Epson 没有在其身份验证请求中计算正确的哈希值。

有谁知道为什么 Epson 会发送错误的 response 参数,或者是否有人让这个场景起作用?

【问题讨论】:

    标签: symfony authentication digest digest-authentication epson


    【解决方案1】:

    经过 2 天的调试,我可以解决问题。我的摘要身份验证密码的长度是 40 个字符。我将它减少了大约 20 个字符。不行,呵呵。

    【讨论】:

      猜你喜欢
      • 2018-10-11
      • 2018-12-25
      • 2012-05-16
      • 2016-09-04
      • 1970-01-01
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多