@ -643,7 +643,7 @@ class ACMEAccount(object):
'''
Sends a JWS signed HTTP POST request to the ACME server and returns
the response as dictionary
https : / / tools . ietf . org / html / draft - ietf - acme - acme - 09 #section-6.2
https : / / tools . ietf . org / html / draft - ietf - acme - acme - 1 0#section-6.2
'''
failed_tries = 0
while True :
@ -687,7 +687,10 @@ class ACMEAccount(object):
data [ " header " ] = self . jws_header
data = self . module . jsonify ( data )
resp , info = fetch_url ( self . module , url , data = data , method = ' POST ' )
headers = {
' Content-Type ' : ' application/jose+json ' ,
}
resp , info = fetch_url ( self . module , url , data = data , headers = headers , method = ' POST ' )
result = { }
try :
content = resp . read ( )
@ -947,13 +950,13 @@ class ACMEClient(object):
continue
uri = challenge [ ' uri ' ] if self . version == 1 else challenge [ ' url ' ]
challenge_response = { }
if self . version == 1 :
token = re . sub ( r " [^A-Za-z0-9_ \ -] " , " _ " , challenge [ ' token ' ] )
keyauthorization = self . account . get_keyauthorization ( token )
challenge_response = {
" resource " : " challenge " ,
" keyAuthorization " : keyauthorization ,
}
challenge_response [ " resource " ] = " challenge "
challenge_response [ " keyAuthorization " ] = keyauthorization
result , info = self . account . send_signed_request ( uri , challenge_response )
if info [ ' status ' ] not in [ 200 , 202 ] :
self . module . fail_json ( msg = " Error validating challenge: CODE: {0} RESULT: {1} " . format ( info [ ' status ' ] , result ) )