Skip to content

Error with handshake process #295

@xeanhort

Description

@xeanhort

Hi,

I've just tried the steps to build but I'm having troubles during the authentication process.

The error comes when the particle device tries to connect to the cloud but if I look to deviceKeys.deb, the data for that device is properly stored:

{"deviceID":"XXXXXXXXXXXXXXXXXXXXXXXX","algorithm":"ecc","key":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETNP2mzOQyygIo+2O+WnooEWcEeCH\ncQvvydppV0FlxAc8V4Jhe3g+SokUyjgQkiIHI+BmrUJVumMizhydarG1Ug==\n-----END PUBLIC KEY-----\n","_id":"XvCn29Nb2MMOiDuI"}

The error is when comparing publicKey.equals(deviceProvidedPem) at Handshake.js:383 from spark-protocol (I posted the issue here because I don't really know what is the root cause)

The error log shows this:

[2020-05-05T18:17:17.694Z] INFO: DeviceServer.js/7443 on CX61-2PC: New Connection
[2020-05-05T18:17:18.723Z] ERROR: Handshake.js/7443 on CX61-2PC: Handshake failed (cache_key=_4, deviceID=XXXXXXXXXXXXXXXXXXXXXXXX, ip=::ffff:XX.XX.XX.XX)
Error: Failed to match tag: "objid" at: ["algorithmIdentifier"]["parameters"]
at DecoderBuffer.error (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/reporter.js:53:11)
at DERNode.decodeTag [as _decodeTag] (/media/user/spark-server/node_modules/asn1.js/lib/asn1/decoders/der.js:67:19)
at DERNode.decode [as _decode] (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:302:23)
at decodeChildren (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:332:15)
at Array.some ()
at DERNode.decode [as _decode] (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:329:33)
at decodeChildren (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:332:15)
at Array.some ()
at DERNode.decode [as _decode] (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:329:33)
at DERNode.decode [as _decode] (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:263:47)
at SpkiKey.decode (/media/user/spark-server/node_modules/asn1.js/lib/asn1/decoders/der.js:25:20)
at Entity.decode (/media/user/spark-server/node_modules/asn1.js/lib/asn1/api.js:47:32)
at parseSpki (/media/user/spark-server/node_modules/ec-key/src/ec-key.js:158:27)
at parsePem (/media/user/spark-server/node_modules/ec-key/src/ec-key.js:184:12)
at new ECKey (/media/user/spark-server/node_modules/ec-key/src/ec-key.js:237:15)
at new DeviceKey (/media/user/spark-server/node_modules/spark-protocol/dist/lib/DeviceKey.js:32:25)
at DeviceKey.equals (/media/user/spark-server/node_modules/spark-protocol/dist/lib/DeviceKey.js:75:20)
at Handshake._callee5$ (/media/user/spark-server/node_modules/spark-protocol/dist/lib/Handshake.js:383:29)
at tryCatch (/media/user/spark-server/node_modules/regenerator-runtime/runtime.js:62:40)
at Generator.invoke [as _invoke] (/media/user/spark-server/node_modules/regenerator-runtime/runtime.js:296:22)
at Generator.prototype.(anonymous function) [as next] (/media/user/spark-server/node_modules/regenerator-runtime/runtime.js:114:21)
at step (/media/user/spark-server/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)
at /media/user/spark-server/node_modules/babel-runtime/helpers/asyncToGenerator.js:28:13
at
[2020-05-05T18:17:18.723Z] INFO: Device.js/7443 on CX61-2PC: Device disconnected (cache_key=_4, deviceID="", disconnectCounter=1)
[2020-05-05T18:17:18.723Z] ERROR: DeviceServer.js/7443 on CX61-2PC: Device startup failed (deviceID=null)
Error: Failed to match tag: "objid" at: ["algorithmIdentifier"]["parameters"]
at DecoderBuffer.error (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/reporter.js:53:11)
at DERNode.decodeTag [as _decodeTag] (/media/user/spark-server/node_modules/asn1.js/lib/asn1/decoders/der.js:67:19)
at DERNode.decode [as _decode] (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:302:23)
at decodeChildren (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:332:15)
at Array.some ()
at DERNode.decode [as _decode] (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:329:33)
at decodeChildren (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:332:15)
at Array.some ()
at DERNode.decode [as _decode] (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:329:33)
at DERNode.decode [as _decode] (/media/user/spark-server/node_modules/asn1.js/lib/asn1/base/node.js:263:47)
at SpkiKey.decode (/media/user/spark-server/node_modules/asn1.js/lib/asn1/decoders/der.js:25:20)
at Entity.decode (/media/user/spark-server/node_modules/asn1.js/lib/asn1/api.js:47:32)
at parseSpki (/media/user/spark-server/node_modules/ec-key/src/ec-key.js:158:27)
at parsePem (/media/user/spark-server/node_modules/ec-key/src/ec-key.js:184:12)
at new ECKey (/media/user/spark-server/node_modules/ec-key/src/ec-key.js:237:15)
at new DeviceKey (/media/user/spark-server/node_modules/spark-protocol/dist/lib/DeviceKey.js:32:25)
at DeviceKey.equals (/media/user/spark-server/node_modules/spark-protocol/dist/lib/DeviceKey.js:75:20)
at Handshake._callee5$ (/media/user/spark-server/node_modules/spark-protocol/dist/lib/Handshake.js:383:29)
at tryCatch (/media/user/spark-server/node_modules/regenerator-runtime/runtime.js:62:40)
at Generator.invoke [as _invoke] (/media/user/spark-server/node_modules/regenerator-runtime/runtime.js:296:22)
at Generator.prototype.(anonymous function) [as next] (/media/user/spark-server/node_modules/regenerator-runtime/runtime.js:114:21)
at step (/media/user/spark-server/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)
at /media/user/spark-server/node_modules/babel-runtime/helpers/asyncToGenerator.js:28:13

I'm using node v8.11.1, npm 5.6.0 and yarn 1.22.4, and tested the server on Ubuntu&Windows.

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions