mirror of
https://github.com/n8n-io/n8n.git
synced 2026-08-28 17:22:01 +08:00
fix(HTTP Request Node): Keep SSL passphrases with whitespace intact (#37020)
This commit is contained in:
committed by
GitHub
parent
e2afe16634
commit
bcd240f589
@@ -312,8 +312,7 @@ export const setAgentOptions = (
|
||||
if (sslCertificates.ca) agentOptions.ca = formatPemBlock(sslCertificates.ca);
|
||||
if (sslCertificates.cert) agentOptions.cert = formatPemBlock(sslCertificates.cert);
|
||||
if (sslCertificates.key) agentOptions.key = formatPemBlock(sslCertificates.key);
|
||||
if (sslCertificates.passphrase)
|
||||
agentOptions.passphrase = formatPemBlock(sslCertificates.passphrase);
|
||||
if (sslCertificates.passphrase) agentOptions.passphrase = sslCertificates.passphrase;
|
||||
requestOptions.agentOptions = agentOptions;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -131,6 +131,48 @@ describe('HTTP Node Utils', () => {
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('should keep a passphrase containing whitespace unchanged', async () => {
|
||||
const requestOptions: IRequestOptions = {
|
||||
method: 'GET',
|
||||
uri: 'https://example.com',
|
||||
};
|
||||
|
||||
const sslCertificates = {
|
||||
passphrase: 'my secret key',
|
||||
};
|
||||
|
||||
setAgentOptions(requestOptions, sslCertificates);
|
||||
|
||||
expect(requestOptions).toStrictEqual({
|
||||
method: 'GET',
|
||||
uri: 'https://example.com',
|
||||
agentOptions: {
|
||||
passphrase: 'my secret key',
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('should wrap compact PEM certificates but not the passphrase', async () => {
|
||||
const requestOptions: IRequestOptions = {
|
||||
method: 'GET',
|
||||
uri: 'https://example.com',
|
||||
};
|
||||
|
||||
const sslCertificates = {
|
||||
cert: `-----BEGIN CERTIFICATE-----${'A'.repeat(70)}-----END CERTIFICATE-----`,
|
||||
key: `-----BEGIN PRIVATE KEY-----${'B'.repeat(70)}-----END PRIVATE KEY-----`,
|
||||
passphrase: 'my secret key',
|
||||
};
|
||||
|
||||
setAgentOptions(requestOptions, sslCertificates);
|
||||
|
||||
expect(requestOptions.agentOptions).toStrictEqual({
|
||||
cert: `-----BEGIN CERTIFICATE-----\n${'A'.repeat(64)}\n${'A'.repeat(6)}\n-----END CERTIFICATE-----`,
|
||||
key: `-----BEGIN PRIVATE KEY-----\n${'B'.repeat(64)}\n${'B'.repeat(6)}\n-----END PRIVATE KEY-----`,
|
||||
passphrase: 'my secret key',
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('sanitizeUiMessage', () => {
|
||||
|
||||
Reference in New Issue
Block a user