来自Node.js的Amazon SNS的CERT_不可信错误响应
我正在使用来自Node.js的Amazon SNS的CERT_不可信错误响应,node.js,amazon-web-services,push-notification,cordova-plugins,amazon-sns,Node.js,Amazon Web Services,Push Notification,Cordova Plugins,Amazon Sns,我正在使用snsmobile向Amazon sns注册移动设备。我使用nodejs跟踪SNS推送通知 创建SNS对象的代码如下所示: var myApp = new SNS({ platform: SNS.SUPPORTED_PLATFORMS.ANDROID, region: 'eu-west-1', apiVersion: '2010-03-31', accessKeyId: config.sns.key_id, secretAccessKey: co
snsmobile
向Amazon sns注册移动设备。我使用nodejs跟踪SNS推送通知
创建SNS对象的代码如下所示:
var myApp = new SNS({
platform: SNS.SUPPORTED_PLATFORMS.ANDROID,
region: 'eu-west-1',
apiVersion: '2010-03-31',
accessKeyId: config.sns.key_id,
secretAccessKey: config.sns.secret_key_id,
platformApplicationArn: config.sns.arn
});
// Add the user to SNS
myApp.addUser(deviceId, null, function(err, endpointArn) {
// SNS returned an error
if(err) {
console.log(err);
return res.status(500).json({
status: 'error occurred registering device'
});
}
// Tell the user everything is ok
res.status(200).json({
status: 'ok'
});
});
{ [Error: CERT_UNTRUSTED]
message: 'CERT_UNTRUSTED',
code: 'NetworkingError',
region: 'eu-west-1',
hostname: 'sns.eu-west-1.amazonaws.com',
retryable: true,
time: Sun Mar 08 2015 17:13:44 GMT-0700 (US Mountain Standard Time),
statusCode: undefined }
在这种情况下,注册/添加用户或设备的代码如下:
var myApp = new SNS({
platform: SNS.SUPPORTED_PLATFORMS.ANDROID,
region: 'eu-west-1',
apiVersion: '2010-03-31',
accessKeyId: config.sns.key_id,
secretAccessKey: config.sns.secret_key_id,
platformApplicationArn: config.sns.arn
});
// Add the user to SNS
myApp.addUser(deviceId, null, function(err, endpointArn) {
// SNS returned an error
if(err) {
console.log(err);
return res.status(500).json({
status: 'error occurred registering device'
});
}
// Tell the user everything is ok
res.status(200).json({
status: 'ok'
});
});
{ [Error: CERT_UNTRUSTED]
message: 'CERT_UNTRUSTED',
code: 'NetworkingError',
region: 'eu-west-1',
hostname: 'sns.eu-west-1.amazonaws.com',
retryable: true,
time: Sun Mar 08 2015 17:13:44 GMT-0700 (US Mountain Standard Time),
statusCode: undefined }
记录到控制台的错误如下:
var myApp = new SNS({
platform: SNS.SUPPORTED_PLATFORMS.ANDROID,
region: 'eu-west-1',
apiVersion: '2010-03-31',
accessKeyId: config.sns.key_id,
secretAccessKey: config.sns.secret_key_id,
platformApplicationArn: config.sns.arn
});
// Add the user to SNS
myApp.addUser(deviceId, null, function(err, endpointArn) {
// SNS returned an error
if(err) {
console.log(err);
return res.status(500).json({
status: 'error occurred registering device'
});
}
// Tell the user everything is ok
res.status(200).json({
status: 'ok'
});
});
{ [Error: CERT_UNTRUSTED]
message: 'CERT_UNTRUSTED',
code: 'NetworkingError',
region: 'eu-west-1',
hostname: 'sns.eu-west-1.amazonaws.com',
retryable: true,
time: Sun Mar 08 2015 17:13:44 GMT-0700 (US Mountain Standard Time),
statusCode: undefined }
我试着四处寻找可能发生这种情况的原因,但不断有人声称这是nodejs的问题
有没有办法解决这个问题?我对SES也有同样的问题。我最终不得不使用节点v0.10.33(这是在2014年12月)。因此,如果您最近刚刚更新,我将使用以前的版本,直到bug解决为止
(该问题在GitHub上的一些对话可能会有所帮助……问题是关于nodev0.10.34(node.js)。这应固定在v0.10.35中
changelog: 2014.12.22, Version 0.10.35 (Stable)
tls: re-add 1024-bit SSL certs removed by f9456a2 (Chris Dickinson)
解决方案:
升级到
changelog: 2014.12.22, Version 0.10.35 (Stable)
tls: re-add 1024-bit SSL certs removed by f9456a2 (Chris Dickinson)