My Epson TM-T88V-i print is trying to retrieve XML data from the URL of a server that must authenticate through an HTTP digest. (This Epson feature is called "Direct Print to Server ")
On the printer’s web console, I can send a test request to the server, but the HTTP file authentication failed. The same thing happens if I allow the printer to authenticate to the server.
If I try to access the URL through the browser, an HTTP password + password digest window will appear, and if I enter the credentials, the XML will be displayed in the browser as expected. This shows that the server-side HTTP digest mechanism is configured correctly (I am using the PHP framework Symfony 2.8).
On the server side, I see the following log information:
Step 1
[2016-04-03 16:33:01] security.INFO: An authentication exception has been thrown; redirect to authentication entry point. {"Exception": "[object] (Symfony \ Component \ Security \ Basic \ Exception \ AuthenticationCredentialsNotFoundException (code: 0): the token was not found in TokenStorage. At / home /.../ src / Symfony / Component / Security / Http /Firewall/AccessListener.php: 53) "}
Step 2
[2016-04-03 16:33:01] security.DEBUG: call authentication point.
Step 3
[2016-04-03 16:33:01] security.DEBUG: header of the digest authorization received from the user agent. {"Title": "Username = \" printer \ ", realm = \" Example \ ", nonce = \" MTQ1OTk5Mzk4MS40NjQ3OmI0OTVmN2ZkZTlhYmE1NmNjNDIxNmIxMWU0OGVmYjUz \ ", uri = \" \ "\" Export \ " 00000001, qop = \ "auth \", answer = \ " c6ad88607624efd17f7de602f6ee9def \" "}
Step 4
[2016-04-03 16:33:01] security.DEBUG: Received an unexpected response from DigestAuth; is this a header returning clear text passwords? {"Expected": " 741bff6abed513b6948c26eae529b6b6 ", "accepted": " c6ad88607624efd17f7de602f6ee9def "}<h / "> Step 5
[2016-04-03 16:33:01] security.INFO: Digest authentication error. {"Exception": "[object] (Symfony \ Component \ Security \ Basic \ Exception \ BadCredentialsException (code: 0): incorrect response to /Home/.../SRC/Symfony/Component/Security/Http/Firewall/DigestAuthenticationListener .php: 107) "}
The log file reports what is happening on the server side:
In step 1 + 2, Epson tries to access the URL of the server that is protected by the HTTP digest, and the server sends a 401 “unauthorized” response using nonce (we do not see this in this log file)
In step 3, Epson sends an HTTP email client authorization request, including all necessary data. The response parameter contains a hash that should be generated from other authorization parameters
In step 4, my symfony 2.8 application says that the hashed response parameter that Epson sent in step 3 is not the one that was expected during the processing of HTTP messages.
Step 5 finally shows that the HTTP authentication error failed.
As far as I understand, the digest authentication process (as described in wikipedia ) is correct, except that Epson doesn't calculate the correct hash in its authentication request.
Does anyone know why Epson is sending the wrong answer or is someone doing this work scenario?
source share