Constructor
new Message(packetlist)
Parameters:
Name | Type | Description |
---|---|---|
packetlist |
PacketList | The packets that form this message |
- Source:
Classes
Methods
(async, static) encryptSessionKey(sessionKey, algorithm, aeadAlgorithmopt, publicKeysopt, passwordsopt, wildcardopt, encryptionKeyIdsopt, dateopt, userIdsopt, configopt) → {Message}
Encrypt a session key either with public keys, passwords, or both at once.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
sessionKey |
Uint8Array | session key for encryption |
||
algorithm |
String | session key algorithm |
||
aeadAlgorithm |
String |
<optional> |
Aead algorithm, e.g. 'eax' or 'ocb' |
|
publicKeys |
Array.<Key> |
<optional> |
Public key(s) for message encryption |
|
passwords |
Array.<String> |
<optional> |
For message encryption |
|
wildcard |
Boolean |
<optional> |
false | Use a key ID of 0 instead of the public key IDs |
encryptionKeyIds |
Array.<module:type/keyid~Keyid> |
<optional> |
Array of key IDs to use for encryption. Each encryptionKeyIds[i] corresponds to publicKeys[i] |
|
date |
Date |
<optional> |
Override the date |
|
userIds |
Array |
<optional> |
User IDs to encrypt for, e.g. [{ name:'Robert Receiver', email:'robert@openpgp.org' }] |
|
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
New message with encrypted content.
- Type
- Message
(static) fromBinary(bytes, filenameopt, dateopt, typeopt) → {Message}
Creates new message object from binary data.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
bytes |
Uint8Array | ReadableStream.<Uint8Array> | The message contents |
||
filename |
String |
<optional> |
"" | Name of the file (if any) |
date |
Date |
<optional> |
current date | Date of the message, or modification date of the file |
type |
'utf8' | 'binary' | 'text' | 'mime' |
<optional> |
'binary' | Data packet type |
- Source:
Returns:
New message object.
- Type
- Message
(static) fromText(text, filenameopt, dateopt, typeopt) → {Message}
Creates new message object from text.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
text |
String | ReadableStream.<String> | The message contents |
||
filename |
String |
<optional> |
"" | Name of the file (if any) |
date |
Date |
<optional> |
current date | Date of the message, or modification date of the file |
type |
'utf8' | 'binary' | 'text' | 'mime' |
<optional> |
'utf8' | Data packet type |
- Source:
Returns:
New message object.
- Type
- Message
(async, static) generateSessionKey(keysopt, dateopt, userIdsopt, configopt) → {Object}
Generate a new session key object, taking the algorithm preferences of the passed public keys into account, if any.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
keys |
Array.<Key> |
<optional> |
Public key(s) to select algorithm preferences for |
date |
Date |
<optional> |
Date to select algorithm preferences at |
userIds |
Array.<Object> |
<optional> |
User IDs to select algorithm preferences for |
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
Object with session key data and algorithm.
- Type
- Object
(async) appendSignature(detachedSignature)
Append signature to unencrypted message object
Parameters:
Name | Type | Description |
---|---|---|
detachedSignature |
String | Uint8Array | The detached ASCII-armored or Uint8Array PGP signature |
- Source:
armor(configopt) → {ReadableStream.<String>}
Returns ASCII armored text of message
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
ASCII armor.
- Type
- ReadableStream.<String>
compress(configopt) → {Message}
Compresses the message (the literal and -if signed- signature data packets of the message)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
New message with compressed content.
- Type
- Message
(async) decrypt(privateKeysopt, passwordsopt, sessionKeysopt, streamingopt, configopt) → {Message}
Decrypt the message. Either a private key, a session key, or a password must be specified.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
privateKeys |
Array.<Key> |
<optional> |
Private keys with decrypted secret data |
passwords |
Array.<String> |
<optional> |
Passwords used to decrypt |
sessionKeys |
Array.<Object> |
<optional> |
Session keys in the form: { data:Uint8Array, algorithm:String, [aeadAlgorithm:String] } |
streaming |
Boolean |
<optional> |
Whether to process data as a stream |
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
New message with decrypted content.
- Type
- Message
(async) decryptSessionKeys(privateKeysopt, passwordsopt, configopt) → {Promise.<Array.<{data: Uint8Array, algorithm: String}>>}
Decrypt encrypted session keys either with private keys or passwords.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
privateKeys |
Array.<Key> |
<optional> |
Private keys with decrypted secret data |
passwords |
Array.<String> |
<optional> |
Passwords used to decrypt |
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
array of object with potential sessionKey, algorithm pairs
- Type
- Promise.<Array.<{data: Uint8Array, algorithm: String}>>
(async) encrypt(keysopt, passwordsopt, sessionKeyopt, wildcardopt, encryptionKeyIdsopt, dateopt, userIdsopt, streamingopt, configopt) → {Message}
Encrypt the message either with public keys, passwords, or both at once.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
keys |
Array.<Key> |
<optional> |
Public key(s) for message encryption |
|
passwords |
Array.<String> |
<optional> |
Password(s) for message encryption |
|
sessionKey |
Object |
<optional> |
Session key in the form: { data:Uint8Array, algorithm:String, [aeadAlgorithm:String] } |
|
wildcard |
Boolean |
<optional> |
false | Use a key ID of 0 instead of the public key IDs |
encryptionKeyIds |
Array.<module:type/keyid~Keyid> |
<optional> |
Array of key IDs to use for encryption. Each encryptionKeyIds[i] corresponds to publicKeys[i] |
|
date |
Date |
<optional> |
Override the creation date of the literal package |
|
userIds |
Array.<Object> |
<optional> |
User IDs to encrypt for, e.g. [{ name:'Robert Receiver', email:'robert@openpgp.org' }] |
|
streaming |
Boolean |
<optional> |
Whether to process data as a stream |
|
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
New message with encrypted content.
- Type
- Message
getEncryptionKeyIds() → {Array.<module:type/keyid~Keyid>}
Returns the key IDs of the keys to which the session key is encrypted
- Source:
Returns:
Array of keyid objects.
- Type
- Array.<module:type/keyid~Keyid>
getFilename() → {String|null}
Get filename from literal data packet
- Source:
Returns:
Filename of literal data packet as string.
- Type
- String | null
getLiteralData() → {Uint8Array|null}
Get literal data that is the body of the message
- Source:
Returns:
Literal body of the message as Uint8Array.
- Type
- Uint8Array | null
getSigningKeyIds() → {Array.<module:type/keyid~Keyid>}
Returns the key IDs of the keys that signed the message
- Source:
Returns:
Array of keyid objects.
- Type
- Array.<module:type/keyid~Keyid>
getText() → {String|null}
Get literal data as text
- Source:
Returns:
Literal body of the message interpreted as text.
- Type
- String | null
(async) sign(privateKeys, signatureopt, signingKeyIdsopt, dateopt, userIdsopt, streamingopt, configopt) → {Message}
Sign the message (the literal data packet of the message)
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
privateKeys |
Array.<Key> | private keys with decrypted secret key data for signing |
||
signature |
Signature |
<optional> |
null | Any existing detached signature to add to the message |
signingKeyIds |
Array.<module:type/keyid~Keyid> |
<optional> |
Array of key IDs to use for signing. Each signingKeyIds[i] corresponds to privateKeys[i] |
|
date |
Date |
<optional> |
Override the creation time of the signature |
|
userIds |
Array |
<optional> |
User IDs to sign with, e.g. [{ name:'Steve Sender', email:'steve@openpgp.org' }] |
|
streaming |
Boolean |
<optional> |
false | Whether to process data as a stream |
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
New message with signed content.
- Type
- Message
(async) signDetached(privateKeys, signatureopt, signingKeyIdsopt, dateopt, userIdsopt, streamingopt, configopt) → {Signature}
Create a detached signature for the message (the literal data packet of the message)
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
privateKeys |
Array.<Key> | private keys with decrypted secret key data for signing |
||
signature |
Signature |
<optional> |
null | Any existing detached signature |
signingKeyIds |
Array.<module:type/keyid~Keyid> |
<optional> |
Array of key IDs to use for signing. Each signingKeyIds[i] corresponds to privateKeys[i] |
|
date |
Date |
<optional> |
Override the creation time of the signature |
|
userIds |
Array |
<optional> |
User IDs to sign with, e.g. [{ name:'Steve Sender', email:'steve@openpgp.org' }] |
|
streaming |
Boolean |
<optional> |
false | Whether to process data as a stream |
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
New detached signature of message content.
- Type
- Signature
unwrapCompressed() → {Message}
Unwrap compressed message
- Source:
Returns:
Message Content of compressed message.
- Type
- Message
(async) verify(keys, dateopt, streamingopt, configopt) → {Array.<({keyid: module:type/keyid~Keyid, valid: Boolean})>}
Verify message signatures
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
keys |
Array.<Key> | Array of keys to verify signatures |
|
date |
Date |
<optional> |
Verify the signature against the given date, i.e. check signature creation time < date < expiration time |
streaming |
Boolean |
<optional> |
Whether to process data as a stream |
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
List of signer's keyid and validity of signature.
- Type
- Array.<({keyid: module:type/keyid~Keyid, valid: Boolean})>
(async) verifyDetached(keys, signature, date, configopt) → {Array.<({keyid: module:type/keyid~Keyid, valid: Boolean})>}
Verify detached message signature
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
keys |
Array.<Key> | Array of keys to verify signatures |
|
signature |
Signature | ||
date |
Date | Verify the signature against the given date, i.e. check signature creation time < date < expiration time |
|
config |
Object |
<optional> |
Full configuration, defaults to openpgp.config |
- Source:
Returns:
List of signer's keyid and validity of signature.
- Type
- Array.<({keyid: module:type/keyid~Keyid, valid: Boolean})>
write() → {ReadableStream.<Uint8Array>}
Returns binary encoded message
- Source:
Returns:
Binary message.
- Type
- ReadableStream.<Uint8Array>