Как добавить ssl-сертификат в приложение nodejs, чтобы получить авторизованный доступ к банковскому API
Я пытаюсь использовать API-интерфейс, защищенный SSL, который использует двухстороннюю аутентификацию SSL. Уже создали самозаверяющий сертификат с помощью команды keytool -genkey и создали 3 файла ключей (selfsigned.crt, selfsigned.p12, selfsigned.jks), которые доступны поставщику API. и один сертификат UATSKY.crt, предоставленный провайдером API, добавлен в мое хранилище доверия на Mac. теперь, когда я пытаюсь получить доступ к этому API из почтового менеджера, он выдает всплывающее окно, чтобы выбрать сертификат, после чего он успешно вызывает API и получает положительный ответ. Как мне добиться того же в приложении Node JS.
Я попытался использовать https.createserver и передать ключ и сертификат ptivate к craeteserver
var app = express();
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(bodyParser.json());
app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
app.use(cors());
var privateKey =
fs.readFileSync('./private/selfsignedpayeazzy.p12');
var certificate = fs.readFileSync('./private/selfsignedpayeazzy.crt');
var credentials = {
key: privateKey,
cert: certificate
};
https.createServer(credentials, app).listen(port);
Это дает мне следующую ошибку
_tls_common.js:112
c.context.setCert(cert);
^
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Object.createSecureContext (_tls_common.js:112:17)
at Server.setSecureContext (_tls_wrap.js:960:27)
at Server (_tls_wrap.js:850:8)
at new Server (https.js:61:14)
at Object.createServer (https.js:83:10)
not able to add this certificates to the application.