1+ #!/usr/bin/env python2.7
12import base64
23import os
3- import urllib
4+ import urllib2
45import time
56import re
67import random
78import json
8- import requests
99import socket
1010import tempfile
1111import shutil
@@ -38,20 +38,20 @@ def random_domain():
3838 return "rand.%x.xyz" % random .randrange (2 ** 32 )
3939
4040def run (cmd , ** kwargs ):
41- return subprocess .check_output (cmd , shell = True , stderr = subprocess .STDOUT , ** kwargs ). decode ()
41+ return subprocess .check_output (cmd , shell = True , stderr = subprocess .STDOUT , ** kwargs )
4242
4343def fetch_ocsp (request_bytes , url ):
4444 """Fetch an OCSP response using POST, GET, and GET with URL encoding.
4545
4646 Returns a tuple of the responses.
4747 """
48- ocsp_req_b64 = base64 .b64encode (request_bytes ). decode ()
48+ ocsp_req_b64 = base64 .b64encode (request_bytes )
4949
5050 # Make the OCSP request three different ways: by POST, by GET, and by GET with
5151 # URL-encoded parameters. All three should have an identical response.
52- get_response = requests . get ("%s/%s" % (url , ocsp_req_b64 )).content
53- get_encoded_response = requests . get ("%s/%s" % (url , urllib . parse . quote (ocsp_req_b64 , safe = "" ))).content
54- post_response = requests . post ("%s/" % (url ), data = request_bytes ).content
52+ get_response = urllib2 . urlopen ("%s/%s" % (url , ocsp_req_b64 )).read ()
53+ get_encoded_response = urllib2 . urlopen ("%s/%s" % (url , urllib2 . quote (ocsp_req_b64 , safe = "" ))).read ()
54+ post_response = urllib2 . urlopen ("%s/" % (url ), request_bytes ).read ()
5555
5656 return (post_response , get_response , get_encoded_response )
5757
@@ -61,13 +61,13 @@ def make_ocsp_req(cert_file, issuer_file):
6161 # First generate the OCSP request in DER form
6262 run ("openssl ocsp -no_nonce -issuer %s -cert %s -reqout %s" % (
6363 issuer_file , cert_file , ocsp_req_file ))
64- with open (ocsp_req_file , mode = 'rb' ) as f :
64+ with open (ocsp_req_file ) as f :
6565 ocsp_req = f .read ()
6666 return ocsp_req
6767
6868def ocsp_verify (cert_file , issuer_file , ocsp_response ):
6969 ocsp_resp_file = os .path .join (tempdir , "ocsp.resp" )
70- with open (ocsp_resp_file , "wb " ) as f :
70+ with open (ocsp_resp_file , "w " ) as f :
7171 f .write (ocsp_response )
7272 output = run ("openssl ocsp -no_nonce -issuer %s -cert %s \
7373 -verify_other %s -CAfile test/test-root.pem \
@@ -76,8 +76,8 @@ def ocsp_verify(cert_file, issuer_file, ocsp_response):
7676 # also look for the string "Response Verify Failure"
7777 verify_failure = "Response Verify Failure"
7878 if re .search (verify_failure , output ):
79- print ( output )
80- raise ( Exception ("OCSP verify failure" ) )
79+ print output
80+ raise Exception ("OCSP verify failure" )
8181 return output
8282
8383def verify_ocsp (cert_file , issuer_file , url , status ):
@@ -87,28 +87,28 @@ def verify_ocsp(cert_file, issuer_file, url, status):
8787 # Verify all responses are the same
8888 for resp in responses :
8989 if resp != responses [0 ]:
90- raise ( Exception ("OCSP responses differed: %s vs %s" % (
91- base64 .b64encode (responses [0 ]), base64 .b64encode (resp ))))
90+ raise Exception ("OCSP responses differed: %s vs %s" % (
91+ base64 .b64encode (responses [0 ]), base64 .b64encode (resp )))
9292
9393 # Check response is for the correct certificate and is correct
9494 # status
9595 resp = responses [0 ]
9696 verify_output = ocsp_verify (cert_file , issuer_file , resp )
9797 if not re .search ("%s: %s" % (cert_file , status ), verify_output ):
98- print ( verify_output )
99- raise ( Exception ("OCSP response wasn't '%s'" % status ) )
98+ print verify_output
99+ raise Exception ("OCSP response wasn't '%s'" % status )
100100
101101def reset_akamai_purges ():
102- requests . post ("http://localhost:6789/debug/reset-purges" , data = "{}" )
102+ urllib2 . urlopen ("http://localhost:6789/debug/reset-purges" , "{}" )
103103
104104def verify_akamai_purge ():
105105 deadline = time .time () + 0.25
106106 while True :
107107 time .sleep (0.05 )
108108 if time .time () > deadline :
109- raise ( Exception ("Timed out waiting for Akamai purge" ) )
110- response = requests . get ("http://localhost:6789/debug/get-purges" )
111- purgeData = response . json ( )
109+ raise Exception ("Timed out waiting for Akamai purge" )
110+ response = urllib2 . urlopen ("http://localhost:6789/debug/get-purges" )
111+ purgeData = json . load ( response )
112112 if len (purgeData ["V3" ]) is not 1 :
113113 continue
114114 break
@@ -142,7 +142,7 @@ def waitport(port, prog, perTickCheck=None):
142142 return True
143143 except socket .error as e :
144144 if e .errno == errno .ECONNREFUSED :
145- print ( "Waiting for debug port %d (%s)" % (port , prog ) )
145+ print "Waiting for debug port %d (%s)" % (port , prog )
146146 else :
147147 raise
148- raise ( Exception ("timed out waiting for debug port %d (%s)" % (port , prog ) ))
148+ raise Exception ("timed out waiting for debug port %d (%s)" % (port , prog ))
0 commit comments