certmanager/lib

cryptplug.h File Reference
#include <stdlib.h>
#include <gpgmepp/context.h>
#include <gpgme.h>
#include <tdemacros.h>

Go to the source code of this file.

Classes

struct  CryptPlug::StructuringInfo
 

Macros

#define CRYPTPLUG_CERT_DOES_NEVER_EXPIRE   365000
 
#define CRYPTPLUG_ERR_WRONG_KEY_USAGE   0x7070
 

Typedefs

typedef unsigned long SigStatusFlags
 

Enumerations

enum  Feature {
  Feature_undef = 0 , Feature_SignMessages = 1 , Feature_VerifySignatures = 2 , Feature_EncryptMessages = 3 ,
  Feature_DecryptMessages = 4 , Feature_SendCertificates = 5 , Feature_WarnSignCertificateExpiry = 6 , Feature_WarnSignEmailNotInCertificate = 7 ,
  Feature_PinEntrySettings = 8 , Feature_StoreMessagesWithSigs = 9 , Feature_EncryptionCRLs = 10 , Feature_WarnEncryptCertificateExpiry = 11 ,
  Feature_WarnEncryptEmailNotInCertificate = 12 , Feature_StoreMessagesEncrypted = 13 , Feature_CheckCertificatePath = 14 , Feature_CertificateDirectoryService = 15 ,
  Feature_CRLDirectoryService = 16 , Feature_CertificateInfo = 17
}
 
enum  PinRequests {
  PinRequest_undef = 0 , PinRequest_Always = 1 , PinRequest_WhenAddingCerts = 2 , PinRequest_AlwaysWhenSigning = 3 ,
  PinRequest_OncePerSession = 4 , PinRequest_AfterMinutes = 5
}
 
enum  SignatureCompoundMode { SignatureCompoundMode_undef = 0 , SignatureCompoundMode_Opaque = 1 , SignatureCompoundMode_Detached = 2 }
 
enum  SendCertificates {
  SendCert_undef = 0 , SendCert_DontSend = 1 , SendCert_SendOwn = 2 , SendCert_SendChainWithoutRoot = 3 ,
  SendCert_SendChainWithRoot = 4
}
 
enum  SignatureAlgorithm { SignAlg_undef = 0 , SignAlg_SHA1 = 1 }
 
enum  EncryptionAlgorithm { EncryptAlg_undef = 0 , EncryptAlg_RSA = 1 , EncryptAlg_SHA1 = 2 , EncryptAlg_TripleDES = 3 }
 
enum  SignEmail { SignEmail_undef = 0 , SignEmail_SignAll = 1 , SignEmail_Ask = 2 , SignEmail_DontSign = 3 }
 
enum  EncryptEmail { EncryptEmail_undef = 0 , EncryptEmail_EncryptAll = 1 , EncryptEmail_Ask = 2 , EncryptEmail_DontEncrypt = 3 }
 
enum  CertificateSource { CertSrc_undef = 0 , CertSrc_Server = 1 , CertSrc_Local = 2 , CertSrc_ServerLocal = CertSrc_Server | CertSrc_Local }
 
enum  {
  SigStat_VALID = 0x0001 , SigStat_GREEN = 0x0002 , SigStat_RED = 0x0004 , SigStat_KEY_REVOKED = 0x0010 ,
  SigStat_KEY_EXPIRED = 0x0020 , SigStat_SIG_EXPIRED = 0x0040 , SigStat_KEY_MISSING = 0x0080 , SigStat_CRL_MISSING = 0x0100 ,
  SigStat_CRL_TOO_OLD = 0x0200 , SigStat_BAD_POLICY = 0x0400 , SigStat_SYS_ERROR = 0x0800 , SigStat_NUMERICAL_CODE = 0x8000
}
 

Detailed Description

Common API header for CRYPTPLUG.

CRYPTPLUG is an independent cryptography plug-in API developed for Sphinx-enabeling KMail and Mutt.

CRYPTPLUG was designed for the Aegypten project, but it may be used by 3rd party developers as well to design pluggable crypto backends for the above mentioned MUAs.

Note
All string parameters appearing in this API are to be interpreted as UTF-8 encoded.
See also
pgpplugin.c
gpgplugin.c

Definition in file cryptplug.h.