Constructor
new SecretKeyPacket(dateopt, configopt)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
date |
Date |
<optional> |
Creation date |
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Extends
Members
aead :enums.aead
AEAD algorithm to encrypt the key with (if AEAD protection is enabled)
Type:
- enums.aead
- Source:
algorithm :enums.publicKey
Public key algorithm.
Type:
- enums.publicKey
- Overrides:
- Source:
created :Date
Key creation date.
Type:
- Date
- Overrides:
- Source:
expirationTimeV3 :Integer
Time until expiration in days (V3 only)
Type:
- Integer
- Overrides:
- Source:
fingerprint :Uint8Array
Fingerprint bytes
Type:
- Uint8Array
- Overrides:
- Source:
isEncrypted
Indicates whether secret-key data is encrypted. this.isEncrypted === false
means data is available in decrypted form.
- Source:
keyID :module:type/keyid~KeyID
KeyID
Type:
- Overrides:
- Source:
keyMaterial
Secret-key data
- Source:
privateParams :Object
Decrypted private parameters, referenced by name
Type:
- Object
- Source:
publicParams :Object
Algorithm specific public params
Type:
- Object
- Overrides:
- Source:
readPublicKey
Alias of read()
- Overrides:
- Source:
- See:
s2k :type/s2k
S2K object
Type:
- type/s2k
- Source:
s2kUsage :enums.symmetric
S2K usage
Type:
- enums.symmetric
- Source:
symmetric :enums.symmetric
Symmetric algorithm to encrypt the key with
Type:
- enums.symmetric
- Source:
version :Integer
Packet version
Type:
- Integer
- Overrides:
- Source:
writePublicKey
Alias of write()
- Overrides:
- Source:
- See:
Methods
clearPrivateParams()
Clear private key parameters
- Source:
(async) computeFingerprint()
Computes and set the fingerprint of the key
- Overrides:
- Source:
(async) computeFingerprintAndKeyID()
Computes and set the key ID and fingerprint of the key
- Overrides:
- Source:
(async) decrypt(passphrase)
Decrypts the private key params which are needed to use the key. Successful decryption does not imply key integrity, call validate() to confirm that. SecretKeyPacket.isDecrypted should be false, as otherwise calls to this function will throw an error.
Parameters:
Name | Type | Description |
---|---|---|
passphrase |
String | The passphrase for this private key as string |
- Source:
Throws:
-
if the key is already decrypted, or if decryption was not successful
- Type
- Error
(async) encrypt(passphrase, configopt)
Encrypt the payload. By default, we use aes256 and iterated, salted string to key specifier. If the key is in a decrypted state (isEncrypted === false) and the passphrase is empty or undefined, the key will be set as not encrypted. This can be used to remove passphrase protection after calling decrypt().
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
passphrase |
String | ||
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Throws:
-
if encryption was not successful
- Type
- Error
getAlgorithmInfo() → {Object}
Returns algorithm information
- Overrides:
- Source:
Returns:
An object of the form {algorithm: String, bits:int, curve:String}.
- Type
- Object
getCreationTime() → {Date}
Returns the creation time of the key
- Overrides:
- Source:
Returns:
- Type
- Date
getFingerprint() → {String}
Calculates and returns the fingerprint of the key, as a string
- Overrides:
- Source:
Returns:
A string containing the fingerprint in lowercase hex
- Type
- String
getFingerprintBytes() → {Uint8Array}
Returns the fingerprint of the key, as an array of bytes
- Overrides:
- Source:
Returns:
A Uint8Array containing the fingerprint
- Type
- Uint8Array
getKeyID() → {module:type/keyid~KeyID}
Return the key ID of the key
- Overrides:
- Source:
Returns:
The 8-byte key ID
hasSameFingerprintAs() → {Boolean}
Calculates whether two keys have the same fingerprint without actually calculating the fingerprint
- Overrides:
- Source:
Returns:
Whether the two keys have the same version and public key data.
- Type
- Boolean
isDecrypted() → {Boolean|null}
Check whether secret-key data is available in decrypted form. Returns false for gnu-dummy keys and null for public keys.
- Overrides:
- Source:
Returns:
- Type
- Boolean | null
isDummy() → {Boolean}
Check whether this is a gnu-dummy key
- Source:
Returns:
- Type
- Boolean
isMissingSecretKeyMaterial()
Check whether the key includes secret key material. Some secret keys do not include it, and can thus only be used for public-key operations (encryption and verification). Such keys are:
- GNU-dummy keys, where the secret material has been stripped away
- encrypted keys with unsupported S2K or cipher
- Source:
makeDummy(configopt)
Remove private key material, converting the key to a dummy one. The resulting key cannot be used for signing/decrypting but can still verify signatures.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
(async) read(bytes)
Internal parser for private keys as specified in RFC4880bis-04 section 5.5.3
Parameters:
Name | Type | Description |
---|---|---|
bytes |
Uint8Array | Input string to read the packet from |
- Overrides:
- Source:
(async) validate()
Checks that the key parameters are consistent
- Source:
Throws:
-
if validation was not successful
- Type
- Error
write() → {Uint8Array}
Creates an OpenPGP key packet for the given key.
- Overrides:
- Source:
Returns:
A string of bytes containing the secret key OpenPGP packet.
- Type
- Uint8Array
writeForHash(version)
Write packet in order to be hashed; either for a signature or a fingerprint
Parameters:
Name | Type | Description |
---|---|---|
version |
Integer | target version of signature or key |
- Overrides:
- Source: