Windows2003-3790/inetcore/outlookexpress/inetcomm/ess/ess.h
2020-09-30 16:53:55 +02:00

332 lines
8.8 KiB
C

#ifndef _ESS_Module_H_
#define _ESS_Module_H_
#include "msber.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef ASN1objectidentifier2_t ObjectIdentifier;
typedef ObjectIdentifier ContentType;
typedef ASN1int32_t Version;
#define Version_v0 0
#define Version_v1 1
#define Version_v2 2
#define Version_v3 3
typedef ASN1intx_t HUGEINTEGER;
typedef HUGEINTEGER SerialNumber;
typedef SerialNumber CertificateSerialNumber;
typedef ASN1octetstring_t OCTETSTRING;
typedef ASN1open_t NOCOPYANY;
typedef OCTETSTRING SubjectKeyIdentifier;
typedef NOCOPYANY GeneralNames;
typedef ASN1octetstring_t ContentIdentifier;
typedef ASN1int32_t AllOrFirstTier;
#define AllOrFirstTier_allReceipts 0
#define AllOrFirstTier_firstTierRecipients 1
typedef ASN1octetstring_t MsgSigDigest;
typedef ObjectIdentifier SecurityPolicyIdentifier;
typedef ASN1uint16_t SecurityClassification;
#define SecurityClassification_unmarked 0
#define SecurityClassification_unclassified 1
#define SecurityClassification_restricted 2
#define SecurityClassification_confidential 3
#define SecurityClassification_secret 4
#define SecurityClassification_top_secret 5
typedef ASN1octetstring_t Hash;
typedef NOCOPYANY PolicyInformation;
typedef struct SigningCertificate_policies {
ASN1uint32_t count;
PolicyInformation *value;
} SigningCertificate_policies;
typedef struct SigningCertificate_certs {
ASN1uint32_t count;
struct ESSCertID *value;
} SigningCertificate_certs;
typedef struct MLReceiptPolicy_inAdditionTo {
ASN1uint32_t count;
GeneralNames *value;
} MLReceiptPolicy_inAdditionTo;
typedef struct MLReceiptPolicy_insteadOf {
ASN1uint32_t count;
GeneralNames *value;
} MLReceiptPolicy_insteadOf;
typedef struct ReceiptsFrom_receiptList {
ASN1uint32_t count;
GeneralNames *value;
} ReceiptsFrom_receiptList;
typedef struct ReceiptRequest_receiptsTo {
ASN1uint32_t count;
GeneralNames *value;
} ReceiptRequest_receiptsTo;
typedef struct IssuerAndSerialNumber {
NOCOPYANY issuer;
SerialNumber serialNumber;
} IssuerAndSerialNumber;
typedef struct ReceiptsFrom {
ASN1choice_t choice;
union {
# define allOrFirstTier_chosen 1
AllOrFirstTier allOrFirstTier;
# define receiptList_chosen 2
ReceiptsFrom_receiptList receiptList;
} u;
} ReceiptsFrom;
typedef struct Receipt {
Version version;
ContentType contentType;
ContentIdentifier signedContentIdentifier;
OCTETSTRING originatorSignatureValue;
} Receipt;
#define Receipt_PDU 0
#define SIZE_ESS_Module_PDU_0 sizeof(Receipt)
typedef struct ContentHints {
union {
ASN1uint16_t bit_mask;
ASN1octet_t o[1];
};
# define contentDescription_present 0x80
ASN1wstring_t contentDescription;
ObjectIdentifier contentType;
} ContentHints;
#define ContentHints_PDU 1
#define SIZE_ESS_Module_PDU_1 sizeof(ContentHints)
typedef struct ContentReference {
ContentType contentType;
ContentIdentifier signedContentIdentifier;
ASN1octetstring_t originatorSignatureValue;
} ContentReference;
#define ContentReference_PDU 2
#define SIZE_ESS_Module_PDU_2 sizeof(ContentReference)
typedef struct ESSPrivacyMark {
ASN1choice_t choice;
union {
# define utf8String_chosen 1
ASN1wstring_t utf8String;
# define pString_chosen 2
ASN1ztcharstring_t pString;
} u;
} ESSPrivacyMark;
typedef struct SecurityCategories {
ASN1uint32_t count;
struct SecurityCategory *value;
} SecurityCategories;
typedef struct SecurityCategory {
ObjectIdentifier type;
NOCOPYANY value;
} SecurityCategory;
typedef struct EquivalentLabels {
ASN1uint32_t count;
struct ESSSecurityLabel *value;
} EquivalentLabels;
#define EquivalentLabels_PDU 3
#define SIZE_ESS_Module_PDU_3 sizeof(EquivalentLabels)
typedef struct MLExpansionHistory {
ASN1uint32_t count;
struct MLData *value;
} MLExpansionHistory;
#define MLExpansionHistory_PDU 4
#define SIZE_ESS_Module_PDU_4 sizeof(MLExpansionHistory)
typedef struct EntityIdentifier {
ASN1choice_t choice;
union {
# define subjectKeyIdentifier_chosen 1
SubjectKeyIdentifier subjectKeyIdentifier;
# define EntityIdentifier_issuerAndSerialNumber_chosen 2
IssuerAndSerialNumber issuerAndSerialNumber;
} u;
} EntityIdentifier;
typedef struct MLReceiptPolicy {
ASN1choice_t choice;
union {
# define none_chosen 1
# define insteadOf_chosen 2
MLReceiptPolicy_insteadOf insteadOf;
# define inAdditionTo_chosen 3
MLReceiptPolicy_inAdditionTo inAdditionTo;
} u;
} MLReceiptPolicy;
typedef struct SigningCertificate {
union {
ASN1uint16_t bit_mask;
ASN1octet_t o[1];
};
SigningCertificate_certs certs;
# define policies_present 0x80
SigningCertificate_policies policies;
} SigningCertificate;
#define SigningCertificate_PDU 5
#define SIZE_ESS_Module_PDU_5 sizeof(SigningCertificate)
typedef struct ESSCertID {
union {
ASN1uint16_t bit_mask;
ASN1octet_t o[1];
};
Hash certHash;
# define issuerSerial_present 0x80
IssuerAndSerialNumber issuerSerial;
} ESSCertID;
typedef struct SMimeEncryptCerts {
ASN1uint32_t count;
struct SMimeEncryptCert *value;
} SMimeEncryptCerts;
#define SMimeEncryptCerts_PDU 6
#define SIZE_ESS_Module_PDU_6 sizeof(SMimeEncryptCerts)
typedef struct SMIMECapabilities {
ASN1uint32_t count;
struct SMIMECapability *value;
} SMIMECapabilities;
typedef struct SMIMECapability {
union {
ASN1uint16_t bit_mask;
ASN1octet_t o[1];
};
ObjectIdentifier capabilityID;
# define parameters_present 0x80
ASN1open_t parameters;
} SMIMECapability;
typedef struct OtherKeyAttribute {
union {
ASN1uint16_t bit_mask;
ASN1octet_t o[1];
};
ObjectIdentifier keyAttrId;
# define keyAttr_present 0x80
ASN1open_t keyAttr;
} OtherKeyAttribute;
typedef struct ReceiptRequest {
ContentIdentifier signedContentIdentifier;
ReceiptsFrom receiptsFrom;
ReceiptRequest_receiptsTo receiptsTo;
} ReceiptRequest;
#define ReceiptRequest_PDU 7
#define SIZE_ESS_Module_PDU_7 sizeof(ReceiptRequest)
typedef struct ESSSecurityLabel {
union {
ASN1uint16_t bit_mask;
ASN1octet_t o[1];
};
# define security_classification_present 0x80
SecurityClassification security_classification;
SecurityPolicyIdentifier security_policy_identifier;
# define privacy_mark_present 0x40
ESSPrivacyMark privacy_mark;
# define security_categories_present 0x20
SecurityCategories security_categories;
} ESSSecurityLabel;
#define ESSSecurityLabel_PDU 9
#define SIZE_ESS_Module_PDU_9 sizeof(ESSSecurityLabel)
typedef struct MLData {
union {
ASN1uint16_t bit_mask;
ASN1octet_t o[1];
};
EntityIdentifier mailListIdentifier;
ASN1generalizedtime_t expansionTime;
# define mlReceiptPolicy_present 0x80
MLReceiptPolicy mlReceiptPolicy;
} MLData;
typedef struct SMimeEncryptCert {
Hash hash;
SMIMECapabilities capabilities;
} SMimeEncryptCert;
typedef struct RecipientKeyIdentifier {
union {
ASN1uint16_t bit_mask;
ASN1octet_t o[1];
};
SubjectKeyIdentifier subjectKeyIdentifier;
# define date_present 0x80
ASN1generalizedtime_t date;
# define other_present 0x40
OtherKeyAttribute other;
} RecipientKeyIdentifier;
typedef struct SMIMEEncryptionKeyPreference {
ASN1choice_t choice;
union {
# define SMIMEEncryptionKeyPreference_issuerAndSerialNumber_chosen 1
IssuerAndSerialNumber issuerAndSerialNumber;
# define recipientKeyId_chosen 2
RecipientKeyIdentifier recipientKeyId;
# define subjectAltKeyIdentifier_chosen 3
SubjectKeyIdentifier subjectAltKeyIdentifier;
} u;
} SMIMEEncryptionKeyPreference;
#define SMIMEEncryptionKeyPreference_PDU 8
#define SIZE_ESS_Module_PDU_8 sizeof(SMIMEEncryptionKeyPreference)
extern ASN1int32_t ub_receiptsTo;
extern ASN1objectidentifier_t id_aa_receiptRequest;
extern ASN1objectidentifier_t id_aa_contentIdentifier;
extern ASN1objectidentifier_t id_ct_receipt;
extern ASN1objectidentifier_t id_aa_contentHint;
extern ASN1objectidentifier_t id_aa_msgSigDigest;
extern ASN1objectidentifier_t id_aa_contentReference;
extern ASN1objectidentifier_t id_aa_securityLabel;
extern ASN1int32_t ub_integer_options;
extern ASN1int32_t ub_privacy_mark_length;
extern ASN1int32_t ub_security_categories;
extern ASN1objectidentifier_t id_aa_equivalentLabels;
extern ASN1objectidentifier_t id_aa_mlExpandHistory;
extern ASN1int32_t ub_ml_expansion_history;
extern ASN1objectidentifier_t id_aa_signingCertificate;
extern ASN1module_t ESS_Module;
extern void ASN1CALL ESS_Module_Startup(void);
extern void ASN1CALL ESS_Module_Cleanup(void);
/* Prototypes of element functions for SEQUENCE OF and SET OF constructs */
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _ESS_Module_H_ */