Ошибка UNABLE_TO_GET_ISSUER_CERT_LOCALLY при вызове API Coinbase NODEJS - PullRequest
2 голосов
/ 18 марта 2020

Со вчерашнего дня в 17:30 (по парижскому времени) я получаю UNABLE_TO_GET_ISSUER_CERT_LOCALLY при попытке составить список моих аккаунтов. Я использую библиотеку nodejs, и она работала нормально уже несколько месяцев.

Точная ошибка в client.getAccounts:

{ Error: unable to get local issuer certificate
    at TLSSocket.onConnectSecure (_tls_wrap.js:1142:34)
    at TLSSocket.emit (events.js:188:13)
    at TLSSocket._finishInit (_tls_wrap.js:631:8) code: 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY' }

Редактировать: я только что пробовал те же звонки с Python API, и он работает нормально. Поэтому я чувствую, что в настоящее время существует проблема с Coinbase NodeJS API.

1 Ответ

4 голосов
/ 18 марта 2020

Согласно Coinbase, они обновили свои сертификаты вчера в 10:30 по тихоокеанскому времени. У клиента узла для параметраSSSS установлено значение true, поэтому запросы не будут выполняться при сбое цепочки сертификатов.

Исправлено: когда вы запускаете клиент, вы можете либо установить для параметраSSSS значение false, либо передать новые действительные сертификаты.

Установите для strictSSL значение false:

var Client = require('coinbase').Client;
var client = new Client({
   apiKey: mykey, 
   apiSecret: mysecret,
   strictSSL: false
});

обновить файлы сертификатов (вы можете экспортировать их здесь - https://baltimore-cybertrust-root.chain-demos.digicert.com/ или попробовать coinbase.com и экспортировать туда):

var Client = require('coinbase').Client;
var client = new Client({
   apiKey: mykey, 
   apiSecret: mysecret,
   caFile: myNewCertFile
});

myNewCertFiles должен соответствовать этому формату файлов с обновленными сертификатами: https://github.com/coinbase/coinbase-node/blob/master/lib/CoinbaseCertStore.js

...