When parsing the following key:
> cat test.mjs
import jose from 'node-jose';
const key = `-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGhxHIBRF78CETf2Y
4naT6iLT5UJVgy9Pa7TMEMSRCSehRANCAAQ/Idg7BVShuglkq7uV5gN9Bo4tCJIi
ZLAWMdYCKfsfhGk0SRwGKO8WejalYv8YhudHIrwakIcLY0DkkeBAPyOw
-----END PRIVATE KEY-----`;
jose.JWK.asKey(key, 'pem')
Nodejs throws an error:
> node test.mjs
node:internal/buffer:86
throw new ERR_BUFFER_OUT_OF_BOUNDS();
^
RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to access memory outside buffer bounds
at boundsError (node:internal/buffer:86:11)
at readUInt16BE (node:internal/buffer:334:5)
at Buffer.<anonymous> (node:internal/buffer:1008:50)
at Object.import ([...]/node_modules/node-jose/lib/jwk/eckey.js:325:20)
at [...]/node_modules/node-jose/lib/jwk/keystore.js:198:28
at Array.forEach (<anonymous>)
at importFrom ([...]/node_modules/node-jose/lib/jwk/keystore.js:188:25)
at JWKStore.value ([...]/node_modules/node-jose/lib/jwk/keystore.js:303:19)
at JWKStore.asKey ([...]/node_modules/node-jose/lib/jwk/keystore.js:692:12)
at file:///[...]/test.mjs:9:10 {
code: 'ERR_BUFFER_OUT_OF_BOUNDS'
}
Node.js v24.14.1
The key itself seems to be fine (for openssl):
> openssl ec -in key.pem -text -check
read EC key
Private-Key: (256 bit)
priv:
1a:1c:47:20:14:45:ef:c0:84:4d:fd:98:e2:76:93:
ea:22:d3:e5:42:55:83:2f:4f:6b:b4:cc:10:c4:91:
09:27
pub:
04:3f:21:d8:3b:05:54:a1:ba:09:64:ab:bb:95:e6:
03:7d:06:8e:2d:08:92:22:64:b0:16:31:d6:02:29:
fb:1f:84:69:34:49:1c:06:28:ef:16:7a:36:a5:62:
ff:18:86:e7:47:22:bc:1a:90:87:0b:63:40:e4:91:
e0:40:3f:23:b0
ASN1 OID: prime256v1
NIST CURVE: P-256
EC Key valid.
writing EC key
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIBocRyAURe/AhE39mOJ2k+oi0+VCVYMvT2u0zBDEkQknoAoGCCqGSM49
AwEHoUQDQgAEPyHYOwVUoboJZKu7leYDfQaOLQiSImSwFjHWAin7H4RpNEkcBijv
Fno2pWL/GIbnRyK8GpCHC2NA5JHgQD8jsA==
-----END EC PRIVATE KEY-----
When parsing the following key:
Nodejs throws an error:
The key itself seems to be fine (for openssl):