Ошибка при выполнении аутентификации SSL с использованием Unirest
Я следую за случаем, когда мне нужно передать некоторые сертификаты для проверки подлинности SSL перед выполнением любого запроса. Я попытался использовать запрос-обещание родной и получил правильный ответ. Вот как я создал запрос, используя 'request-обещание-нативный':
const request = require('request-promise-native');
const options = {
uri: baseUri + endPoint,
port: 443,
method: 'POST',
headers: {
'Content-type': 'application/json',
},
cert: fs.readFileSync('cert.pem'),
key: fs.readFileSync('key.pem'),
ca: fs.readFileSync('ca.pem'),
};
const req = await request.post(options);
console.log(req); // Correct response
Я попытался выполнить тот же запрос, используя 'Unirest', но я получаю следующую ошибку: {"error":{"code":"EPROTO","errno":"EPROTO","syscall":"write"}}
Уникальный код запроса:
const request = require('unirest');
const req = await request
.post(baseUri + ':' + port + endPoint)
.header({'Content-Type': 'application/json'})
.attach({cert: fs.readFileSync('cert.pem')})
.attach({key: fs.readFileSync('key.pem')})
.attach({ca: fs.readFileSync('ca.pem')})
.end();
console.log(req); // {"error":{"code":"EPROTO","errno":"EPROTO","syscall":"write"}}
Также я попытался передать сертификаты, используя метод part & field, предоставленный Unirest, но получено то же сообщение об ошибке. Может кто-нибудь, пожалуйста, наставить меня на это? Любая помощь будет оценена. Благодарю.