#2695: Do case-insensitive check for algorithms.
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index 817c5a7..546cea6 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -976,6 +976,8 @@
         return base
 
     def get_algorithm_impls(self, algorithm):
+        # algorithm should be case-insensitive according to RFC2617
+        algorithm = algorithm.upper()
         # lambdas assume digest modules are imported at the top level
         if algorithm == 'MD5':
             H = lambda x: hashlib.md5(x).hexdigest()