如何在NodeJS中使用.p12证书与axios(客户端)

j5fpnvbx  于 12个月前  发布在  iOS
关注(0)|答案(1)|浏览(183)

我不明白如何在axios请求中使用我的.p12证书。
我发现了这个:

const fs = require('fs');
const https = require('https');
const axios = require('axios');

// ...
const httpsAgent = new https.Agent({
  cert: fs.readFileSync('client.crt'),
  key: fs.readFileSync('client.key'),
  ca: fs.readFileSync('ca.crt'),
});

const result = await axios.get('https://myserver.internal.net:9443', { httpsAgent });
// do something with the result

// ...

字符串
但是我对nodeJS的了解还不够,不知道这是否是正确的方法。
我必须转换我的.p12?
问候

nnsrf1az

nnsrf1az1#

我在寻找答案的时候遇到了这个问题,为了给别人保存一些精力。
你必须像这样配置你的httpsAgent

const fs = require('fs');
const https = require('https');
const axios = require('axios');

// ...
const httpsAgent = new https.Agent({
  pfx: fs.readFileSync('keystore.p12'),
  passphrase: '<your_keystore_passphrase_here>'
});

const result = await axios.get('https://myserver.internal.net:9443', { httpsAgent });
// do something with the result

// ...

字符串
其中pfx是pkcs 12格式的密钥库(通常是p12/pfx文件扩展名),passphrase是密钥库的一个通道。

相关问题