From bafdab20cfbad5b744415fdf4db072511c4d4840 Mon Sep 17 00:00:00 2001 From: Daniel Huigens Date: Wed, 2 Mar 2022 17:17:49 +0100 Subject: [PATCH] Don't require User IDs for v6 keys --- src/openpgp.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/openpgp.js b/src/openpgp.js index 28554e7b..cef01e9b 100644 --- a/src/openpgp.js +++ b/src/openpgp.js @@ -58,8 +58,8 @@ export async function generateKey({ userIDs = [], passphrase, type = 'ecc', rsaB userIDs = toArray(userIDs); const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`); - if (userIDs.length === 0) { - throw new Error('UserIDs are required for key generation'); + if (userIDs.length === 0 && !config.v6Keys) { + throw new Error('UserIDs are required for V4 keys'); } if (type === 'rsa' && rsaBits < config.minRSABits) { throw new Error(`rsaBits should be at least ${config.minRSABits}, got: ${rsaBits}`); @@ -102,8 +102,8 @@ export async function reformatKey({ privateKey, userIDs = [], passphrase, keyExp userIDs = toArray(userIDs); const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`); - if (userIDs.length === 0) { - throw new Error('UserIDs are required for key reformat'); + if (userIDs.length === 0 && privateKey.keyPacket.version !== 6) { + throw new Error('UserIDs are required for V4 keys'); } const options = { privateKey, userIDs, passphrase, keyExpirationTime, date };