Сертификат nodejs azure keyvault - PullRequest
       45

Сертификат nodejs azure keyvault

0 голосов
/ 03 декабря 2018

я получаю сертификат от хранилища ключей Azure:

const certificate = await keyVaultClient.getCertificate(this.keyVaultUri, certificateName, '');

я получаю сертификат ... первая хорошая вещь:)

Но после того, как я не могу найти, как я могуустановите сертификат в заголовке запроса https.

Я пробовал разные способы без какого-либо успеха.

Кто-то знает, как мне этого добиться.Ниже проведен тест.

var options = {
    hostname: 'url.domain.com',
    port: 443,
    path: '/method1',
    method: 'GET',
    agent: false,
    rejectUnauthorized: false,
    strictSSL: false,
    //pfx: certificate.cer.toString('utf8'),
    //pfx: certificate.cer.toString('base64'),
    pfx: certificate,
    passphrase: 'passphrase'

  };

const req = https.request(options, (res: any) => { });

Обратите внимание, что если я использую сертификат на диске, он работает:

pfx: fs.readFileSync(__dirname + '/my.pfx'),

Заранее спасибо

1 Ответ

0 голосов
/ 05 декабря 2018

Я нашел решение.

Сначала, чтобы получить сертификат, я использовал метод 'getSercret' вместо 'getCertificate':

let keyVaultClient = new KeyVault.KeyVaultClient(azureCredential); const secret = await keyVaultClient.getSecret(this.keyVaultUri, secretName, '');

В опции заголовка я передал секрет в буфер с форматом base 64:

var options = {
                hostname: 'myurl.ti',
                port: 443,
                path: '/mySuperMethod',
                method: 'GET',
                agent: false,
                rejectUnauthorized: false,
                strictSSL: false,
                pfx: new Buffer(secret.value, 'base64'),
                passphrase: ''
            };

Вы видите, что фраза-пароль (пароль для безопасного пароля) пуста.Зачем ?на самом деле, когда вы загружаете сертификат в Azure KeyVault, вы должны указать пароль.Но после того, как keyvault не сохраняет пароль, и он установлен пустым.

Это известно Microsoft, и для меня это проблема.

Вот статья, которая объясняет, что: https://thuansoldier.net/7462/

С уважением Матье

...