Index: twisted/web/_auth/wrapper.py
===================================================================
--- twisted/web/_auth/wrapper.py	(revision 34408)
+++ twisted/web/_auth/wrapper.py	(working copy)
@@ -43,7 +43,7 @@
             l = []
             for k,v in challenge.iteritems():
                 l.append("%s=%s" % (k, quoteString(v)))
-            return "%s %s" % (scheme, ", ".join(l))
+            return "%s %s" % (scheme.title(), ", ".join(l))
 
         def quoteString(s):
             return '"%s"' % (s.replace('\\', '\\\\').replace('"', '\\"'),)
Index: twisted/web/test/test_httpauth.py
===================================================================
--- twisted/web/test/test_httpauth.py	(revision 34408)
+++ twisted/web/test/test_httpauth.py	(working copy)
@@ -244,7 +244,7 @@
         self.assertEqual(request.responseCode, 401)
         self.assertEqual(
             request.responseHeaders.getRawHeaders('www-authenticate'),
-            ['basic realm="example.com"'])
+            ['Basic realm="example.com"'])
 
 
     def test_render(self):
@@ -282,7 +282,7 @@
         request.render(resource)
         self.assertEqual(
             request.responseHeaders.getRawHeaders('www-authenticate'),
-            ['basic realm="example\\\\\\"foo"'])
+            ['Basic realm="example\\\\\\"foo"'])
 
 
 
