Прикрепите ssl-сертификат к запросу Axios для двухсторонней реализации ssl - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь реализовать двухстороннее ssl-соединение, и меня смущает различная информация, которую я нашел в сети. Моя проблема в том, что я должен отправлять сертификат с внешнего интерфейса, каждый раз, когда я использую бэкэнд APIСертификат самоподписывается для целей тестирования.

Я нашел различную информацию:

  1. Я должен извлечь из полученного файла client.jks: сертификат, ключ и оба в комплекте (ca)
import https from 'https'

const agent = new https.Agent({ 
    ca: fs.readFileSync('certificates/bundle.pem'),
    cert: fs.readFileSync('certificates/certificate.pem'),
    key: fs.readFileSync('certificates/keys.pem') 
 });

axios({
    url: 'https://localhost:1444/userlogin',
        data: params,
        method: 'POST',
        httpsAgent: agent
})
.catch(function (error) {
    // output error
})
.then(resp => {
    //do something with rsponse
})
Я должен извлечь из файла .jks: cert, key (без ca).

Но ни один из них не работал для меня. Я сделал console.log (агент), чтобы проверить, правильны ли пути к файлам, и получил объект, включающий ca, cert, ключ с массивом массивов чисел (или cert, ключ с таким же массивом массивов чисел).

Я не получаю никакого ответа от внутреннего приложения - «Не удалось загрузить данные ответа».

Я разрабатываю это приложение в Electron (на стороне клиента), с Vue на внешнем интерфейсе. Бэкэнд сделан на Java. Есть ли способ отправить сертификат от клиента с помощью Axios?

...