Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/* Copyright (C) Microsoft Corporation, 1996-1999. All rights reserved. */ /* ASN.1 definitions for X509 v3 certificates */
#ifndef _X509_Module_H_
#define _X509_Module_H_
#include "msber.h"
#ifdef __cplusplus
extern "C" { #endif
typedef ASN1int32_t NoticeReference_noticeNumbers_Seq;
typedef ASN1intx_t HUGEINTEGER;
typedef ASN1bitstring_t BITSTRING;
typedef ASN1octetstring_t OCTETSTRING;
typedef ASN1open_t NOCOPYANY;
typedef ASN1charstring_t NUMERICSTRING;
typedef ASN1charstring_t PRINTABLESTRING;
typedef ASN1charstring_t TELETEXSTRING;
typedef ASN1charstring_t T61STRING;
typedef ASN1charstring_t VIDEOTEXSTRING;
typedef ASN1charstring_t IA5STRING;
typedef ASN1charstring_t GRAPHICSTRING;
typedef ASN1charstring_t VISIBLESTRING;
typedef ASN1charstring_t ISO646STRING;
typedef ASN1charstring_t GENERALSTRING;
typedef ASN1char32string_t UNIVERSALSTRING;
typedef ASN1char16string_t BMPSTRING;
typedef ASN1wstring_t UTF8STRING;
typedef ASN1encodedOID_t EncodedObjectID; #define EncodedObjectID_PDU 0
#define SIZE_X509_Module_PDU_0 sizeof(EncodedObjectID)
typedef BITSTRING Bits; #define Bits_PDU 1
#define SIZE_X509_Module_PDU_1 sizeof(Bits)
typedef ASN1int32_t CertificateVersion; #define CertificateVersion_v1 0
#define CertificateVersion_v2 1
#define CertificateVersion_v3 2
typedef HUGEINTEGER CertificateSerialNumber;
typedef BITSTRING UniqueIdentifier;
typedef ASN1int32_t CRLVersion; #define CRLVersion_v1 0
#define CRLVersion_v2 1
typedef ASN1int32_t CertificationRequestInfoVersion;
typedef OCTETSTRING KeyIdentifier;
typedef BITSTRING KeyUsage;
typedef EncodedObjectID CertPolicyElementId;
typedef BITSTRING SubjectType;
typedef BITSTRING ReasonFlags;
typedef ASN1int32_t IntegerType; #define IntegerType_PDU 2
#define SIZE_X509_Module_PDU_2 sizeof(IntegerType)
typedef HUGEINTEGER HugeIntegerType; #define HugeIntegerType_PDU 3
#define SIZE_X509_Module_PDU_3 sizeof(HugeIntegerType)
typedef OCTETSTRING OctetStringType; #define OctetStringType_PDU 4
#define SIZE_X509_Module_PDU_4 sizeof(OctetStringType)
typedef enum EnumeratedType { dummyEnumerated0 = 0, } EnumeratedType; #define EnumeratedType_PDU 5
#define SIZE_X509_Module_PDU_5 sizeof(EnumeratedType)
typedef ASN1utctime_t UtcTime; #define UtcTime_PDU 6
#define SIZE_X509_Module_PDU_6 sizeof(UtcTime)
typedef EncodedObjectID ContentType;
typedef EncodedObjectID UsageIdentifier;
typedef ASN1int32_t CTLVersion; #define CTLVersion_v1 0
typedef OCTETSTRING ListIdentifier;
typedef OCTETSTRING SubjectIdentifier;
typedef ASN1uint32_t BaseDistance;
typedef ASN1uint32_t SkipCerts;
typedef ASN1uint32_t BodyPartID;
typedef ASN1uint32_t TemplateVersion;
typedef struct NoticeReference_noticeNumbers { ASN1uint32_t count; NoticeReference_noticeNumbers_Seq *value; } NoticeReference_noticeNumbers;
typedef struct AnyString { ASN1choice_t choice; union { # define octetString_chosen 1
OCTETSTRING octetString; # define utf8String_chosen 2
UTF8STRING utf8String; # define numericString_chosen 3
NUMERICSTRING numericString; # define printableString_chosen 4
PRINTABLESTRING printableString; # define teletexString_chosen 5
TELETEXSTRING teletexString; # define videotexString_chosen 6
VIDEOTEXSTRING videotexString; # define ia5String_chosen 7
IA5STRING ia5String; # define graphicString_chosen 8
GRAPHICSTRING graphicString; # define visibleString_chosen 9
VISIBLESTRING visibleString; # define generalString_chosen 10
GENERALSTRING generalString; # define universalString_chosen 11
UNIVERSALSTRING universalString; # define bmpString_chosen 12
BMPSTRING bmpString; } u; } AnyString; #define AnyString_PDU 7
#define SIZE_X509_Module_PDU_7 sizeof(AnyString)
typedef struct AlgorithmIdentifier { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; EncodedObjectID algorithm; # define parameters_present 0x80
NOCOPYANY parameters; } AlgorithmIdentifier;
typedef struct Name { ASN1uint32_t count; struct RelativeDistinguishedName *value; } Name; #define Name_PDU 8
#define SIZE_X509_Module_PDU_8 sizeof(Name)
typedef struct RelativeDistinguishedName { ASN1uint32_t count; struct AttributeTypeValue *value; } RelativeDistinguishedName;
typedef struct AttributeTypeValue { EncodedObjectID type; NOCOPYANY value; } AttributeTypeValue;
typedef struct AttributeSetValue { ASN1uint32_t count; NOCOPYANY *value; } AttributeSetValue;
typedef struct Attributes { ASN1uint32_t count; struct Attribute *value; } Attributes; #define Attributes_PDU 9
#define SIZE_X509_Module_PDU_9 sizeof(Attributes)
typedef struct RSAPublicKey { HUGEINTEGER modulus; ASN1uint32_t publicExponent; } RSAPublicKey; #define RSAPublicKey_PDU 10
#define SIZE_X509_Module_PDU_10 sizeof(RSAPublicKey)
typedef struct DSSParameters { HUGEINTEGER p; HUGEINTEGER q; HUGEINTEGER g; } DSSParameters; #define DSSParameters_PDU 11
#define SIZE_X509_Module_PDU_11 sizeof(DSSParameters)
typedef struct DSSSignature { HUGEINTEGER r; HUGEINTEGER s; } DSSSignature; #define DSSSignature_PDU 12
#define SIZE_X509_Module_PDU_12 sizeof(DSSSignature)
typedef struct DHParameters { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; HUGEINTEGER p; HUGEINTEGER g; # define privateValueLength_present 0x80
HUGEINTEGER privateValueLength; } DHParameters; #define DHParameters_PDU 13
#define SIZE_X509_Module_PDU_13 sizeof(DHParameters)
typedef struct X942DhValidationParams { BITSTRING seed; ASN1uint32_t pgenCounter; } X942DhValidationParams;
typedef struct X942DhKeySpecificInfo { EncodedObjectID algorithm; OCTETSTRING counter; } X942DhKeySpecificInfo;
typedef struct RC2CBCParameters { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ASN1int32_t version; # define iv_present 0x80
OCTETSTRING iv; } RC2CBCParameters; #define RC2CBCParameters_PDU 14
#define SIZE_X509_Module_PDU_14 sizeof(RC2CBCParameters)
typedef struct SMIMECapability { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; EncodedObjectID capabilityID; # define smimeParameters_present 0x80
NOCOPYANY smimeParameters; } SMIMECapability;
typedef struct SMIMECapabilities { ASN1uint32_t count; struct SMIMECapability *value; } SMIMECapabilities; #define SMIMECapabilities_PDU 15
#define SIZE_X509_Module_PDU_15 sizeof(SMIMECapabilities)
typedef struct SubjectPublicKeyInfo { AlgorithmIdentifier algorithm; BITSTRING subjectPublicKey; } SubjectPublicKeyInfo; #define SubjectPublicKeyInfo_PDU 16
#define SIZE_X509_Module_PDU_16 sizeof(SubjectPublicKeyInfo)
typedef struct ChoiceOfTime { ASN1choice_t choice; union { # define utcTime_chosen 1
ASN1utctime_t utcTime; # define generalTime_chosen 2
ASN1generalizedtime_t generalTime; } u; } ChoiceOfTime; #define ChoiceOfTime_PDU 17
#define SIZE_X509_Module_PDU_17 sizeof(ChoiceOfTime)
typedef struct Validity { ChoiceOfTime notBefore; ChoiceOfTime notAfter; } Validity;
typedef struct Extensions { ASN1uint32_t count; struct Extension *value; } Extensions; #define Extensions_PDU 18
#define SIZE_X509_Module_PDU_18 sizeof(Extensions)
typedef struct Extension { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; EncodedObjectID extnId; # define critical_present 0x80
ASN1bool_t critical; OCTETSTRING extnValue; } Extension;
typedef struct SignedContent { NOCOPYANY toBeSigned; AlgorithmIdentifier algorithm; BITSTRING signature; } SignedContent; #define SignedContent_PDU 19
#define SIZE_X509_Module_PDU_19 sizeof(SignedContent)
typedef struct RevokedCertificates { ASN1uint32_t count; struct CRLEntry *value; } RevokedCertificates;
typedef struct CRLEntry { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; CertificateSerialNumber userCertificate; ChoiceOfTime revocationDate; # define crlEntryExtensions_present 0x80
Extensions crlEntryExtensions; } CRLEntry;
typedef struct CertificationRequestInfo { CertificationRequestInfoVersion version; NOCOPYANY subject; SubjectPublicKeyInfo subjectPublicKeyInfo; Attributes attributes; } CertificationRequestInfo; #define CertificationRequestInfo_PDU 20
#define SIZE_X509_Module_PDU_20 sizeof(CertificationRequestInfo)
typedef struct CertificationRequestInfoDecode { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; CertificationRequestInfoVersion version; NOCOPYANY subject; SubjectPublicKeyInfo subjectPublicKeyInfo; # define attributes_present 0x80
Attributes attributes; } CertificationRequestInfoDecode; #define CertificationRequestInfoDecode_PDU 21
#define SIZE_X509_Module_PDU_21 sizeof(CertificationRequestInfoDecode)
typedef struct KeygenRequestInfo { SubjectPublicKeyInfo subjectPublicKeyInfo; IA5STRING challenge; } KeygenRequestInfo; #define KeygenRequestInfo_PDU 22
#define SIZE_X509_Module_PDU_22 sizeof(KeygenRequestInfo)
typedef struct AuthorityKeyId { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define AuthorityKeyId_keyIdentifier_present 0x80
KeyIdentifier keyIdentifier; # define certIssuer_present 0x40
NOCOPYANY certIssuer; # define certSerialNumber_present 0x20
CertificateSerialNumber certSerialNumber; } AuthorityKeyId; #define AuthorityKeyId_PDU 23
#define SIZE_X509_Module_PDU_23 sizeof(AuthorityKeyId)
typedef struct PrivateKeyValidity { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define notBefore_present 0x80
ASN1generalizedtime_t notBefore; # define notAfter_present 0x40
ASN1generalizedtime_t notAfter; } PrivateKeyValidity;
typedef struct CertPolicySet { ASN1uint32_t count; struct CertPolicyId *value; } CertPolicySet;
typedef struct CertPolicyId { ASN1uint32_t count; CertPolicyElementId *value; } CertPolicyId;
typedef struct AltNames { ASN1uint32_t count; struct GeneralName *value; } AltNames; #define AltNames_PDU 24
#define SIZE_X509_Module_PDU_24 sizeof(AltNames)
typedef AltNames GeneralNames;
typedef struct OtherName { EncodedObjectID type; NOCOPYANY value; } OtherName;
typedef struct EDIPartyName { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define nameAssigner_present 0x80
NOCOPYANY nameAssigner; NOCOPYANY partyName; } EDIPartyName; #define EDIPartyName_PDU 25
#define SIZE_X509_Module_PDU_25 sizeof(EDIPartyName)
typedef struct SubtreesConstraint { ASN1uint32_t count; NOCOPYANY *value; } SubtreesConstraint;
typedef struct BasicConstraints2 { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define cA_present 0x80
ASN1bool_t cA; # define BasicConstraints2_pathLenConstraint_present 0x40
ASN1int32_t pathLenConstraint; } BasicConstraints2; #define BasicConstraints2_PDU 26
#define SIZE_X509_Module_PDU_26 sizeof(BasicConstraints2)
typedef struct CertificatePolicies { ASN1uint32_t count; struct PolicyInformation *value; } CertificatePolicies; #define CertificatePolicies_PDU 27
#define SIZE_X509_Module_PDU_27 sizeof(CertificatePolicies)
typedef struct PolicyQualifiers { ASN1uint32_t count; struct PolicyQualifierInfo *value; } PolicyQualifiers;
typedef struct PolicyQualifierInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; EncodedObjectID policyQualifierId; # define qualifier_present 0x80
NOCOPYANY qualifier; } PolicyQualifierInfo;
typedef struct NoticeReference { ASN1ztcharstring_t organization; NoticeReference_noticeNumbers noticeNumbers; } NoticeReference;
typedef struct DisplayText { ASN1choice_t choice; union { # define theVisibleString_chosen 1
ASN1ztcharstring_t theVisibleString; # define theBMPString_chosen 2
ASN1char16string_t theBMPString; } u; } DisplayText;
typedef struct CertificatePolicies95 { ASN1uint32_t count; struct PolicyQualifiers *value; } CertificatePolicies95; #define CertificatePolicies95_PDU 28
#define SIZE_X509_Module_PDU_28 sizeof(CertificatePolicies95)
typedef struct CpsURLs { ASN1uint32_t count; struct CpsURLs_Seq *value; } CpsURLs;
typedef struct AuthorityKeyId2 { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define AuthorityKeyId2_keyIdentifier_present 0x80
KeyIdentifier keyIdentifier; # define authorityCertIssuer_present 0x40
GeneralNames authorityCertIssuer; # define authorityCertSerialNumber_present 0x20
CertificateSerialNumber authorityCertSerialNumber; } AuthorityKeyId2; #define AuthorityKeyId2_PDU 29
#define SIZE_X509_Module_PDU_29 sizeof(AuthorityKeyId2)
typedef struct AuthorityInfoAccess { ASN1uint32_t count; struct AccessDescription *value; } AuthorityInfoAccess; #define AuthorityInfoAccess_PDU 30
#define SIZE_X509_Module_PDU_30 sizeof(AuthorityInfoAccess)
typedef struct CRLDistributionPoints { ASN1uint32_t count; struct DistributionPoint *value; } CRLDistributionPoints; #define CRLDistributionPoints_PDU 31
#define SIZE_X509_Module_PDU_31 sizeof(CRLDistributionPoints)
typedef struct DistributionPointName { ASN1choice_t choice; union { # define fullName_chosen 1
GeneralNames fullName; # define nameRelativeToCRLIssuer_chosen 2
RelativeDistinguishedName nameRelativeToCRLIssuer; } u; } DistributionPointName;
typedef struct ContentInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ContentType contentType; # define content_present 0x80
NOCOPYANY content; } ContentInfo; #define ContentInfo_PDU 32
#define SIZE_X509_Module_PDU_32 sizeof(ContentInfo)
typedef struct SeqOfAny { ASN1uint32_t count; NOCOPYANY *value; } SeqOfAny; #define SeqOfAny_PDU 33
#define SIZE_X509_Module_PDU_33 sizeof(SeqOfAny)
typedef struct TimeStampRequest { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; EncodedObjectID timeStampAlgorithm; # define attributesTS_present 0x80
Attributes attributesTS; ContentInfo content; } TimeStampRequest; #define TimeStampRequest_PDU 34
#define SIZE_X509_Module_PDU_34 sizeof(TimeStampRequest)
typedef struct ContentInfoOTS { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ContentType contentTypeOTS; # define contentOTS_present 0x80
OCTETSTRING contentOTS; } ContentInfoOTS; #define ContentInfoOTS_PDU 35
#define SIZE_X509_Module_PDU_35 sizeof(ContentInfoOTS)
typedef struct TimeStampRequestOTS { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; EncodedObjectID timeStampAlgorithmOTS; # define attributesOTS_present 0x80
Attributes attributesOTS; ContentInfoOTS contentOTS; } TimeStampRequestOTS; #define TimeStampRequestOTS_PDU 36
#define SIZE_X509_Module_PDU_36 sizeof(TimeStampRequestOTS)
typedef struct EnhancedKeyUsage { ASN1uint32_t count; UsageIdentifier *value; } EnhancedKeyUsage; #define EnhancedKeyUsage_PDU 37
#define SIZE_X509_Module_PDU_37 sizeof(EnhancedKeyUsage)
typedef EnhancedKeyUsage SubjectUsage;
typedef struct TrustedSubjects { ASN1uint32_t count; struct TrustedSubject *value; } TrustedSubjects;
typedef struct TrustedSubject { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; SubjectIdentifier subjectIdentifier; # define subjectAttributes_present 0x80
Attributes subjectAttributes; } TrustedSubject;
typedef struct EnrollmentNameValuePair { BMPSTRING name; BMPSTRING value; } EnrollmentNameValuePair; #define EnrollmentNameValuePair_PDU 38
#define SIZE_X509_Module_PDU_38 sizeof(EnrollmentNameValuePair)
typedef struct CSPProvider { ASN1int32_t keySpec; BMPSTRING cspName; BITSTRING signature; } CSPProvider; #define CSPProvider_PDU 39
#define SIZE_X509_Module_PDU_39 sizeof(CSPProvider)
typedef struct CertificatePair { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define forward_present 0x80
NOCOPYANY forward; # define reverse_present 0x40
NOCOPYANY reverse; } CertificatePair; #define CertificatePair_PDU 40
#define SIZE_X509_Module_PDU_40 sizeof(CertificatePair)
typedef struct GeneralSubtrees { ASN1uint32_t count; struct GeneralSubtree *value; } GeneralSubtrees;
typedef struct IssuingDistributionPoint { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define issuingDistributionPoint_present 0x80
DistributionPointName issuingDistributionPoint; # define onlyContainsUserCerts_present 0x40
ASN1bool_t onlyContainsUserCerts; # define onlyContainsCACerts_present 0x20
ASN1bool_t onlyContainsCACerts; # define onlySomeReasons_present 0x10
ReasonFlags onlySomeReasons; # define indirectCRL_present 0x8
ASN1bool_t indirectCRL; } IssuingDistributionPoint; #define IssuingDistributionPoint_PDU 41
#define SIZE_X509_Module_PDU_41 sizeof(IssuingDistributionPoint)
typedef struct CrossCertDistPointNames { ASN1uint32_t count; GeneralNames *value; } CrossCertDistPointNames;
typedef struct PolicyMappings { ASN1uint32_t count; struct PolicyMapping *value; } PolicyMappings; #define PolicyMappings_PDU 42
#define SIZE_X509_Module_PDU_42 sizeof(PolicyMappings)
typedef struct PolicyMapping { EncodedObjectID issuerDomainPolicy; EncodedObjectID subjectDomainPolicy; } PolicyMapping;
typedef struct PolicyConstraints { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define requireExplicitPolicy_present 0x80
SkipCerts requireExplicitPolicy; # define inhibitPolicyMapping_present 0x40
SkipCerts inhibitPolicyMapping; } PolicyConstraints; #define PolicyConstraints_PDU 43
#define SIZE_X509_Module_PDU_43 sizeof(PolicyConstraints)
typedef struct ControlSequence { ASN1uint32_t count; struct TaggedAttribute *value; } ControlSequence;
typedef struct ReqSequence { ASN1uint32_t count; struct TaggedRequest *value; } ReqSequence;
typedef struct CmsSequence { ASN1uint32_t count; struct TaggedContentInfo *value; } CmsSequence;
typedef struct OtherMsgSequence { ASN1uint32_t count; struct TaggedOtherMsg *value; } OtherMsgSequence;
typedef struct BodyPartIDSequence { ASN1uint32_t count; BodyPartID *value; } BodyPartIDSequence;
typedef struct TaggedAttribute { BodyPartID bodyPartID; EncodedObjectID type; AttributeSetValue values; } TaggedAttribute;
typedef struct TaggedCertificationRequest { BodyPartID bodyPartID; NOCOPYANY certificationRequest; } TaggedCertificationRequest;
typedef struct TaggedContentInfo { BodyPartID bodyPartID; NOCOPYANY contentInfo; } TaggedContentInfo;
typedef struct TaggedOtherMsg { BodyPartID bodyPartID; EncodedObjectID otherMsgType; NOCOPYANY otherMsgValue; } TaggedOtherMsg;
typedef struct PendInfo { OCTETSTRING pendToken; ASN1generalizedtime_t pendTime; } PendInfo;
typedef struct CmcAddExtensions { BodyPartID pkiDataReference; BodyPartIDSequence certReferences; Extensions extensions; } CmcAddExtensions; #define CmcAddExtensions_PDU 44
#define SIZE_X509_Module_PDU_44 sizeof(CmcAddExtensions)
typedef struct CmcAddAttributes { BodyPartID pkiDataReference; BodyPartIDSequence certReferences; Attributes attributes; } CmcAddAttributes; #define CmcAddAttributes_PDU 45
#define SIZE_X509_Module_PDU_45 sizeof(CmcAddAttributes)
typedef struct CertificateTemplate { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; EncodedObjectID templateID; TemplateVersion templateMajorVersion; # define templateMinorVersion_present 0x80
TemplateVersion templateMinorVersion; } CertificateTemplate; #define CertificateTemplate_PDU 46
#define SIZE_X509_Module_PDU_46 sizeof(CertificateTemplate)
typedef struct CmcStatusInfo_otherInfo { ASN1choice_t choice; union { # define failInfo_chosen 1
ASN1uint32_t failInfo; # define pendInfo_chosen 2
PendInfo pendInfo; } u; } CmcStatusInfo_otherInfo;
typedef struct CpsURLs_Seq { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ASN1ztcharstring_t url; # define digestAlgorithmId_present 0x80
AlgorithmIdentifier digestAlgorithmId; # define digest_present 0x40
OCTETSTRING digest; } CpsURLs_Seq;
typedef struct Attribute { EncodedObjectID type; AttributeSetValue values; } Attribute; #define Attribute_PDU 47
#define SIZE_X509_Module_PDU_47 sizeof(Attribute)
typedef struct X942DhParameters { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; HUGEINTEGER p; HUGEINTEGER g; HUGEINTEGER q; # define j_present 0x80
HUGEINTEGER j; # define validationParams_present 0x40
X942DhValidationParams validationParams; } X942DhParameters; #define X942DhParameters_PDU 48
#define SIZE_X509_Module_PDU_48 sizeof(X942DhParameters)
typedef struct X942DhOtherInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; X942DhKeySpecificInfo keyInfo; # define pubInfo_present 0x80
OCTETSTRING pubInfo; OCTETSTRING keyLength; } X942DhOtherInfo; #define X942DhOtherInfo_PDU 49
#define SIZE_X509_Module_PDU_49 sizeof(X942DhOtherInfo)
typedef struct CertificateToBeSigned { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define CertificateToBeSigned_version_present 0x80
CertificateVersion version; CertificateSerialNumber serialNumber; AlgorithmIdentifier signature; NOCOPYANY issuer; Validity validity; NOCOPYANY subject; SubjectPublicKeyInfo subjectPublicKeyInfo; # define issuerUniqueIdentifier_present 0x40
UniqueIdentifier issuerUniqueIdentifier; # define subjectUniqueIdentifier_present 0x20
UniqueIdentifier subjectUniqueIdentifier; # define extensions_present 0x10
Extensions extensions; } CertificateToBeSigned; #define CertificateToBeSigned_PDU 50
#define SIZE_X509_Module_PDU_50 sizeof(CertificateToBeSigned)
typedef struct CertificateRevocationListToBeSigned { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define CertificateRevocationListToBeSigned_version_present 0x80
CRLVersion version; AlgorithmIdentifier signature; NOCOPYANY issuer; ChoiceOfTime thisUpdate; # define nextUpdate_present 0x40
ChoiceOfTime nextUpdate; # define revokedCertificates_present 0x20
RevokedCertificates revokedCertificates; # define crlExtensions_present 0x10
Extensions crlExtensions; } CertificateRevocationListToBeSigned; #define CertificateRevocationListToBeSigned_PDU 51
#define SIZE_X509_Module_PDU_51 sizeof(CertificateRevocationListToBeSigned)
typedef struct KeyAttributes { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define KeyAttributes_keyIdentifier_present 0x80
KeyIdentifier keyIdentifier; # define intendedKeyUsage_present 0x40
KeyUsage intendedKeyUsage; # define privateKeyUsagePeriod_present 0x20
PrivateKeyValidity privateKeyUsagePeriod; } KeyAttributes; #define KeyAttributes_PDU 52
#define SIZE_X509_Module_PDU_52 sizeof(KeyAttributes)
typedef struct KeyUsageRestriction { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define certPolicySet_present 0x80
CertPolicySet certPolicySet; # define restrictedKeyUsage_present 0x40
KeyUsage restrictedKeyUsage; } KeyUsageRestriction; #define KeyUsageRestriction_PDU 53
#define SIZE_X509_Module_PDU_53 sizeof(KeyUsageRestriction)
typedef struct GeneralName { ASN1choice_t choice; union { # define otherName_chosen 1
OtherName otherName; # define rfc822Name_chosen 2
IA5STRING rfc822Name; # define dNSName_chosen 3
IA5STRING dNSName; # define x400Address_chosen 4
SeqOfAny x400Address; # define directoryName_chosen 5
NOCOPYANY directoryName; # define ediPartyName_chosen 6
SeqOfAny ediPartyName; # define uniformResourceLocator_chosen 7
IA5STRING uniformResourceLocator; # define iPAddress_chosen 8
OCTETSTRING iPAddress; # define registeredID_chosen 9
EncodedObjectID registeredID; } u; } GeneralName;
typedef struct BasicConstraints { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; SubjectType subjectType; # define BasicConstraints_pathLenConstraint_present 0x80
ASN1int32_t pathLenConstraint; # define subtreesConstraint_present 0x40
SubtreesConstraint subtreesConstraint; } BasicConstraints; #define BasicConstraints_PDU 54
#define SIZE_X509_Module_PDU_54 sizeof(BasicConstraints)
typedef struct PolicyInformation { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; EncodedObjectID policyIdentifier; # define policyQualifiers_present 0x80
PolicyQualifiers policyQualifiers; } PolicyInformation;
typedef struct UserNotice { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define noticeRef_present 0x80
NoticeReference noticeRef; # define explicitText_present 0x40
DisplayText explicitText; } UserNotice; #define UserNotice_PDU 55
#define SIZE_X509_Module_PDU_55 sizeof(UserNotice)
typedef struct VerisignQualifier1 { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define practicesReference_present 0x80
ASN1ztcharstring_t practicesReference; # define noticeId_present 0x40
EncodedObjectID noticeId; # define nsiNoticeId_present 0x20
EncodedObjectID nsiNoticeId; # define cpsURLs_present 0x10
CpsURLs cpsURLs; } VerisignQualifier1; #define VerisignQualifier1_PDU 56
#define SIZE_X509_Module_PDU_56 sizeof(VerisignQualifier1)
typedef struct AccessDescription { EncodedObjectID accessMethod; GeneralName accessLocation; } AccessDescription;
typedef struct DistributionPoint { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define distributionPoint_present 0x80
DistributionPointName distributionPoint; # define reasons_present 0x40
ReasonFlags reasons; # define cRLIssuer_present 0x20
GeneralNames cRLIssuer; } DistributionPoint;
typedef struct ContentInfoSeqOfAny { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ContentType contentType; # define contentSeqOfAny_present 0x80
SeqOfAny contentSeqOfAny; } ContentInfoSeqOfAny; #define ContentInfoSeqOfAny_PDU 57
#define SIZE_X509_Module_PDU_57 sizeof(ContentInfoSeqOfAny)
typedef struct CertificateTrustList { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define CertificateTrustList_version_present 0x80
CTLVersion version; SubjectUsage subjectUsage; # define listIdentifier_present 0x40
ListIdentifier listIdentifier; # define sequenceNumber_present 0x20
HUGEINTEGER sequenceNumber; ChoiceOfTime ctlThisUpdate; # define ctlNextUpdate_present 0x10
ChoiceOfTime ctlNextUpdate; AlgorithmIdentifier subjectAlgorithm; # define trustedSubjects_present 0x8
TrustedSubjects trustedSubjects; # define ctlExtensions_present 0x4
Extensions ctlExtensions; } CertificateTrustList; #define CertificateTrustList_PDU 58
#define SIZE_X509_Module_PDU_58 sizeof(CertificateTrustList)
typedef struct NameConstraints { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define permittedSubtrees_present 0x80
GeneralSubtrees permittedSubtrees; # define excludedSubtrees_present 0x40
GeneralSubtrees excludedSubtrees; } NameConstraints; #define NameConstraints_PDU 59
#define SIZE_X509_Module_PDU_59 sizeof(NameConstraints)
typedef struct GeneralSubtree { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; GeneralName base; # define minimum_present 0x80
BaseDistance minimum; # define maximum_present 0x40
BaseDistance maximum; } GeneralSubtree;
typedef struct CrossCertDistPoints { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define syncDeltaTime_present 0x80
ASN1uint32_t syncDeltaTime; CrossCertDistPointNames crossCertDistPointNames; } CrossCertDistPoints; #define CrossCertDistPoints_PDU 60
#define SIZE_X509_Module_PDU_60 sizeof(CrossCertDistPoints)
typedef struct CmcData { ControlSequence controlSequence; ReqSequence reqSequence; CmsSequence cmsSequence; OtherMsgSequence otherMsgSequence; } CmcData; #define CmcData_PDU 61
#define SIZE_X509_Module_PDU_61 sizeof(CmcData)
typedef struct CmcResponseBody { ControlSequence controlSequence; CmsSequence cmsSequence; OtherMsgSequence otherMsgSequence; } CmcResponseBody; #define CmcResponseBody_PDU 62
#define SIZE_X509_Module_PDU_62 sizeof(CmcResponseBody)
typedef struct TaggedRequest { ASN1choice_t choice; union { # define tcr_chosen 1
TaggedCertificationRequest tcr; } u; } TaggedRequest;
typedef struct CmcStatusInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ASN1uint32_t cmcStatus; BodyPartIDSequence bodyList; # define statusString_present 0x80
UTF8STRING statusString; # define otherInfo_present 0x40
CmcStatusInfo_otherInfo otherInfo; } CmcStatusInfo; #define CmcStatusInfo_PDU 63
#define SIZE_X509_Module_PDU_63 sizeof(CmcStatusInfo)
extern ASN1bool_t IssuingDistributionPoint_indirectCRL_default; extern ASN1bool_t IssuingDistributionPoint_onlyContainsCACerts_default; extern ASN1bool_t IssuingDistributionPoint_onlyContainsUserCerts_default; extern BaseDistance GeneralSubtree_minimum_default; extern CTLVersion CertificateTrustList_version_default; extern ASN1bool_t BasicConstraints2_cA_default; extern ASN1bool_t Extension_critical_default; extern CertificateVersion CertificateToBeSigned_version_default;
extern ASN1module_t X509_Module; extern void ASN1CALL X509_Module_Startup(void); extern void ASN1CALL X509_Module_Cleanup(void);
/* Prototypes of element functions for SEQUENCE OF and SET OF constructs */
#ifdef __cplusplus
} /* extern "C" */ #endif
#endif /* _X509_Module_H_ */
|