Получите ошибку: "Подпись или расшифровка была недействительной", при использовании сильного мыла. Strong-soap - один из пакетов узлов, установленных с помощью npm

Я получаю сообщение об ошибке: "Подпись или расшифровка была недействительной", когда я использую сильное мыло для доступа к службе. Вот мой код:

"use strict";

var fs = require('fs');
var base = process.env.PWD;

var publicKey = fs.readFileSync(base + "/cert.pem", "utf8");
var privateKey = fs.readFileSync(base + "/key.pem", "utf8");
var ca = fs.readFileSync(base + "/msservices.pem", "utf8");
var password = "mypassphrase";

var soap = require('strong-soap').soap;

var url = 'http://www.microsoft.com:4433/MicrosoftServices2/MSService?wsdl';

var options = {};


var requestArgs = {};

soap.createClient(url,options,function(err, client) {

 var wsSecurity = new soap.WSSecurityCert(privateKey,publicKey, password)
 client.setSecurity(wsSecurity);

 
 
 
 client.getDealerBalance(requestArgs, function(err, result, envelope) {
  //console.log(JSON.stringify(result));
  console.log(result);
 });
 
});
 

Ниже приведен xml в теле результата. Глядя на мой код, что я делаю не так?

'<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Body><soap:Fault><soap:Code><soap:Value>soap:Sender</soap:Value><soap:Subcode><soap:Value xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">ns1:FailedCheck</soap:Value></soap:Subcode></soap:Code><soap:Reason><soap:Text xml:lang="en"># The signature or decryption was invalid</soap:Text></soap:Reason></soap:Fault></soap:Body></soap:Envelope>'

Что я должен изменить в своем коде, чтобы устранить эту ошибку?

Обратите внимание, что я не знаю, где использовать сертификат, выданный мне администратором сервера: "msservices.pem", как указано выше.

0 ответов

Другие вопросы по тегам