24#ifndef MUTT_NCRYPT_SMIME_H
25#define MUTT_NCRYPT_SMIME_H
#define ARRAY_HEAD(name, type)
Define a named struct for arrays of elements of a certain type.
int smime_class_application_handler(struct Body *b, struct State *s)
Manage the MIME type "application/pgp" or "application/smime" - Implements CryptModuleSpecs::applicat...
int smime_class_decrypt_mime(FILE *fp_in, FILE **fp_out, struct Body *b, struct Body **b_dec)
Decrypt an encrypted MIME part - Implements CryptModuleSpecs::decrypt_mime() -.
char * smime_class_find_keys(const struct AddressList *addrlist, bool oppenc_mode)
Find the keyids of the recipients of a message - Implements CryptModuleSpecs::find_keys() -.
struct Body * smime_class_sign_message(struct Body *b, const struct AddressList *from)
Cryptographically sign the Body of a message - Implements CryptModuleSpecs::sign_message() -.
struct Body * smime_class_build_smime_entity(struct Body *b, char *certlist)
Encrypt the email body to all recipients - Implements CryptModuleSpecs::smime_build_smime_entity() -.
void smime_class_getkeys(struct Envelope *env)
Get the S/MIME keys required to encrypt this email - Implements CryptModuleSpecs::smime_getkeys() -.
void smime_class_invoke_import(const char *infile, const char *mailbox)
Add a certificate and update index file (externally) - Implements CryptModuleSpecs::smime_invoke_impo...
int smime_class_verify_sender(struct Email *e, struct Message *msg)
Does the sender match the certificate? - Implements CryptModuleSpecs::smime_verify_sender() -.
bool smime_class_valid_passphrase(void)
Ensure we have a valid passphrase - Implements CryptModuleSpecs::valid_passphrase() -.
int smime_class_verify_one(struct Body *b, struct State *s, const char *tempfile)
Check a signed MIME part against a signature - Implements CryptModuleSpecs::verify_one() -.
void smime_class_void_passphrase(void)
Forget the cached passphrase - Implements CryptModuleSpecs::void_passphrase() -.
Convenience wrapper for the library headers.
uint16_t SecurityFlags
Flags, e.g. SEC_ENCRYPT.
uint16_t KeyFlags
Flags describing PGP/SMIME keys, e.g. KEYFLAG_CANSIGN.
ExpandoDataSmimeCmd
Expando UIDs for Smime Commands.
@ ED_SMI_MESSAGE_FILE
SmimeCommandContext.fname.
@ ED_SMI_ALGORITHM
SmimeCommandContext.cryptalg.
@ ED_SMI_SIGNATURE_FILE
SmimeCommandContext.sig_fname.
@ ED_SMI_DIGEST_ALGORITHM
SmimeCommandContext.digestalg.
@ ED_SMI_CERTIFICATE_IDS
SmimeCommandContext.certificates.
@ ED_SMI_KEY
SmimeCommandContext.key.
@ ED_SMI_INTERMEDIATE_IDS
SmimeCommandContext.intermediates.
void smime_init(void)
Initialise smime globals.
void smime_cleanup(void)
Clean up smime globals.
The envelope/body of an email.
A local copy of an email.
const char * intermediates
i
const char * certificates
c
char trust
i=Invalid r=revoked e=expired u=unverified v=verified t=trusted
Keep track when processing files.