Запрос с сертификатом X509

Я получил сертификат X509 (один файл .cer), могу расшифровать его, так что с этим никаких проблем. Теперь я хочу подписать запрос этим сертификатом в узле, но не могу заставить это работать:

var https = require("https");
var fs = require("fs");

var options = {
    host: 'management.core.windows.net',
    path: '/my-subscription-id/services/hostedservices',
    port: 443,
    method: 'GET',
    cert: fs.readFileSync("./SSLDevCert.cer"),
    agent: false
};

var req = https.request(options, function(res) {
    console.log("statusCode: ", res.statusCode);
    console.log("headers: ", res.headers);

    res.on('data', function(d) {
        process.stdout.write(d);
    });
});

Это не сработает с

Ошибка: ошибка: 0906D06C: Подпрограммы PEM: PEM_read_bio: нет начальной строки
в Object.createCredentials (crypto.js: 72: 31)
в Object.connect (tls.js: 857: 27)
в Agent._getConnection (https.js: 61: 15)
в Agent._establishNewConnection (http.js: 1183: 21)

То же самое в C # работает нормально:

var req = (HttpWebRequest)WebRequest.Create(string.Format("https://management.core.windows.net/{0}/services/hostedservices", "my-subscription-id"));
req.ClientCertificates.Add(new X509Certificate2(File.ReadAllBytes("./SSLDevCert.cer"));
var resp = req.GetResponse();

6
задан Jan Jongboom 23 December 2011 в 16:12
поделиться