mirror of
				https://github.com/therootcompany/acme.js.git
				synced 2024-11-16 17:29:00 +00:00 
			
		
		
		
	v1.5.1: more detailed error messages
This commit is contained in:
		
							parent
							
								
									83137766bc
								
							
						
					
					
						commit
						b41c2e8db9
					
				
							
								
								
									
										44
									
								
								node.js
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								node.js
									
									
									
									
									
								
							| @ -35,7 +35,7 @@ ACME.challengeTests = { | |||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       err = new Error( |       err = new Error( | ||||||
|         "Error: Failed HTTP-01 Dry Run.\n" |         "Error: Failed HTTP-01 Pre-Flight / Dry Run.\n" | ||||||
|       + "curl '" + url + "'\n" |       + "curl '" + url + "'\n" | ||||||
|       + "Expected: '" + auth.keyAuthorization + "'\n" |       + "Expected: '" + auth.keyAuthorization + "'\n" | ||||||
|       + "Got: '" + resp.body + "'\n" |       + "Got: '" + resp.body + "'\n" | ||||||
| @ -60,7 +60,7 @@ ACME.challengeTests = { | |||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       err = new Error( |       err = new Error( | ||||||
|         "Error: Failed DNS-01 Dry Run.\n" |         "Error: Failed DNS-01 Pre-Flight Dry Run.\n" | ||||||
|       + "dig TXT '" + hostname + "' does not return '" + auth.dnsAuthorization + "'\n" |       + "dig TXT '" + hostname + "' does not return '" + auth.dnsAuthorization + "'\n" | ||||||
|       + "See https://git.coolaj86.com/coolaj86/acme-v2.js/issues/4" |       + "See https://git.coolaj86.com/coolaj86/acme-v2.js/issues/4" | ||||||
|       ); |       ); | ||||||
| @ -359,7 +359,9 @@ ACME._postChallenge = function (me, options, identifier, ch) { | |||||||
| 
 | 
 | ||||||
|   function pollStatus() { |   function pollStatus() { | ||||||
|     if (count >= MAX_POLL) { |     if (count >= MAX_POLL) { | ||||||
|       return Promise.reject(new Error("[acme-v2] stuck in bad pending/processing state")); |       return Promise.reject(new Error( | ||||||
|  |         "[acme-v2] stuck in bad pending/processing state for '" + identifier.value + "'" | ||||||
|  |       )); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     count += 1; |     count += 1; | ||||||
| @ -395,17 +397,18 @@ ACME._postChallenge = function (me, options, identifier, ch) { | |||||||
|         return resp.body; |         return resp.body; | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|  |       var errmsg; | ||||||
|       if (!resp.body.status) { |       if (!resp.body.status) { | ||||||
|         console.error("[acme-v2] (E_STATE_EMPTY) empty challenge state:"); |         errmsg = "[acme-v2] (E_STATE_EMPTY) empty challenge state for '" + identifier.value + "':"; | ||||||
|       } |       } | ||||||
|       else if ('invalid' === resp.body.status) { |       else if ('invalid' === resp.body.status) { | ||||||
|         console.error("[acme-v2] (E_STATE_INVALID) challenge state: '" + resp.body.status + "'"); |         errmsg = "[acme-v2] (E_STATE_INVALID) challenge state for '" + identifier.value + "': '" + resp.body.status + "'"; | ||||||
|       } |       } | ||||||
|       else { |       else { | ||||||
|         console.error("[acme-v2] (E_STATE_UKN) challenge state: '" + resp.body.status + "'"); |         errmsg = "[acme-v2] (E_STATE_UKN) challenge state for '" + identifier.value + "': '" + resp.body.status + "'"; | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       return Promise.reject(new Error("[acme-v2] [error] unacceptable challenge state '" + resp.body.status + "'")); |       return Promise.reject(new Error(errmsg)); | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| @ -511,7 +514,9 @@ ACME._finalizeOrder = function (me, options, validatedDomains) { | |||||||
|       if ('pending' === resp.body.status) { |       if ('pending' === resp.body.status) { | ||||||
|         return Promise.reject(new Error( |         return Promise.reject(new Error( | ||||||
|           "Did not finalize order: status 'pending'." |           "Did not finalize order: status 'pending'." | ||||||
|         + " Best guess: You have not accepted at least one challenge for each domain." + "\n\n" |         + " Best guess: You have not accepted at least one challenge for each domain:\n" | ||||||
|  |         + "Requested: '" + options.domains.join(', ') + "'\n" | ||||||
|  |         + "Validated: '" + validatedDomains.join(', ') + "'\n" | ||||||
|         + JSON.stringify(resp.body, null, 2) |         + JSON.stringify(resp.body, null, 2) | ||||||
|         )); |         )); | ||||||
|       } |       } | ||||||
| @ -520,7 +525,9 @@ ACME._finalizeOrder = function (me, options, validatedDomains) { | |||||||
|         return Promise.reject(new Error( |         return Promise.reject(new Error( | ||||||
|           "Did not finalize order: status 'invalid'." |           "Did not finalize order: status 'invalid'." | ||||||
|         + " Best guess: One or more of the domain challenges could not be verified" |         + " Best guess: One or more of the domain challenges could not be verified" | ||||||
|         + " (or the order was canceled)." + "\n\n" |         + " (or the order was canceled).\n" | ||||||
|  |         + "Requested: '" + options.domains.join(', ') + "'\n" | ||||||
|  |         + "Validated: '" + validatedDomains.join(', ') + "'\n" | ||||||
|         + JSON.stringify(resp.body, null, 2) |         + JSON.stringify(resp.body, null, 2) | ||||||
|         )); |         )); | ||||||
|       } |       } | ||||||
| @ -529,7 +536,9 @@ ACME._finalizeOrder = function (me, options, validatedDomains) { | |||||||
|         return Promise.reject(new Error( |         return Promise.reject(new Error( | ||||||
|           "Did not finalize order: status 'ready'." |           "Did not finalize order: status 'ready'." | ||||||
|         + " Hmmm... this state shouldn't be possible here. That was the last state." |         + " Hmmm... this state shouldn't be possible here. That was the last state." | ||||||
|         + " This one should at least be 'processing'." + "\n\n" |         + " This one should at least be 'processing'.\n" | ||||||
|  |         + "Requested: '" + options.domains.join(', ') + "'\n" | ||||||
|  |         + "Validated: '" + validatedDomains.join(', ') + "'\n" | ||||||
|         + JSON.stringify(resp.body, null, 2) + "\n\n" |         + JSON.stringify(resp.body, null, 2) + "\n\n" | ||||||
|         + "Please open an issue at https://git.coolaj86.com/coolaj86/acme-v2.js" |         + "Please open an issue at https://git.coolaj86.com/coolaj86/acme-v2.js" | ||||||
|         )); |         )); | ||||||
| @ -537,7 +546,9 @@ ACME._finalizeOrder = function (me, options, validatedDomains) { | |||||||
| 
 | 
 | ||||||
|       return Promise.reject(new Error( |       return Promise.reject(new Error( | ||||||
|         "Didn't finalize order: Unhandled status '" + resp.body.status + "'." |         "Didn't finalize order: Unhandled status '" + resp.body.status + "'." | ||||||
|       + " This is not one of the known statuses...\n\n" |       + " This is not one of the known statuses...\n" | ||||||
|  |       + "Requested: '" + options.domains.join(', ') + "'\n" | ||||||
|  |       + "Validated: '" + validatedDomains.join(', ') + "'\n" | ||||||
|       + JSON.stringify(resp.body, null, 2) + "\n\n" |       + JSON.stringify(resp.body, null, 2) + "\n\n" | ||||||
|       + "Please open an issue at https://git.coolaj86.com/coolaj86/acme-v2.js" |       + "Please open an issue at https://git.coolaj86.com/coolaj86/acme-v2.js" | ||||||
|       )); |       )); | ||||||
| @ -605,9 +616,10 @@ ACME._getCertificate = function (me, options) { | |||||||
|         //if (me.debug) console.debug('[DEBUG] finalize:', me._finalize); return;
 |         //if (me.debug) console.debug('[DEBUG] finalize:', me._finalize); return;
 | ||||||
| 
 | 
 | ||||||
|         if (!me._authorizations) { |         if (!me._authorizations) { | ||||||
|           console.error("[acme-v2.js] authorizations were not fetched:"); |           return Promise.reject(new Error( | ||||||
|           console.error(resp.body); |             "[acme-v2.js] authorizations were not fetched for '" + options.domains.join() + "':\n" | ||||||
|           return Promise.reject(new Error("authorizations were not fetched")); |             + JSON.stringify(resp.body) | ||||||
|  |           )); | ||||||
|         } |         } | ||||||
|         if (me.debug) { console.debug("[acme-v2] POST newOrder has authorizations"); } |         if (me.debug) { console.debug("[acme-v2] POST newOrder has authorizations"); } | ||||||
| 
 | 
 | ||||||
| @ -633,7 +645,9 @@ ACME._getCertificate = function (me, options) { | |||||||
|             })[0]; |             })[0]; | ||||||
| 
 | 
 | ||||||
|             if (!challenge) { |             if (!challenge) { | ||||||
|               return Promise.reject(new Error("Server didn't offer any challenge we can handle.")); |               return Promise.reject(new Error( | ||||||
|  |                 "Server didn't offer any challenge we can handle for '" + options.domains.join() + "'." | ||||||
|  |               )); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             return ACME._postChallenge(me, options, results.identifier, challenge); |             return ACME._postChallenge(me, options, results.identifier, challenge); | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "acme-v2", |   "name": "acme-v2", | ||||||
|   "version": "1.5.0", |   "version": "1.5.1", | ||||||
|   "description": "Free SSL. A framework for building Let's Encrypt v2 clients, and other ACME v2 (draft 11) clients. Successor to le-acme-core.js", |   "description": "Free SSL. A framework for building Let's Encrypt v2 clients, and other ACME v2 (draft 11) clients. Successor to le-acme-core.js", | ||||||
|   "homepage": "https://git.coolaj86.com/coolaj86/acme-v2.js", |   "homepage": "https://git.coolaj86.com/coolaj86/acme-v2.js", | ||||||
|   "main": "node.js", |   "main": "node.js", | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user