diff --git a/openpgp.d.ts b/openpgp.d.ts index b4d54b5b..b46802ae 100644 --- a/openpgp.d.ts +++ b/openpgp.d.ts @@ -702,7 +702,7 @@ export type EllipticCurveName = 'ed25519Legacy' | 'curve25519Legacy' | 'nistP256 interface GenerateKeyOptions { userIDs: MaybeArray; passphrase?: string; - type?: 'ecc' | 'rsa'; + type?: 'ecc' | 'rsa' | 'curve25519' | 'curve448'; curve?: EllipticCurveName; rsaBits?: number; keyExpirationTime?: number; @@ -713,14 +713,8 @@ interface GenerateKeyOptions { } export type KeyOptions = GenerateKeyOptions; -export interface SubkeyOptions { - type?: 'ecc' | 'rsa'; - curve?: EllipticCurveName; - rsaBits?: number; - keyExpirationTime?: number; - date?: Date; +export interface SubkeyOptions extends Pick { sign?: boolean; - config?: PartialConfig; } export declare class KeyID { diff --git a/test/typescript/definitions.ts b/test/typescript/definitions.ts index 5258154d..2d74b77c 100644 --- a/test/typescript/definitions.ts +++ b/test/typescript/definitions.ts @@ -22,7 +22,12 @@ import { (async () => { // Generate keys - const keyOptions = { userIDs: [{ email: 'user@corp.co' }], config: { v6Keys: true } }; + const keyOptions = { + type: 'curve25519' as const, + userIDs: [{ email: 'user@corp.co' }], + subkeys: [{ type: 'rsa' as const, sign: false }], + config: { v6Keys: true } + }; const { privateKey: privateKeyArmored, publicKey: publicKeyArmored } = await generateKey(keyOptions); const { privateKey: privateKeyBinary } = await generateKey({ ...keyOptions, format: 'binary' }); const { privateKey, publicKey, revocationCertificate } = await generateKey({ ...keyOptions, format: 'object' });