UNABLE_TO_GET_ISSUER_CERT_LOCALLY 调用 Coinbase NODEJS 时出错 API
UNABLE_TO_GET_ISSUER_CERT_LOCALLY error when calling the Coinbase NODEJS API
从昨天 5: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.
根据 Coinbase,他们在太平洋标准时间昨天上午 10 点 30 分更新了他们的证书。节点客户端将 strictSSL 设置为 true,因此请求将因证书链失败而失败。
修复:启动客户端时,您可以将 strictSSL 设置为 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
"What are the security risks (if any) associated with setting strictSSL
to false
? How do you "export" the new SSL certificates?"
连接是加密的,TLS 防止篡改,但是 strictSSL
设置为 false
理论上可以进行 MITM(中间人)攻击,因为 SSL 证书不是经过全面检查以确保它是真实的,一些 hoser(中间的人)可能使用假证书。我会切换它开始,但尽快获得新证书。
从昨天 5: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.
根据 Coinbase,他们在太平洋标准时间昨天上午 10 点 30 分更新了他们的证书。节点客户端将 strictSSL 设置为 true,因此请求将因证书链失败而失败。
修复:启动客户端时,您可以将 strictSSL 设置为 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
"What are the security risks (if any) associated with setting
strictSSL
tofalse
? How do you "export" the new SSL certificates?"
连接是加密的,TLS 防止篡改,但是 strictSSL
设置为 false
理论上可以进行 MITM(中间人)攻击,因为 SSL 证书不是经过全面检查以确保它是真实的,一些 hoser(中间的人)可能使用假证书。我会切换它开始,但尽快获得新证书。