Class: Key

key~ Key

Class that represents an OpenPGP key. Must contain a primary key. Can contain additional subkeys, signatures, user ids, user attributes.

new Key(packetlist)

Parameters:
Name Type Description
packetlist module:packet/packetlist The packets that form this key
Source:

Methods

armor() → {String}

Returns ASCII armored text of key
Source:
Returns:
ASCII armor
Type
String

decrypt(passphrase) → {Boolean}

Decrypts all secret key and subkey packets
Parameters:
Name Type Description
passphrase String
Source:
Returns:
true if all key and subkey packets decrypted successfully
Type
Boolean

decryptKeyPacket(keyIds, passphrase) → {Boolean}

Decrypts specific key packets by key ID
Parameters:
Name Type Description
keyIds Array.<module:type/keyid>
passphrase String
Source:
Returns:
true if all key packets decrypted successfully
Type
Boolean

getAllKeyPackets() → {Array.<(module:packet/public_subkey|module:packet/secret_subkey|module:packet/secret_key|module:packet/public_key)>}

Returns all the private and public key and subkey packets
Source:
Returns:
Type
Array.<(module:packet/public_subkey|module:packet/secret_subkey|module:packet/secret_key|module:packet/public_key)>

getEncryptionKeyPacket() → {module:packet/public_subkey|module:packet/secret_subkey|module:packet/secret_key|module:packet/public_key|null}

Returns the first valid encryption key packet for this key
Source:
Returns:
key packet or null if no encryption key has been found
Type
module:packet/public_subkey | module:packet/secret_subkey | module:packet/secret_key | module:packet/public_key | null

getExpirationTime() → {Date|null}

Returns the expiration time of the primary key or null if key does not expire
Source:
Returns:
Type
Date | null

getKeyIds() → {Array.<module:type/keyid>}

Returns key IDs of all key packets
Source:
Returns:
Type
Array.<module:type/keyid>

getKeyPacket(keyIds) → {module:packet/public_subkey|module:packet/public_key|module:packet/secret_subkey|module:packet/secret_key|null}

Returns first key packet for given array of key IDs
Parameters:
Name Type Description
keyIds Array.<module:type/keyid>
Source:
Returns:
Type
module:packet/public_subkey | module:packet/public_key | module:packet/secret_subkey | module:packet/secret_key | null

getPreferredHashAlgorithm() → {String}

Returns preferred signature hash algorithm of this key
Source:
Returns:
Type
String

getPrimaryUser() → {Object|null}

Returns primary user and most significant (latest valid) self signature - if multiple users are marked as primary users returns the one with the latest self signature - if no primary user is found returns the user with the latest self signature
Source:
Returns:
The primary user and the self signature
Type
Object | null

getSigningKeyPacket(keyId,) → {module:packet/secret_subkey|module:packet/secret_key|null}

Returns first key packet or key packet by given keyId that is available for signing or signature verification
Parameters:
Name Type Description
keyId, module:type/keyid optional
Source:
Returns:
key packet or null if no signing key has been found
Type
module:packet/secret_subkey | module:packet/secret_key | null

getSubkeyPackets() → {Array.<(module:packet/public_subkey|module:packet/secret_subkey)>}

Returns all the private and public subkey packets
Source:
Returns:
Type
Array.<(module:packet/public_subkey|module:packet/secret_subkey)>

getUserIds() → {Array.<string>}

Returns userids
Source:
Returns:
array of userids
Type
Array.<string>

isPrivate() → {Boolean}

Returns true if this is a private key
Source:
Returns:
Type
Boolean

isPublic() → {Boolean}

Returns true if this is a public key
Source:
Returns:
Type
Boolean

packetlist2structure(packetlist)

Transforms packetlist to structured key data
Parameters:
Name Type Description
packetlist module:packet/packetlist The packets that form a key
Source:

toPacketlist() → {module:packet/packetlist}

Transforms structured key data to packetlist
Source:
Returns:
The packets that form a key
Type
module:packet/packetlist

toPublic() → {module:key~Key}

Returns key as public key (shallow copy)
Source:
Returns:
new public Key
Type
module:key~Key

update(key)

Update key with new components from specified key with same key ID: users, subkeys, certificates are merged into the destination key, duplicates are ignored. If the specified key is a private key and the destination key is public, the destination key is tranformed to a private key.
Parameters:
Name Type Description
key module:key~Key source key to merge
Source:

verifyPrimaryKey() → {module:enums.keyStatus}

Verify primary key. Checks for revocation signatures, expiration time and valid self signature
Source:
Returns:
The status of the primary key
Type
module:enums.keyStatus