mirror of
				https://github.com/NginxProxyManager/nginx-proxy-manager.git
				synced 2025-10-31 15:53:33 +00:00 
			
		
		
		
	Removes explicit privkeytype check and adds passphrase error
This commit is contained in:
		| @@ -615,18 +615,26 @@ const internalCertificate = { | ||||
| 	checkPrivateKey: (private_key) => { | ||||
| 		return tempWrite(private_key, '/tmp') | ||||
| 			.then((filepath) => { | ||||
| 				let key_type = private_key.includes('-----BEGIN RSA') ? 'rsa' : 'ec'; | ||||
| 				return utils.exec('openssl ' + key_type + ' -in ' + filepath + ' -check -noout 2>&1 ') | ||||
| 					.then((result) => { | ||||
| 						if (!result.toLowerCase().includes('key ok') && !result.toLowerCase().includes('key valid') ) { | ||||
| 							throw new error.ValidationError('Result Validation Error: ' + result); | ||||
| 						} | ||||
| 						fs.unlinkSync(filepath); | ||||
| 						return true; | ||||
| 					}).catch((err) => { | ||||
| 						fs.unlinkSync(filepath); | ||||
| 						throw new error.ValidationError('Certificate Key is not valid (' + err.message + ')', err); | ||||
| 					}); | ||||
| 				return new Promise((resolve, reject) => { | ||||
| 					const failTimeout = setTimeout(() => { | ||||
| 						reject(new error.ValidationError('Result Validation Error: Validation timed out. This could be due to the key being passphrase-protected.')); | ||||
| 					}, 10000); | ||||
| 					utils | ||||
| 						.exec('openssl pkey -in ' + filepath + ' -check -noout 2>&1 ') | ||||
| 						.then((result) => { | ||||
| 							clearTimeout(failTimeout); | ||||
| 							if (!result.toLowerCase().includes('key is valid')) { | ||||
| 								reject(new error.ValidationError('Result Validation Error: ' + result)); | ||||
| 							} | ||||
| 							fs.unlinkSync(filepath); | ||||
| 							resolve(true); | ||||
| 						}) | ||||
| 						.catch((err) => { | ||||
| 							clearTimeout(failTimeout); | ||||
| 							fs.unlinkSync(filepath); | ||||
| 							reject(new error.ValidationError('Certificate Key is not valid (' + err.message + ')', err)); | ||||
| 						}); | ||||
| 				}); | ||||
| 			}); | ||||
| 	}, | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user