Skip to content

Instantly share code, notes, and snippets.

@jcolson
Last active September 1, 2022 18:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jcolson/5bfa8650482cc0e31788b1d42b20fb0b to your computer and use it in GitHub Desktop.
Save jcolson/5bfa8650482cc0e31788b1d42b20fb0b to your computer and use it in GitHub Desktop.
ed25519-keygen - load a gpg key and use ed25519-keygen decode ... fails
import * as pgp from 'ed25519-keygen/pgp';
import { randomBytes } from 'ed25519-keygen/utils';
import * as fs from 'fs';
const pseed = randomBytes(32);
const pswd = '';
const TESTKEY = 'private/TEST_KEY_FE05A3CE_Secret.asc';
const pkeys = await pgp.getKeys(pseed, 'jay@example.com', pswd);
let armorDecode = pgp.privArmor.decode(pkeys.privateKey);
console.log({
ed25519: await pgp.decodeSecretKey(pswd, armorDecode[0].data),
cv25519: await pgp.decodeSecretKey(pswd, armorDecode[3].data),
});
let loadedPrivateKey = fs.readFileSync(TESTKEY, 'utf8');
armorDecode = pgp.privArmor.decode(loadedPrivateKey);
console.log({
ed25519: await pgp.decodeSecretKey(pswd, armorDecode[0].data),
cv25519: await pgp.decodeSecretKey(pswd, armorDecode[3].data),
});
{
ed25519: 15246720493318939105000396004294294518583076715239356814758557718247177760726n,
cv25519: 54278606252191165273072315901663890060479252037040304686878433804298398990368n
}
file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/micro-packed/index.js:36
return new Error(`Reader(${this.fieldPath.join('/')}): ${msg}`);
^
Error: Reader(S2K/hash): Enum: unknown value: 234 1,2,3,11,8,9,10,12,14
at Reader.err (file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/micro-packed/index.js:36:16)
at Object.decodeStream (file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/micro-packed/index.js:756:25)
at Object.decodeStream (file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/micro-packed/index.js:631:42)
at Object.decodeStream (file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/micro-packed/index.js:779:42)
at Object.decodeStream (file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/micro-packed/index.js:631:42)
at Object.decode (file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/micro-packed/index.js:214:31)
at Object.decodeStream (file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/ed25519-keygen/pgp.js:436:50)
at Object.decodeStream (file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/micro-packed/index.js:715:36)
at Object.decode (file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/micro-packed/index.js:214:31)
at Object.decode (file:///Users/jcolson/src/personal/private-gpg-to-ssh/node_modules/micro-packed/index.js:912:30)
Node.js v18.8.0
-----BEGIN PGP PRIVATE KEY BLOCK-----
lFgEYxDlthYJKwYBBAHaRw8BAQdAOJIdL82MNyA7ArSTFUtLoFDn5QsjFxGPqHet
375koXIAAQDqKvWDPE7qryH5Txq/pPQXNG6kr/IHEAlJ6dLp+q7p7BIStDZURVNU
IEtFWSBTZXAgMSwgMjAyMiAoVEVTVCBDT01NRU5UKSA8dGVzdEBleGFtcGxlLmNv
bT6IkAQTFggAOBYhBC02JAnky8KFhWXaDFvPohz+BaPOBQJjEOW2AhshBQsJCAcC
BhUKCQgLAgQWAgMBAh4BAheAAAoJEFvPohz+BaPO+74BAPKYzJsj93l7mN6ViR0H
/uX35DMMYIHgOIFVTJU1eYcIAQCLwjAiMbouU7s2ZDHSYUrfIERUb7UHH0MyBFgn
nsyaDg==
=vBKp
-----END PGP PRIVATE KEY BLOCK-----
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment