private string SignAndEncryptEmail(byte[] data, string key, IList<string> recipients) { try { if (!PromptForPasswordAndKey()) return null; var context = new CryptoContext(Passphrase); var crypto = new PgpCrypto(context); var headers = GetEncryptedMailHeaders(); return crypto.SignAndEncryptText(data, key, recipients, headers); } catch (Exception ex) { Passphrase = null; WriteErrorData("SignAndEncryptEmail", ex); ShowErrorBox(ex.Message); throw; } }