1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP GET 6 HTTP Digest auth 7 </keywords> 8 </info> 9 # Server-side 10 <reply> 11 <data> 12 HTTP/1.1 401 Authorization Required swsclose 13 Server: Apache/1.3.27 (Darwin) PHP/4.1.2 14 WWW-Authenticate: Digest realm="testrealm", nonce="1053604145" 15 Content-Type: text/html; charset=iso-8859-1 16 Content-Length: 26 17 18 This is not the real page 19 </data> 20 21 # This is supposed to be returned when the server gets a 22 # Authorization: Digest line passed-in from the client 23 <data1000> 24 HTTP/1.1 200 OK swsclose 25 Server: Apache/1.3.27 (Darwin) PHP/4.1.2 26 Content-Type: text/html; charset=iso-8859-1 27 Content-Length: 23 28 29 This IS the real page! 30 </data1000> 31 32 <datacheck> 33 HTTP/1.1 401 Authorization Required swsclose 34 Server: Apache/1.3.27 (Darwin) PHP/4.1.2 35 WWW-Authenticate: Digest realm="testrealm", nonce="1053604145" 36 Content-Type: text/html; charset=iso-8859-1 37 Content-Length: 26 38 39 HTTP/1.1 200 OK swsclose 40 Server: Apache/1.3.27 (Darwin) PHP/4.1.2 41 Content-Type: text/html; charset=iso-8859-1 42 Content-Length: 23 43 44 This IS the real page! 45 </datacheck> 46 47 </reply> 48 49 # Client-side 50 <client> 51 <server> 52 http 53 </server> 54 <features> 55 !SSPI 56 crypto 57 </features> 58 <name> 59 HTTP with Digest authorization with user name needing escape 60 </name> 61 <command> 62 http://%5cuser%22:password@%HOSTIP:%HTTPPORT/1229 --digest 63 </command> 64 </client> 65 66 # Verify data after the test has been "shot" 67 <verify> 68 <strip> 69 ^User-Agent:.* 70 </strip> 71 <protocol> 72 GET /1229 HTTP/1.1 73 Host: %HOSTIP:%HTTPPORT 74 Accept: */* 75 76 GET /1229 HTTP/1.1 77 Host: %HOSTIP:%HTTPPORT 78 Authorization: Digest username="\\user\"", realm="testrealm", nonce="1053604145", uri="/1229", response="f2694d426040712584c156d3de72b8d6" 79 Accept: */* 80 81 </protocol> 82 </verify> 83 </testcase> 84