Teaching an old dog new tricks
No Matches
smime.h File Reference

SMIME helper routines. More...

#include "config.h"
#include <stdbool.h>
#include <stdio.h>
#include "lib.h"
+ Include dependency graph for smime.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SmimeKey
 An SIME key. More...


void smime_init (void)
 Initialise smime globals.
void smime_cleanup (void)
 Clean up smime globals.
int smime_class_application_handler (struct Body *m, struct State *s)
 Implements CryptModuleSpecs::application_handler() -.
struct Bodysmime_class_build_smime_entity (struct Body *a, char *certlist)
 Implements CryptModuleSpecs::smime_build_smime_entity() -.
int smime_class_decrypt_mime (FILE *fp_in, FILE **fp_out, struct Body *b, struct Body **cur)
 Implements CryptModuleSpecs::decrypt_mime() -.
char * smime_class_find_keys (const struct AddressList *addrlist, bool oppenc_mode)
 Implements CryptModuleSpecs::find_keys() -.
void smime_class_getkeys (struct Envelope *env)
 Implements CryptModuleSpecs::smime_getkeys() -.
void smime_class_invoke_import (const char *infile, const char *mailbox)
 Implements CryptModuleSpecs::smime_invoke_import() -.
SecurityFlags smime_class_send_menu (struct Email *e)
 Implements CryptModuleSpecs::send_menu() -.
struct Bodysmime_class_sign_message (struct Body *a, const struct AddressList *from)
 Implements CryptModuleSpecs::sign_message() -.
bool smime_class_valid_passphrase (void)
 Implements CryptModuleSpecs::valid_passphrase() -.
int smime_class_verify_one (struct Body *sigbdy, struct State *s, const char *tempfile)
 Implements CryptModuleSpecs::verify_one() -.
int smime_class_verify_sender (struct Email *e, struct Message *msg)
 Implements CryptModuleSpecs::smime_verify_sender() -.
void smime_class_void_passphrase (void)
 Implements CryptModuleSpecs::void_passphrase() -.

Detailed Description

SMIME helper routines.

  • Oliver Ehli
  • g10 Code GmbH
  • Pietro Cerutti

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

Definition in file smime.h.

Function Documentation

◆ smime_init()

void smime_init ( void  )

Initialise smime globals.

Definition at line 95 of file smime.c.

void buf_alloc(struct Buffer *buf, size_t new_size)
Make sure a buffer can store at least new_size bytes.
Definition: buffer.c:349
static struct Buffer SmimeIntermediateToUse
Smime intermediate certificate to use.
Definition: smime.c:90
static struct Buffer SmimeKeyToUse
Smime key to use.
Definition: smime.c:86
static struct Buffer SmimeCertToUse
Smime certificate to use.
Definition: smime.c:88
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ smime_cleanup()

void smime_cleanup ( void  )

Clean up smime globals.

Definition at line 105 of file smime.c.

void buf_dealloc(struct Buffer *buf)
Release the memory allocated by a buffer.
Definition: buffer.c:389
+ Here is the call graph for this function:
+ Here is the caller graph for this function: