1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP POST 6 HTTP Digest auth 7 </keywords> 8 </info> 9 10 # Server-side 11 <reply> 12 <data> 13 HTTP/1.1 401 authentication please swsbounce 14 Server: Microsoft-IIS/6.0 15 WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256" 16 Content-Type: text/html; charset=iso-8859-1 17 Content-Length: 0 18 19 </data> 20 <data1000> 21 HTTP/1.1 200 A OK 22 Server: Microsoft-IIS/6.0 23 Content-Type: text/html; charset=iso-8859-1 24 Content-Length: 3 25 26 ok 27 </data1000> 28 29 <datacheck> 30 HTTP/1.1 401 authentication please swsbounce 31 Server: Microsoft-IIS/6.0 32 WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-512-256" 33 Content-Type: text/html; charset=iso-8859-1 34 Content-Length: 0 35 36 HTTP/1.1 200 A OK 37 Server: Microsoft-IIS/6.0 38 Content-Type: text/html; charset=iso-8859-1 39 Content-Length: 3 40 41 ok 42 </datacheck> 43 44 </reply> 45 46 # Client-side 47 <client> 48 # 49 <server> 50 http 51 </server> 52 <features> 53 !SSPI 54 crypto 55 sha512-256 56 </features> 57 <name> 58 HTTP POST --digest with SHA-512-256, userhash=false and user-specified Content-Length header 59 </name> 60 # This test is to ensure 'Content-Length: 0' is sent while negotiating auth 61 # even when there is a user-specified Content-Length header. 62 # https://github.com/curl/curl/pull/1242 63 <command> 64 -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://%HOSTIP:%HTTPPORT/%TESTNUMBER 65 </command> 66 </client> 67 68 # Verify data after the test has been "shot" 69 <verify> 70 <protocol nonewline="yes"> 71 POST /%TESTNUMBER HTTP/1.1 72 Host: %HOSTIP:%HTTPPORT 73 User-Agent: curl/%VERSION 74 Accept: */* 75 Content-Length: 0 76 Content-Type: application/x-www-form-urlencoded 77 78 POST /%TESTNUMBER HTTP/1.1 79 Host: %HOSTIP:%HTTPPORT 80 Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/%TESTNUMBER", response="0ba2f7ec8045446588eea82bb0c3812aedb05f4eac8883ea65040a52e9c5629e", algorithm=SHA-512-256 81 User-Agent: curl/%VERSION 82 Accept: */* 83 Content-Length: 11 84 Content-Type: application/x-www-form-urlencoded 85 86 junkelijunk 87 </protocol> 88 </verify> 89 </testcase> 90