Click or drag to resize
MimeKit

MultipartEncryptedSignAndEncryptAsync(PgpSecretKey, DigestAlgorithm, EncryptionAlgorithm, IEnumerablePgpPublicKey, MimeEntity, CancellationToken) Method

Asynchronously create a multipart/encrypted MIME part by signing and encrypting the specified entity.

Namespace: MimeKit.Cryptography
Assembly: MimeKit (in MimeKit.dll) Version: 4.3.0
Syntax
C#
public static Task<MultipartEncrypted> SignAndEncryptAsync(
	PgpSecretKey signer,
	DigestAlgorithm digestAlgo,
	EncryptionAlgorithm cipherAlgo,
	IEnumerable<PgpPublicKey> recipients,
	MimeEntity entity,
	CancellationToken cancellationToken = default
)

Parameters

signer  PgpSecretKey
The signer to use to sign the entity.
digestAlgo  DigestAlgorithm
The digest algorithm to use for signing.
cipherAlgo  EncryptionAlgorithm
The encryption algorithm.
recipients  IEnumerablePgpPublicKey
The recipients for the encrypted entity.
entity  MimeEntity
The entity to sign and encrypt.
cancellationToken  CancellationToken  (Optional)
The cancellation token.

Return Value

TaskMultipartEncrypted
A new MultipartEncrypted instance containing the signed and encrypted version of the specified entity.
Exceptions
ExceptionCondition
ArgumentNullException

signer is null.

-or-

recipients is null.

-or-

entity is null.

ArgumentException

signer cannot be used for signing.

-or-

One or more of the recipient keys cannot be used for encrypting.

-or-

No recipients were specified.

ArgumentOutOfRangeException The digestAlgo was out of range.
NotSupportedException

A default OpenPgpContext has not been registered.

-or-

The digestAlgo is not supported.

-or-

The cipherAlgo is not supported.

ObjectDisposedExceptionentity has been disposed.
OperationCanceledException

The user chose to cancel the password prompt.

-or-

The operation was canceled via the cancellation token.

UnauthorizedAccessException 3 bad attempts were made to unlock the secret key.
Remarks
Signs the entity using the supplied signer and digest algorithm and then encrypts to the specified recipients, encapsulating the result in a new multipart/encrypted part.
See Also