ошибка node-soap ‘UNABLE_TO_VERIFY_LEAF_SIGNATURE’

#node.js #web-services #ssl #soap #wsdl

#node.js #веб-службы #ssl #soap #wsdl

Вопрос:

Я пытаюсь получить доступ к методам WSDL по протоколу SSL с помощью модуля node-soap. Я могу подключиться к серверу и получить client.desclibe() , но когда я пытаюсь получить доступ к методу в WSDL, я получаю :

 authorized: false,
authorizationError: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
  

Я пытался отключить проверку SSL или использовать ssl-root-cas модуль, но это не имеет значения, каждый раз, когда я получаю эту ошибку.

Вот как я использую node-soap :

 client = soap.createClient(wsdl_url, {
        wsdl_options: {
                key: fs.readFileSync('ssl/privatekey.key'),
                cert: fs.readFileSync('ssl/public-certificate.crt'),
                passphrase: 'password',
                rejectUnauthorized: false,
            },
        forceSoap12Headers: true
    },
    function(err, client){

        client.setSecurity(new soap.ClientSSLSecurity(
                'ssl/privatekey.key' , 
                'ssl/public-certificate.crt' , 
                'ssl/new-ca.crt' ,
                {
                    rejectUnauthorized: false,
                    passphrase: 'password'
                }

    ));

    client.ServerMethod({ name : 'value' }, function(err, result) {
          console.log(result);
    });
})
  

У кого-нибудь есть предложения, что происходит не так? Мне нужен SSL, поэтому я не могу просто отключить его.

Комментарии:

1. Вы решили эту проблему?

Ответ №1:

Можете ли вы попробовать что-то подобное перед вызовом soap?

 process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
  

Надеюсь, это поможет.