Я пытаюсь сделать запрос с помощью файла p12 или pfx, но не могу заставить его работать. Если я использую PEM и KEY, код работает нормально. Но Azure Keyvault не поддерживает PEM и KEY. Есть ли альтернатива, которая работает с сертификатами KEY/PEM?
Вот как я сгенерировал файл p12/pfx, если в этом проблема.
openssl pkcs12 -export -out Certificate.pfx -inkey 1231181189.key -in 1231181189.pem -certfile CA.pem
Вот пример кода, если я закомментирую сертификат и ключ, система не работает,
Ошибка: прочитайте ECONNRESET
Но если я закомментирую pfx и passphrase и использую pem и key, соединение работает.
var request = require('request');
var fs = require('fs');
var path = require('path');
var certFile = __dirname + '/certs/1231181189.pem';
var keyFile = __dirname + '/certs/1231181189.key';
var options = {
method: 'POST',
url: 'https://mss.cpc.getswish.net/swish-cpcapi/api/v1/paymentrequests',
headers: { 'Content-Type': 'application/json' },
agentOptions: {
cert: fs.readFileSync(certFile),
key: fs.readFileSync(keyFile),
pfx: fs.readFileSync(__dirname + '/certs/certificate.pfx'),
passphrase: 'swish'
},
body: {
payeePaymentReference: '0123456789',
callbackUrl: 'https://example.com/api/swishcb/paymentrequests',
payerAlias: '4671234768',
payeeAlias: '1231181189',
amount: '100',
currency: 'SEK',
message: 'Kingston USB Flash Drive 8 GB'
},
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(response.headers);
console.log(body);
});