cryptlib  3.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros
Classes | Macros | Typedefs | Enumerations | Functions | Variables
envelope.h File Reference
#include "io/stream.h"

Go to the source code of this file.

Classes

struct  AI
 
struct  CONTENT_SIG_INFO
 
struct  CONTENT_ENCR_INFO
 
struct  CONTENT_AUTHENC_INFO
 
struct  CL
 
struct  EI
 

Macros

#define ACTION_NEEDSCONTROLLER   0x01 /* Whether action reqs.controller */
 
#define ACTION_ADDEDAUTOMATICALLY   0x02 /* Whether action added automat.*/
 
#define CONTENTLIST_PROCESSED   0x01 /* Whether object has been processed */
 
#define CONTENTLIST_EXTERNALKEY   0x02 /* Whether key was added externally */
 
#define clEncrInfo   contentInfo.contentEncrInfo
 
#define clSigInfo   contentInfo.contentSigInfo
 
#define clAuthEncInfo   contentInfo.contentAuthEncInfo
 
#define ENVELOPE_ISDEENVELOPE   0x0001 /* De-enveloping envelope */
 
#define ENVELOPE_DETACHED_SIG   0x0002 /* Generate detached signature */
 
#define ENVELOPE_NOSIGNINGCERTS   0x0004 /* Don't include signing certs */
 
#define ENVELOPE_ATTRONLY   0x0008 /* Env.contains only auth'd attrs.*/
 
#define ENVELOPE_ZSTREAMINITED   0x0010 /* Whether zlib stream has been inited */
 
#define ENVELOPE_AUTHENC   0x0020 /* Use authenticated encryption */
 
#define ENVDATA_HASINDEFTRAILER   0x0001 /* Whether trailer size is indefinite */
 
#define ENVDATA_HASHACTIONSACTIVE   0x0002 /* Payload hashing is active */
 
#define ENVDATA_AUTHENCACTIONSACTIVE   0x0004 /* Payload ciphertext hashing active */
 
#define ENVDATA_NOLENGTHINFO   0x0008 /* No length info for payload avail.*/
 
#define ENVDATA_NOSEGMENT   0x0010 /* Don't segment payload data */
 
#define ENVDATA_SEGMENTCOMPLETE   0x0020 /* Current segment has been completed */
 
#define ENVDATA_ENDOFCONTENTS   0x0040 /* EOC reached */
 
#define ENVDATA_NEEDSPADDING   0x0080 /* Whether to add PKCS #5 padding */
 
#define ENVDATA_HASATTACHEDOOB   0x0100 /* Whether data has attached OOB extra */
 
#define ENVCOPY_FLAG_NONE   0x00 /* No special action */
 
#define ENVCOPY_FLAG_OOBDATA   0x01 /* Data is OOB rather than payload data */
 
#define OOB_BUFFER_SIZE   8
 
#define initCMSEnveloping(envelopeInfoPtr)
 
#define initCMSDeenveloping(envelopeInfoPtr)
 
#define initPGPEnveloping(envelopeInfoPtr)
 
#define initPGPDeenveloping(envelopeInfoPtr)
 

Typedefs

typedef struct AI ACTION_LIST
 
typedef struct CL CONTENT_LIST
 
typedef struct EI ENVELOPE_INFO
 
typedef CHECK_RETVAL_FNPTR STDC_NONNULL_ARG ((1)) int(*CHECKACTIONFUNCTION)(const ACTION_LIST *actionListPtr
 
typedef CHECK_RETVAL_FNPTR
IN_INT_Z const int 
intParam
 

Enumerations

enum  ACTION_TYPE {
  ACTION_NONE, ACTION_KEYEXCHANGE_PKC, ACTION_KEYEXCHANGE, ACTION_xxx,
  ACTION_CRYPT, ACTION_MAC, ACTION_COMPRESS, ACTION_HASH,
  ACTION_SIGN, ACTION_LAST
}
 
enum  ACTION_RESULT {
  ACTION_RESULT_OK, ACTION_RESULT_EMPTY, ACTION_RESULT_INITED, ACTION_RESULT_PRESENT,
  ACTION_RESULT_ERROR, ACTION_RESULT_LAST
}
 
enum  CONTENT_TYPE {
  CONTENT_NONE, CONTENT_CRYPT, CONTENT_AUTHENC, CONTENT_SIGNATURE,
  CONTENT_LAST
}
 
enum  ENVELOPE_STATE {
  STATE_PREDATA, STATE_DATA, STATE_POSTDATA, STATE_EXTRADATA,
  STATE_FINISHED, STATE_LAST
}
 
enum  ENV_STATE {
  ENVSTATE_NONE, ENVSTATE_HEADER, ENVSTATE_KEYINFO, ENVSTATE_ENCRINFO,
  ENVSTATE_DATA, ENVSTATE_FLUSHED, ENVSTATE_SIGNATURE, ENVSTATE_DONE,
  ENVSTATE_LAST
}
 
enum  DEENV_STATE {
  DEENVSTATE_NONE, DEENVSTATE_SET_ENCR, DEENVSTATE_ENCR, DEENVSTATE_ENCRCONTENT,
  DEENVSTATE_SET_HASH, DEENVSTATE_HASH, DEENVSTATE_CONTENT, DEENVSTATE_DATA,
  DEENVSTATE_CERTSET, DEENVSTATE_SET_SIG, DEENVSTATE_SIG, DEENVSTATE_EOC,
  DEENVSTATE_DONE, DEENVSTATE_LAST
}
 
enum  PGP_DEENV_STATE {
  PGP_DEENVSTATE_NONE, PGP_DEENVSTATE_ENCR, PGP_DEENVSTATE_ENCR_MDC, PGP_DEENVSTATE_DATA,
  PGP_DEENVSTATE_DATA_HEADER, PGP_DEENVSTATE_DONE, PGP_DEENVSTATE_LAST
}
 

Functions

CHECK_RETVAL STDC_NONNULL_ARG ((1, 2)) int getEnvelopeAttribute(INOUT ENVELOPE_INFO *envelopeInfoPtr
 
CHECK_RETVAL STDC_NONNULL_ARG ((1)) int setEnvelopeAttribute(INOUT ENVELOPE_INFO *envelopeInfoPtr
 
CHECK_RETVAL IN_BUFFER (dataLength) const void *data
 
CHECK_RETVAL_BOOL BOOLEAN moreActionsPossible (IN_OPT const ACTION_LIST *actionListPtr)
 
CHECK_RETVAL INOUT MEMPOOL_STATE IN_ENUM (ACTION) const ACTION_TYPE actionType
 
CHECK_RETVAL STDC_NONNULL_ARG ((1, 2, 3)) int addActionEx(OUT_OPT_PTR_OPT ACTION_LIST **newActionPtrPtr
 
 CHECK_RETVAL_ENUM (ACTION) ACTION_RESULT checkAction(IN_OPT const ACTION_LIST *actionListStart
 
CHECK_RETVAL_PTR ACTION_LISTfindAction (IN_OPT const ACTION_LIST *actionListPtr, IN_ENUM(ACTION) const ACTION_TYPE actionType)
 
CHECK_RETVAL_BOOL BOOLEAN moreContentItemsPossible (IN_OPT const CONTENT_LIST *contentListPtr)
 
CHECK_RETVAL INOUT MEMPOOL_STATE IN_ENUM (CONTENT) const CONTENT_TYPE type
 
CHECK_RETVAL INOUT MEMPOOL_STATE IN_ENUM (CRYPT_FORMAT) const CRYPT_FORMAT_TYPE formatType
 
CHECK_RETVAL INOUT MEMPOOL_STATE IN_BUFFER_OPT (objectSize) const void *object
 
CHECK_RETVAL IN_RANGE (CRYPT_ENVINFO_KEYSET_ENCRYPT, CRYPT_ENVINFO_KEYSET_SIGCHECK) const CRYPT_ATTRIBUTE_TYPE keysetFunction
 
CHECK_RETVAL_BOOL BOOLEAN cmsCheckAlgo (IN_ALGO const CRYPT_ALGO_TYPE cryptAlgo, IN_MODE_OPT const CRYPT_MODE_TYPE cryptMode)
 
CHECK_RETVAL_BOOL BOOLEAN pgpCheckAlgo (IN_ALGO const CRYPT_ALGO_TYPE cryptAlgo, IN_MODE_OPT const CRYPT_MODE_TYPE cryptMode)
 
CHECK_RETVAL IN_HANDLE const
CRYPT_CONTEXT IN_ALGO_OPT
const CRYPT_ALGO_TYPE
IN_MODE_OPT const
CRYPT_MODE_TYPE 
IN_BUFFER_OPT (ivLength) const BYTE *iv
 
CHECK_RETVAL STDC_NONNULL_ARG ((1, 4)) int cmsInitSigParams(const ACTION_LIST *actionListPtr
 

Variables

CHECK_RETVAL OUT_INT_Z int * valuePtr
 
CHECK_RETVAL OUT_INT_Z int
IN_ATTRIBUTE const
CRYPT_ATTRIBUTE_TYPE 
attribute
 
CHECK_RETVAL INOUT MESSAGE_DATAmsgData
 
CHECK_RETVAL IN_INT_Z const int value
 
CHECK_RETVAL IN_LENGTH const int dataLength
 
CHECK_RETVAL INOUT MEMPOOL_STATE memPoolState
 
CHECK_RETVAL INOUT
MEMPOOL_STATE IN_HANDLE const
CRYPT_HANDLE 
cryptHandle
 
CHECK_RETVAL OUT_PTR ACTION_LIST ** actionListHeadPtrPtr
 
CHECK_RETVAL IN CHECKACTIONFUNCTION checkActionFunction
 
INOUT ACTION_LISTactionListPtr
 
CHECK_RETVAL INOUT
MEMPOOL_STATE IN_LENGTH_Z
const int 
objectSize
 
CHECK_RETVAL INOUT CONTENT_LISTcontentListItem
 
INOUT_PTR CONTENT_LIST ** contentListHeadPtrPtr
 
CHECK_RETVAL IN_HANDLE const
CRYPT_KEYSET 
keyset
 
CHECK_RETVAL IN_HANDLE const
CRYPT_CONTEXT 
cryptContext
 
CHECK_RETVAL IN_HANDLE const
CRYPT_CONTEXT IN_ALGO_OPT
const CRYPT_ALGO_TYPE 
algorithm
 
CHECK_RETVAL IN_HANDLE const
CRYPT_CONTEXT IN_ALGO_OPT
const CRYPT_ALGO_TYPE
IN_MODE_OPT const
CRYPT_MODE_TYPE 
mode
 
CHECK_RETVAL IN_HANDLE const
CRYPT_CONTEXT IN_ALGO_OPT
const CRYPT_ALGO_TYPE
IN_MODE_OPT const
CRYPT_MODE_TYPE IN_LENGTH_IV_Z
const int 
ivLength
 
CHECK_RETVAL IN_HANDLE const
CRYPT_CONTEXT IN_ALGO_OPT
const CRYPT_ALGO_TYPE
IN_MODE_OPT const
CRYPT_MODE_TYPE IN_LENGTH_IV_Z
const int const BOOLEAN 
copyContext
 
CHECK_RETVAL IN_HANDLE const
CRYPT_USER 
iCryptOwner
 
CHECK_RETVAL IN_HANDLE const
CRYPT_USER OUT SIGPARAMS
sigParams
 

Macro Definition Documentation

#define ACTION_ADDEDAUTOMATICALLY   0x02 /* Whether action added automat.*/

Definition at line 93 of file envelope.h.

#define ACTION_NEEDSCONTROLLER   0x01 /* Whether action reqs.controller */

Definition at line 92 of file envelope.h.

#define clAuthEncInfo   contentInfo.contentAuthEncInfo

Definition at line 165 of file envelope.h.

#define clEncrInfo   contentInfo.contentEncrInfo

Definition at line 163 of file envelope.h.

#define clSigInfo   contentInfo.contentSigInfo

Definition at line 164 of file envelope.h.

#define CONTENTLIST_EXTERNALKEY   0x02 /* Whether key was added externally */

Definition at line 157 of file envelope.h.

#define CONTENTLIST_PROCESSED   0x01 /* Whether object has been processed */

Definition at line 156 of file envelope.h.

#define ENVCOPY_FLAG_NONE   0x00 /* No special action */

Definition at line 476 of file envelope.h.

#define ENVCOPY_FLAG_OOBDATA   0x01 /* Data is OOB rather than payload data */

Definition at line 477 of file envelope.h.

#define ENVDATA_AUTHENCACTIONSACTIVE   0x0004 /* Payload ciphertext hashing active */

Definition at line 461 of file envelope.h.

#define ENVDATA_ENDOFCONTENTS   0x0040 /* EOC reached */

Definition at line 465 of file envelope.h.

#define ENVDATA_HASATTACHEDOOB   0x0100 /* Whether data has attached OOB extra */

Definition at line 467 of file envelope.h.

#define ENVDATA_HASHACTIONSACTIVE   0x0002 /* Payload hashing is active */

Definition at line 460 of file envelope.h.

#define ENVDATA_HASINDEFTRAILER   0x0001 /* Whether trailer size is indefinite */

Definition at line 459 of file envelope.h.

#define ENVDATA_NEEDSPADDING   0x0080 /* Whether to add PKCS #5 padding */

Definition at line 466 of file envelope.h.

#define ENVDATA_NOLENGTHINFO   0x0008 /* No length info for payload avail.*/

Definition at line 462 of file envelope.h.

#define ENVDATA_NOSEGMENT   0x0010 /* Don't segment payload data */

Definition at line 463 of file envelope.h.

#define ENVDATA_SEGMENTCOMPLETE   0x0020 /* Current segment has been completed */

Definition at line 464 of file envelope.h.

#define ENVELOPE_ATTRONLY   0x0008 /* Env.contains only auth'd attrs.*/

Definition at line 415 of file envelope.h.

#define ENVELOPE_AUTHENC   0x0020 /* Use authenticated encryption */

Definition at line 417 of file envelope.h.

#define ENVELOPE_DETACHED_SIG   0x0002 /* Generate detached signature */

Definition at line 413 of file envelope.h.

#define ENVELOPE_ISDEENVELOPE   0x0001 /* De-enveloping envelope */

Definition at line 412 of file envelope.h.

#define ENVELOPE_NOSIGNINGCERTS   0x0004 /* Don't include signing certs */

Definition at line 414 of file envelope.h.

#define ENVELOPE_ZSTREAMINITED   0x0010 /* Whether zlib stream has been inited */

Definition at line 416 of file envelope.h.

#define initCMSDeenveloping (   envelopeInfoPtr)

Definition at line 889 of file envelope.h.

#define initCMSEnveloping (   envelopeInfoPtr)

Definition at line 888 of file envelope.h.

#define initPGPDeenveloping (   envelopeInfoPtr)

Definition at line 898 of file envelope.h.

#define initPGPEnveloping (   envelopeInfoPtr)

Definition at line 897 of file envelope.h.

#define OOB_BUFFER_SIZE   8

Definition at line 482 of file envelope.h.

Typedef Documentation

typedef struct AI ACTION_LIST
typedef struct CL CONTENT_LIST
typedef struct EI ENVELOPE_INFO
CHECK_RETVAL_PTR IN CHECKACTIONFUNCTION IN_INT_Z const int intParam

Definition at line 777 of file envelope.h.

typedef CHECK_RETVAL_FNPTR STDC_NONNULL_ARG((1)) int(*CHECKACTIONFUNCTION)(const ACTION_LIST *actionListPtr

Definition at line 775 of file envelope.h.

Enumeration Type Documentation

Enumerator:
ACTION_RESULT_OK 
ACTION_RESULT_EMPTY 
ACTION_RESULT_INITED 
ACTION_RESULT_PRESENT 
ACTION_RESULT_ERROR 
ACTION_RESULT_LAST 

Definition at line 126 of file envelope.h.

Enumerator:
ACTION_NONE 
ACTION_KEYEXCHANGE_PKC 
ACTION_KEYEXCHANGE 
ACTION_xxx 
ACTION_CRYPT 
ACTION_MAC 
ACTION_COMPRESS 
ACTION_HASH 
ACTION_SIGN 
ACTION_LAST 

Definition at line 44 of file envelope.h.

Enumerator:
CONTENT_NONE 
CONTENT_CRYPT 
CONTENT_AUTHENC 
CONTENT_SIGNATURE 
CONTENT_LAST 

Definition at line 137 of file envelope.h.

Enumerator:
DEENVSTATE_NONE 
DEENVSTATE_SET_ENCR 
DEENVSTATE_ENCR 
DEENVSTATE_ENCRCONTENT 
DEENVSTATE_SET_HASH 
DEENVSTATE_HASH 
DEENVSTATE_CONTENT 
DEENVSTATE_DATA 
DEENVSTATE_CERTSET 
DEENVSTATE_SET_SIG 
DEENVSTATE_SIG 
DEENVSTATE_EOC 
DEENVSTATE_DONE 
DEENVSTATE_LAST 

Definition at line 335 of file envelope.h.

enum ENV_STATE
Enumerator:
ENVSTATE_NONE 
ENVSTATE_HEADER 
ENVSTATE_KEYINFO 
ENVSTATE_ENCRINFO 
ENVSTATE_DATA 
ENVSTATE_FLUSHED 
ENVSTATE_SIGNATURE 
ENVSTATE_DONE 
ENVSTATE_LAST 

Definition at line 295 of file envelope.h.

Enumerator:
STATE_PREDATA 
STATE_DATA 
STATE_POSTDATA 
STATE_EXTRADATA 
STATE_FINISHED 
STATE_LAST 

Definition at line 271 of file envelope.h.

Enumerator:
PGP_DEENVSTATE_NONE 
PGP_DEENVSTATE_ENCR 
PGP_DEENVSTATE_ENCR_MDC 
PGP_DEENVSTATE_DATA 
PGP_DEENVSTATE_DATA_HEADER 
PGP_DEENVSTATE_DONE 
PGP_DEENVSTATE_LAST 

Definition at line 378 of file envelope.h.

Function Documentation

CHECK_RETVAL_ENUM ( ACTION  ) const
CHECK_RETVAL_PTR ACTION_LIST* findAction ( IN_OPT const ACTION_LIST actionListPtr,
IN_ENUM(ACTION) const ACTION_TYPE  actionType 
)
CHECK_RETVAL IN_BUFFER ( dataLength  ) const
CHECK_RETVAL INOUT MEMPOOL_STATE IN_BUFFER_OPT ( objectSize  ) const
CHECK_RETVAL INOUT MEMPOOL_STATE IN_ENUM ( ACTION  ) const
CHECK_RETVAL INOUT MEMPOOL_STATE IN_ENUM ( CONTENT  ) const
CHECK_RETVAL INOUT MEMPOOL_STATE IN_ENUM ( CRYPT_FORMAT  ) const
CHECK_RETVAL_BOOL BOOLEAN moreActionsPossible ( IN_OPT const ACTION_LIST actionListPtr)
CHECK_RETVAL_BOOL BOOLEAN moreContentItemsPossible ( IN_OPT const CONTENT_LIST contentListPtr)
CHECK_RETVAL STDC_NONNULL_ARG ( (1, 2)  )
CHECK_RETVAL STDC_NONNULL_ARG ( (1)  )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Definition at line 26 of file ctx_attr.c.

CHECK_RETVAL STDC_NONNULL_ARG ( (1, 2, 3)  )
CHECK_RETVAL STDC_NONNULL_ARG ( (1, 4)  ) const

Variable Documentation

CHECK_RETVAL OUT_PTR ACTION_LIST** actionListHeadPtrPtr

Definition at line 788 of file envelope.h.

INOUT ACTION_LIST* actionListPtr

Definition at line 813 of file envelope.h.

Definition at line 857 of file envelope.h.

Definition at line 756 of file envelope.h.

CHECK_RETVAL_PTR IN CHECKACTIONFUNCTION checkActionFunction

Definition at line 798 of file envelope.h.

INOUT_PTR CONTENT_LIST** contentListHeadPtrPtr

Definition at line 836 of file envelope.h.

CHECK_RETVAL INOUT CONTENT_LIST* contentListItem

Definition at line 833 of file envelope.h.

Definition at line 861 of file envelope.h.

Definition at line 857 of file envelope.h.

Definition at line 785 of file envelope.h.

CHECK_RETVAL IN_LENGTH const int dataLength

Definition at line 769 of file envelope.h.

Definition at line 877 of file envelope.h.

Definition at line 861 of file envelope.h.

Definition at line 845 of file envelope.h.

Definition at line 783 of file envelope.h.

Definition at line 857 of file envelope.h.

Definition at line 760 of file envelope.h.

Definition at line 830 of file envelope.h.

Definition at line 877 of file envelope.h.

Definition at line 764 of file envelope.h.

CHECK_RETVAL OUT_INT_Z int* valuePtr

Definition at line 756 of file envelope.h.