diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2004-07-26 09:21:36 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2004-07-26 09:21:36 +0000 |
commit | 135f0cdfa3cce5d6d3bf1d9d4c3658353cd44f36 (patch) | |
tree | 8ba151ba3b5035f35544dd2c72f4dfe2efae0c5b /asn1/x509ce | |
parent | 1b3acfff24c7c7ef33a091a11cc0051a095f894a (diff) | |
download | wireshark-135f0cdfa3cce5d6d3bf1d9d4c3658353cd44f36.tar.gz wireshark-135f0cdfa3cce5d6d3bf1d9d4c3658353cd44f36.tar.bz2 wireshark-135f0cdfa3cce5d6d3bf1d9d4c3658353cd44f36.zip |
update tox509ce virtually all of x509ce now implemented (but there are still bugs)
svn path=/trunk/; revision=11524
Diffstat (limited to 'asn1/x509ce')
-rw-r--r-- | asn1/x509ce/CertificateExtensions.asn | 392 | ||||
-rw-r--r-- | asn1/x509ce/packet-x509ce-template.c | 243 | ||||
-rw-r--r-- | asn1/x509ce/x509ce.cnf | 2 |
3 files changed, 442 insertions, 195 deletions
diff --git a/asn1/x509ce/CertificateExtensions.asn b/asn1/x509ce/CertificateExtensions.asn index b9ba60b641..fecdf931fd 100644 --- a/asn1/x509ce/CertificateExtensions.asn +++ b/asn1/x509ce/CertificateExtensions.asn @@ -32,12 +32,12 @@ IMPORTS -- SYNTAX AuthorityKeyIdentifier -- IDENTIFIED BY id-ce-authorityKeyIdentifier -- } --- --- AuthorityKeyIdentifier ::= SEQUENCE { --- keyIdentifier [0] KeyIdentifier OPTIONAL, --- authorityCertIssuer [1] GeneralNames OPTIONAL, --- authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL --- } + +AuthorityKeyIdentifier ::= SEQUENCE { + keyIdentifier [0] KeyIdentifier OPTIONAL, + authorityCertIssuer [1] GeneralNames OPTIONAL, + authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL +} -- (WITH COMPONENTS { -- ..., -- authorityCertIssuer PRESENT, @@ -68,12 +68,14 @@ KeyUsage ::= BIT STRING { encipherOnly(7), decipherOnly(8)} -- extKeyUsage EXTENSION ::= { --- SYNTAX SEQUENCE SIZE (1..MAX) OF KeyPurposeId +-- SYNTAX KeyPurposeIDs -- IDENTIFIED BY id-ce-extKeyUsage -- } --- --- KeyPurposeId ::= OBJECT IDENTIFIER --- + +KeyPurposeIDs ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId + +KeyPurposeId ::= OBJECT IDENTIFIER + -- privateKeyUsagePeriod EXTENSION ::= { -- SYNTAX PrivateKeyUsagePeriod -- IDENTIFIED BY id-ce-privateKeyUsagePeriod @@ -95,22 +97,23 @@ PrivateKeyUsagePeriod ::= SEQUENCE { -- SYNTAX CertificatePoliciesSyntax -- IDENTIFIED BY id-ce-certificatePolicies -- } --- --- CertificatePoliciesSyntax ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation --- --- PolicyInformation ::= SEQUENCE { --- policyIdentifier CertPolicyId, --- policyQualifiers SEQUENCE SIZE (1..MAX) OF PolicyQualifierInfo OPTIONAL --- } --- --- CertPolicyId ::= OBJECT IDENTIFIER --- --- PolicyQualifierInfo ::= SEQUENCE { --- policyQualifierId CERT-POLICY-QUALIFIER.&id({SupportedPolicyQualifiers}), + +CertificatePoliciesSyntax ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation + +PolicyInformation ::= SEQUENCE { + policyIdentifier CertPolicyId, + policyQualifiers SEQUENCE SIZE (1..MAX) OF PolicyQualifierInfo OPTIONAL +} + +CertPolicyId ::= OBJECT IDENTIFIER + +-- XXX this one needs to be handimplemented in the template +PolicyQualifierInfo ::= SEQUENCE { +-- policyQualifierId CERT-POLICY-QUALIFIER.&id({SupportedPolicyQualifiers}), -- qualifier -- CERT-POLICY-QUALIFIER.&Qualifier -- ({SupportedPolicyQualifiers}{@policyQualifierId}) OPTIONAL --- } +} -- -- SupportedPolicyQualifiers CERT-POLICY-QUALIFIER ::= -- {...} @@ -128,12 +131,12 @@ PrivateKeyUsagePeriod ::= SEQUENCE { -- SYNTAX PolicyMappingsSyntax -- IDENTIFIED BY id-ce-policyMappings -- } --- --- PolicyMappingsSyntax ::= --- SEQUENCE SIZE (1..MAX) OF --- SEQUENCE {issuerDomainPolicy CertPolicyId, --- subjectDomainPolicy CertPolicyId} --- + +PolicyMappingsSyntax ::= + SEQUENCE SIZE (1..MAX) OF + SEQUENCE {issuerDomainPolicy CertPolicyId, + subjectDomainPolicy CertPolicyId} + -- subjectAltName EXTENSION ::= { -- SYNTAX GeneralNames -- IDENTIFIED BY id-ce-subjectAltName @@ -186,34 +189,34 @@ BasicConstraintsSyntax ::= SEQUENCE { -- SYNTAX NameConstraintsSyntax -- IDENTIFIED BY id-ce-nameConstraints -- } --- --- NameConstraintsSyntax ::= SEQUENCE { --- permittedSubtrees [0] GeneralSubtrees OPTIONAL, --- excludedSubtrees [1] GeneralSubtrees OPTIONAL --- } --- --- GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree --- --- GeneralSubtree ::= SEQUENCE { --- base GeneralName, --- minimum [0] BaseDistance DEFAULT 0, --- maximum [1] BaseDistance OPTIONAL --- } --- --- BaseDistance ::= INTEGER(0..MAX) --- + +NameConstraintsSyntax ::= SEQUENCE { + permittedSubtrees [0] GeneralSubtrees OPTIONAL, + excludedSubtrees [1] GeneralSubtrees OPTIONAL +} + +GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree + +GeneralSubtree ::= SEQUENCE { + base GeneralName, + minimum [0] BaseDistance DEFAULT 0, + maximum [1] BaseDistance OPTIONAL +} + +BaseDistance ::= INTEGER(0..MAX) + -- policyConstraints EXTENSION ::= { -- SYNTAX PolicyConstraintsSyntax -- IDENTIFIED BY id-ce-policyConstraints -- } --- --- PolicyConstraintsSyntax ::= SEQUENCE { --- requireExplicitPolicy [0] SkipCerts OPTIONAL, --- inhibitPolicyMapping [1] SkipCerts OPTIONAL --- } --- --- SkipCerts ::= INTEGER(0..MAX) --- + +PolicyConstraintsSyntax ::= SEQUENCE { + requireExplicitPolicy [0] SkipCerts OPTIONAL, + inhibitPolicyMapping [1] SkipCerts OPTIONAL +} + +SkipCerts ::= INTEGER(0..MAX) + -- cRLNumber EXTENSION ::= { -- SYNTAX CRLNumber -- IDENTIFIED BY id-ce-cRLNumber @@ -235,9 +238,9 @@ CRLReason ::= ENUMERATED { -- SYNTAX HoldInstruction -- IDENTIFIED BY id-ce-instructionCode -- } --- --- HoldInstruction ::= OBJECT IDENTIFIER --- + +HoldInstruction ::= OBJECT IDENTIFIER + -- invalidityDate EXTENSION ::= { -- SYNTAX GeneralizedTime -- IDENTIFIED BY id-ce-invalidityDate @@ -247,129 +250,130 @@ CRLReason ::= ENUMERATED { -- SYNTAX CRLScopeSyntax -- IDENTIFIED BY id-ce-cRLScope -- } --- --- CRLScopeSyntax ::= SEQUENCE SIZE (1..MAX) OF PerAuthorityScope --- --- PerAuthorityScope ::= SEQUENCE { --- authorityName [0] GeneralName OPTIONAL, --- distributionPoint [1] DistributionPointName OPTIONAL, --- onlyContains [2] OnlyCertificateTypes OPTIONAL, --- onlySomeReasons [4] ReasonFlags OPTIONAL, --- serialNumberRange [5] NumberRange OPTIONAL, --- subjectKeyIdRange [6] NumberRange OPTIONAL, --- nameSubtrees [7] GeneralNames OPTIONAL, --- baseRevocationInfo [9] BaseRevocationInfo OPTIONAL --- } --- --- OnlyCertificateTypes ::= BIT STRING { --- userPublicKey(0), cA(1), userAttribute(2), aA(3), sOAPublicKey(4)} --- --- NumberRange ::= SEQUENCE { --- startingNumber [0] INTEGER OPTIONAL, --- endingNumber [1] INTEGER OPTIONAL, --- modulus INTEGER OPTIONAL --- } --- --- BaseRevocationInfo ::= SEQUENCE { --- cRLStreamIdentifier [0] CRLStreamIdentifier OPTIONAL, --- cRLNumber [1] CRLNumber, --- baseThisUpdate [2] GeneralizedTime --- } --- + +CRLScopeSyntax ::= SEQUENCE SIZE (1..MAX) OF PerAuthorityScope + +PerAuthorityScope ::= SEQUENCE { + authorityName [0] GeneralName OPTIONAL, + distributionPoint [1] DistributionPointName OPTIONAL, + onlyContains [2] OnlyCertificateTypes OPTIONAL, + onlySomeReasons [4] ReasonFlags OPTIONAL, + serialNumberRange [5] NumberRange OPTIONAL, + subjectKeyIdRange [6] NumberRange OPTIONAL, + nameSubtrees [7] GeneralNames OPTIONAL, + baseRevocationInfo [9] BaseRevocationInfo OPTIONAL +} + +OnlyCertificateTypes ::= BIT STRING { + userPublicKey(0), cA(1), userAttribute(2), aA(3), sOAPublicKey(4)} + +NumberRange ::= SEQUENCE { + startingNumber [0] INTEGER OPTIONAL, + endingNumber [1] INTEGER OPTIONAL, + modulus INTEGER OPTIONAL +} + +BaseRevocationInfo ::= SEQUENCE { + cRLStreamIdentifier [0] CRLStreamIdentifier OPTIONAL, + cRLNumber [1] CRLNumber, + baseThisUpdate [2] GeneralizedTime +} + -- statusReferrals EXTENSION ::= { -- SYNTAX StatusReferrals -- IDENTIFIED BY id-ce-statusReferrals -- } --- --- StatusReferrals ::= SEQUENCE SIZE (1..MAX) OF StatusReferral --- --- StatusReferral ::= CHOICE { --- cRLReferral [0] CRLReferral, --- otherReferral [1] INSTANCE OF OTHER-REFERRAL --- } --- --- CRLReferral ::= SEQUENCE { --- issuer [0] GeneralName OPTIONAL, --- location [1] GeneralName OPTIONAL, --- deltaRefInfo [2] DeltaRefInfo OPTIONAL, --- cRLScope CRLScopeSyntax, --- lastUpdate [3] GeneralizedTime OPTIONAL, --- lastChangedCRL [4] GeneralizedTime OPTIONAL --- } --- --- DeltaRefInfo ::= SEQUENCE { --- deltaLocation GeneralName, --- lastDelta GeneralizedTime OPTIONAL --- } --- + +StatusReferrals ::= SEQUENCE SIZE (1..MAX) OF StatusReferral + +StatusReferral ::= CHOICE { + cRLReferral [0] CRLReferral +-- cRLReferral [0] CRLReferral, +-- otherReferral [1] INSTANCE OF OTHER-REFERRAL +} + +CRLReferral ::= SEQUENCE { + issuer [0] GeneralName OPTIONAL, + location [1] GeneralName OPTIONAL, + deltaRefInfo [2] DeltaRefInfo OPTIONAL, + cRLScope CRLScopeSyntax, + lastUpdate [3] GeneralizedTime OPTIONAL, + lastChangedCRL [4] GeneralizedTime OPTIONAL +} + +DeltaRefInfo ::= SEQUENCE { + deltaLocation GeneralName, + lastDelta GeneralizedTime OPTIONAL +} + -- OTHER-REFERRAL ::= TYPE-IDENTIFIER -- -- cRLStreamIdentifier EXTENSION ::= { -- SYNTAX CRLStreamIdentifier -- IDENTIFIED BY id-ce-cRLStreamIdentifier -- } --- --- CRLStreamIdentifier ::= INTEGER(0..MAX) --- + +CRLStreamIdentifier ::= INTEGER(0..MAX) + -- orderedList EXTENSION ::= { -- SYNTAX OrderedListSyntax -- IDENTIFIED BY id-ce-orderedList -- } --- --- OrderedListSyntax ::= ENUMERATED {ascSerialNum(0), ascRevDate(1)} --- + +OrderedListSyntax ::= ENUMERATED {ascSerialNum(0), ascRevDate(1)} + -- deltaInfo EXTENSION ::= { -- SYNTAX DeltaInformation -- IDENTIFIED BY id-ce-deltaInfo -- } --- --- DeltaInformation ::= SEQUENCE { --- deltaLocation GeneralName, --- nextDelta GeneralizedTime OPTIONAL --- } --- + +DeltaInformation ::= SEQUENCE { + deltaLocation GeneralName, + nextDelta GeneralizedTime OPTIONAL +} + -- cRLDistributionPoints EXTENSION ::= { -- SYNTAX CRLDistPointsSyntax -- IDENTIFIED BY id-ce-cRLDistributionPoints -- } --- --- CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint --- --- DistributionPoint ::= SEQUENCE { --- distributionPoint [0] DistributionPointName OPTIONAL, --- reasons [1] ReasonFlags OPTIONAL, --- cRLIssuer [2] GeneralNames OPTIONAL --- } --- --- DistributionPointName ::= CHOICE { --- fullName [0] GeneralNames, --- nameRelativeToCRLIssuer [1] RelativeDistinguishedName --- } --- --- ReasonFlags ::= BIT STRING { --- unused(0), keyCompromise(1), cACompromise(2), affiliationChanged(3), --- superseded(4), cessationOfOperation(5), certificateHold(6), --- privilegeWithdrawn(7), aACompromise(8)} --- + +CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint + +DistributionPoint ::= SEQUENCE { + distributionPoint [0] DistributionPointName OPTIONAL, + reasons [1] ReasonFlags OPTIONAL, + cRLIssuer [2] GeneralNames OPTIONAL +} + +DistributionPointName ::= CHOICE { + fullName [0] GeneralNames, + nameRelativeToCRLIssuer [1] RelativeDistinguishedName +} + +ReasonFlags ::= BIT STRING { + unused(0), keyCompromise(1), cACompromise(2), affiliationChanged(3), + superseded(4), cessationOfOperation(5), certificateHold(6), + privilegeWithdrawn(7), aACompromise(8)} + -- issuingDistributionPoint EXTENSION ::= { -- SYNTAX IssuingDistPointSyntax -- IDENTIFIED BY id-ce-issuingDistributionPoint -- } --- --- IssuingDistPointSyntax ::= SEQUENCE { + +IssuingDistPointSyntax ::= SEQUENCE { -- If containsUserPublicKeyCerts, containsCACerts, containsUserAttributeCerts, -- containsAACerts, and containsSOAPublicKeyCerts s are all absent, or not set to TRUE, (), -- the CRL covers allthese certificate types --- distributionPoint [0] DistributionPointName OPTIONAL, --- containsUserPublicKeyCerts [1] BOOLEAN DEFAULT FALSE, --- containsCACerts [2] BOOLEAN DEFAULT FALSE, --- onlySomeReasons [3] ReasonFlags OPTIONAL, --- indirectCRL [4] BOOLEAN DEFAULT FALSE, --- containsUserAttributeCerts [5] BOOLEAN DEFAULT FALSE, --- containsAACerts [6] BOOLEAN DEFAULT FALSE, --- containsSOAPublicKeyCerts [7] BOOLEAN DEFAULT FALSE --- } --- + distributionPoint [0] DistributionPointName OPTIONAL, + containsUserPublicKeyCerts [1] BOOLEAN DEFAULT FALSE, + containsCACerts [2] BOOLEAN DEFAULT FALSE, + onlySomeReasons [3] ReasonFlags OPTIONAL, + indirectCRL [4] BOOLEAN DEFAULT FALSE, + containsUserAttributeCerts [5] BOOLEAN DEFAULT FALSE, + containsAACerts [6] BOOLEAN DEFAULT FALSE, + containsSOAPublicKeyCerts [7] BOOLEAN DEFAULT FALSE +} + -- certificateIssuer EXTENSION ::= { -- SYNTAX GeneralNames -- IDENTIFIED BY id-ce-certificateIssuer @@ -379,9 +383,9 @@ CRLReason ::= ENUMERATED { -- SYNTAX BaseCRLNumber -- IDENTIFIED BY id-ce-deltaCRLIndicator -- } --- --- BaseCRLNumber ::= CRLNumber --- + +BaseCRLNumber ::= CRLNumber + -- baseUpdateTime EXTENSION ::= { -- SYNTAX GeneralizedTime -- IDENTIFIED BY id-ce-baseUpdateTime @@ -536,48 +540,48 @@ id-ce-cRLNumber OBJECT IDENTIFIER ::= {id-ce 20} id-ce-reasonCode OBJECT IDENTIFIER ::= {id-ce 21} --- id-ce-instructionCode OBJECT IDENTIFIER ::= {id-ce 23} --- --- id-ce-invalidityDate OBJECT IDENTIFIER ::= {id-ce 24} --- --- id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= {id-ce 27} --- --- id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 28} --- --- id-ce-certificateIssuer OBJECT IDENTIFIER ::= {id-ce 29} --- --- id-ce-nameConstraints OBJECT IDENTIFIER ::= {id-ce 30} --- --- id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31} --- --- id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32} --- --- id-ce-policyMappings OBJECT IDENTIFIER ::= {id-ce 33} --- +id-ce-instructionCode OBJECT IDENTIFIER ::= {id-ce 23} + +id-ce-invalidityDate OBJECT IDENTIFIER ::= {id-ce 24} + +id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= {id-ce 27} + +id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 28} + +id-ce-certificateIssuer OBJECT IDENTIFIER ::= {id-ce 29} + +id-ce-nameConstraints OBJECT IDENTIFIER ::= {id-ce 30} + +id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31} + +id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32} + +id-ce-policyMappings OBJECT IDENTIFIER ::= {id-ce 33} + -- deprecated OBJECT IDENTIFIER ::= {id-ce 34} --- id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= --- {id-ce 35} --- --- id-ce-policyConstraints OBJECT IDENTIFIER ::= {id-ce 36} --- --- id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37} --- --- id-ce-cRLStreamIdentifier OBJECT IDENTIFIER ::= {id-ce 40} --- --- id-ce-cRLScope OBJECT IDENTIFIER ::= {id-ce 44} --- --- id-ce-statusReferrals OBJECT IDENTIFIER ::= {id-ce 45} --- --- id-ce-freshestCRL OBJECT IDENTIFIER ::= {id-ce 46} --- --- id-ce-orderedList OBJECT IDENTIFIER ::= {id-ce 47} --- --- id-ce-baseUpdateTime OBJECT IDENTIFIER ::= {id-ce 51} --- --- id-ce-deltaInfo OBJECT IDENTIFIER ::= {id-ce 53} --- --- id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= {id-ce 54} --- + +id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 35} + +id-ce-policyConstraints OBJECT IDENTIFIER ::= {id-ce 36} + +id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37} + +id-ce-cRLStreamIdentifier OBJECT IDENTIFIER ::= {id-ce 40} + +id-ce-cRLScope OBJECT IDENTIFIER ::= {id-ce 44} + +id-ce-statusReferrals OBJECT IDENTIFIER ::= {id-ce 45} + +id-ce-freshestCRL OBJECT IDENTIFIER ::= {id-ce 46} + +id-ce-orderedList OBJECT IDENTIFIER ::= {id-ce 47} + +id-ce-baseUpdateTime OBJECT IDENTIFIER ::= {id-ce 51} + +id-ce-deltaInfo OBJECT IDENTIFIER ::= {id-ce 53} + +id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= {id-ce 54} + -- matching rule OIDs -- id-mr-certificateExactMatch OBJECT IDENTIFIER ::= -- {id-mr 34} diff --git a/asn1/x509ce/packet-x509ce-template.c b/asn1/x509ce/packet-x509ce-template.c index 6705808918..1e854bc314 100644 --- a/asn1/x509ce/packet-x509ce-template.c +++ b/asn1/x509ce/packet-x509ce-template.c @@ -35,6 +35,7 @@ #include "packet-ber.h" #include "packet-x509ce.h" +#include "packet-x509af.h" #include "packet-x509if.h" #define PNAME "X.509 Certificate Extensions" @@ -52,6 +53,26 @@ static int hf_x509ce_id_ce_issuerAltName = -1; static int hf_x509ce_id_ce_basicConstraints = -1; static int hf_x509ce_id_ce_cRLNumber = -1; static int hf_x509ce_id_ce_reasonCode = -1; +static int hf_x509ce_id_ce_instructionCode = -1; +static int hf_x509ce_id_ce_invalidityDate = -1; +static int hf_x509ce_id_ce_deltaCRLIndicator = -1; +static int hf_x509ce_id_ce_issuingDistributionPoint = -1; +static int hf_x509ce_id_ce_certificateIssuer = -1; +static int hf_x509ce_id_ce_nameConstraints = -1; +static int hf_x509ce_id_ce_cRLDistributionPoints = -1; +static int hf_x509ce_id_ce_certificatePolicies = -1; +static int hf_x509ce_id_ce_policyMappings = -1; +static int hf_x509ce_id_ce_authorityKeyIdentifier = -1; +static int hf_x509ce_id_ce_policyConstraints = -1; +static int hf_x509ce_id_ce_extKeyUsage = -1; +static int hf_x509ce_id_ce_cRLStreamIdentifier = -1; +static int hf_x509ce_id_ce_cRLScope = -1; +static int hf_x509ce_id_ce_statusReferrals = -1; +static int hf_x509ce_id_ce_freshestCRL = -1; +static int hf_x509ce_id_ce_orderedList = -1; +static int hf_x509ce_id_ce_baseUpdateTime = -1; +static int hf_x509ce_id_ce_deltaInfo = -1; +static int hf_x509ce_id_ce_inhibitAnyPolicy = -1; #include "packet-x509ce-hf.c" /* Initialize the subtree pointers */ @@ -114,11 +135,211 @@ dissect_x509ce_reasonCode_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree dissect_x509ce_CRLReason(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_reasonCode); } +static void +dissect_x509ce_instructionCode_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_HoldInstruction(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_instructionCode); +} + +static void +dissect_x509ce_invalidityDate_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_GeneralizedTime(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_invalidityDate); +} + +static void +dissect_x509ce_deltaCRLIndicator_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_BaseCRLNumber(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_deltaCRLIndicator); +} + +static void +dissect_x509ce_issuingDistributionPoint_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_IssuingDistPointSyntax(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_issuingDistributionPoint); +} + +static void +dissect_x509ce_certificateIssuer_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_GeneralNames(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_certificateIssuer); +} + +static void +dissect_x509ce_nameConstraints_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_NameConstraintsSyntax(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_nameConstraints); +} + +static void +dissect_x509ce_cRLDistributionPoints_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_CRLDistPointsSyntax(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_cRLDistributionPoints); +} + +static void +dissect_x509ce_certificatePolicies_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_CertificatePoliciesSyntax(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_certificatePolicies); +} + +static void +dissect_x509ce_policyMappings_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_PolicyMappingsSyntax(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_policyMappings); +} + +static void +dissect_x509ce_authorityKeyIdentifier_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_AuthorityKeyIdentifier(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_authorityKeyIdentifier); +} + +static void +dissect_x509ce_policyConstraints_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_PolicyConstraintsSyntax(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_policyConstraints); +} + +static void +dissect_x509ce_extKeyUsage_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_KeyPurposeIDs(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_extKeyUsage); +} + +static void +dissect_x509ce_cRLStreamIdentifier_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_CRLStreamIdentifier(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_cRLStreamIdentifier); +} + +static void +dissect_x509ce_cRLScope_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_CRLScopeSyntax(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_cRLScope); +} + +static void +dissect_x509ce_statusReferrals_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_StatusReferrals(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_statusReferrals); +} + +static void +dissect_x509ce_freshestCRL_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_CRLDistPointsSyntax(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_freshestCRL); +} + +static void +dissect_x509ce_orderedList_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_OrderedListSyntax(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_orderedList); +} + +static void +dissect_x509ce_baseUpdateTime_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_GeneralizedTime(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_baseUpdateTime); +} + +static void +dissect_x509ce_deltaInfo_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_DeltaInformation(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_deltaInfo); +} + +static void +dissect_x509ce_inhibitAnyPolicy_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + dissect_x509ce_SkipCerts(FALSE, tvb, 0, pinfo, tree, hf_x509ce_id_ce_inhibitAnyPolicy); +} + /*--- proto_register_x509ce ----------------------------------------------*/ void proto_register_x509ce(void) { /* List of fields */ static hf_register_info hf[] = { + { &hf_x509ce_id_ce_inhibitAnyPolicy, + { "inhibitAnyPolicy", "x509ce.id_ce_inhibitAnyPolicy", + FT_UINT32, BASE_DEC, NULL, 0, + "inhibitAnyPolicy", HFILL }}, + { &hf_x509ce_id_ce_deltaInfo, + { "deltaInfo", "x509ce.id_ce_deltaInfo", + FT_NONE, BASE_NONE, NULL, 0, + "deltaInfo", HFILL }}, + { &hf_x509ce_id_ce_baseUpdateTime, + { "baseUpdateTime", "x509ce.id_ce_baseUpdateTime", + FT_STRING, BASE_NONE, NULL, 0, + "baseUpdateTime", HFILL }}, + { &hf_x509ce_id_ce_orderedList, + { "orderedList", "x509ce.id_ce_orderedList", + FT_UINT32, BASE_DEC, VALS(OrderedListSyntax_vals), 0, + "orderedList", HFILL }}, + { &hf_x509ce_id_ce_freshestCRL, + { "freshestCRL", "x509ce.id_ce_freshestCRL", + FT_NONE, BASE_NONE, NULL, 0, + "freshestCRL", HFILL }}, + { &hf_x509ce_id_ce_statusReferrals, + { "statusReferrals", "x509ce.id_ce_statusReferrals", + FT_NONE, BASE_NONE, NULL, 0, + "statusReferrals", HFILL }}, + { &hf_x509ce_id_ce_cRLScope, + { "cRLScope", "x509ce.id_ce_cRLScope", + FT_NONE, BASE_NONE, NULL, 0, + "cRLScope", HFILL }}, + { &hf_x509ce_id_ce_cRLStreamIdentifier, + { "cRLStreamIdentifier", "x509ce.id_ce_cRLStreamIdentifier", + FT_NONE, BASE_NONE, NULL, 0, + "cRLStreamIdentifier", HFILL }}, + { &hf_x509ce_id_ce_extKeyUsage, + { "extKeyUsage", "x509ce.id_ce_extKeyUsage", + FT_NONE, BASE_NONE, NULL, 0, + "extKeyUsage", HFILL }}, + { &hf_x509ce_id_ce_policyConstraints, + { "policyConstraints", "x509ce.id_ce_policyConstraints", + FT_NONE, BASE_NONE, NULL, 0, + "policyConstraints", HFILL }}, + { &hf_x509ce_id_ce_authorityKeyIdentifier, + { "authorityKeyIdentifier", "x509ce.id_ce_authorityKeyIdentifier", + FT_NONE, BASE_NONE, NULL, 0, + "authorityKeyIdentifier", HFILL }}, + { &hf_x509ce_id_ce_policyMappings, + { "policyMappings", "x509ce.id_ce_policyMappings", + FT_NONE, BASE_NONE, NULL, 0, + "policyMappings", HFILL }}, + { &hf_x509ce_id_ce_certificatePolicies, + { "certificatePolicies", "x509ce.id_ce_certificatePolicies", + FT_NONE, BASE_NONE, NULL, 0, + "certificatePolicies", HFILL }}, + { &hf_x509ce_id_ce_cRLDistributionPoints, + { "cRLDistributionPoints", "x509ce.id_ce_cRLDistributionPoints", + FT_NONE, BASE_NONE, NULL, 0, + "cRLDistributionPoints", HFILL }}, + { &hf_x509ce_id_ce_nameConstraints, + { "nameConstraints", "x509ce.id_ce_nameConstraints", + FT_NONE, BASE_NONE, NULL, 0, + "nameConstraints", HFILL }}, + { &hf_x509ce_id_ce_certificateIssuer, + { "certificateIssuer", "x509ce.id_ce_certificateIssuer", + FT_NONE, BASE_NONE, NULL, 0, + "certificateIssuer", HFILL }}, + { &hf_x509ce_id_ce_issuingDistributionPoint, + { "issuingDistributionPoint", "x509ce.id_ce_issuingDistributionPoint", + FT_NONE, BASE_NONE, NULL, 0, + "issuingDistributionPoint", HFILL }}, + { &hf_x509ce_id_ce_deltaCRLIndicator, + { "deltaCRLIndicator", "x509ce.id_ce_deltaCRLIndicator", + FT_UINT32, BASE_DEC, VALS(CRLReason_vals), 0, + "deltaCRLIndicator", HFILL }}, + { &hf_x509ce_id_ce_invalidityDate, + { "invalidityDate", "x509ce.id_ce_invalidityDate", + FT_STRING, BASE_NONE, NULL, 0, + "invalidityDate", HFILL }}, + { &hf_x509ce_id_ce_instructionCode, + { "instructionCode", "x509ce.id_ce_instructionCode", + FT_STRING, BASE_NONE, NULL, 0, + "instructionCode", HFILL }}, { &hf_x509ce_id_ce_reasonCode, { "reasonCode", "x509ce.id_ce_reasonCode", FT_UINT32, BASE_DEC, VALS(CRLReason_vals), 0, @@ -149,7 +370,7 @@ void proto_register_x509ce(void) { "subjectDirectoryAttributes", HFILL }}, { &hf_x509ce_id_ce_subjectKeyIdentifier, { "subjectKeyIdentifier", "x509ce.id_ce_subjectKeyIdentifier", - FT_STRING, BASE_NONE, NULL, 0, + FT_BYTES, BASE_HEX, NULL, 0, "subjectKeyIdentifier", HFILL }}, { &hf_x509ce_id_ce_keyUsage, { "keyUsage", "x509ce.id_ce_keyUsage", @@ -184,5 +405,25 @@ void proto_reg_handoff_x509ce(void) { register_ber_oid_dissector("2.5.29.19", dissect_x509ce_basicConstraints_callback, proto_x509ce, "id-ce-basicConstraints"); register_ber_oid_dissector("2.5.29.20", dissect_x509ce_cRLNumber_callback, proto_x509ce, "id-ce-cRLNumber"); register_ber_oid_dissector("2.5.29.21", dissect_x509ce_reasonCode_callback, proto_x509ce, "id-ce-reasonCode"); + register_ber_oid_dissector("2.5.29.23", dissect_x509ce_instructionCode_callback, proto_x509ce, "id-ce-instructionCode"); + register_ber_oid_dissector("2.5.29.24", dissect_x509ce_invalidityDate_callback, proto_x509ce, "id-ce-invalidityDate"); + register_ber_oid_dissector("2.5.29.27", dissect_x509ce_deltaCRLIndicator_callback, proto_x509ce, "id-ce-deltaCRLIndicator"); + register_ber_oid_dissector("2.5.29.28", dissect_x509ce_issuingDistributionPoint_callback, proto_x509ce, "id-ce-issuingDistributionPoint"); + register_ber_oid_dissector("2.5.29.29", dissect_x509ce_certificateIssuer_callback, proto_x509ce, "id-ce-certificateIssuer"); + register_ber_oid_dissector("2.5.29.30", dissect_x509ce_nameConstraints_callback, proto_x509ce, "id-ce-nameConstraints"); + register_ber_oid_dissector("2.5.29.31", dissect_x509ce_cRLDistributionPoints_callback, proto_x509ce, "id-ce-cRLDistributionPoints"); + register_ber_oid_dissector("2.5.29.32", dissect_x509ce_certificatePolicies_callback, proto_x509ce, "id-ce-certificatePolicies"); + register_ber_oid_dissector("2.5.29.33", dissect_x509ce_policyMappings_callback, proto_x509ce, "id-ce-policyMappings"); + register_ber_oid_dissector("2.5.29.35", dissect_x509ce_authorityKeyIdentifier_callback, proto_x509ce, "id-ce-authorityKeyIdentifier"); + register_ber_oid_dissector("2.5.29.36", dissect_x509ce_policyConstraints_callback, proto_x509ce, "id-ce-policyConstraints"); + register_ber_oid_dissector("2.5.29.37", dissect_x509ce_extKeyUsage_callback, proto_x509ce, "id-ce-extKeyUsage"); + register_ber_oid_dissector("2.5.29.40", dissect_x509ce_cRLStreamIdentifier_callback, proto_x509ce, "id-ce-cRLStreamIdentifier"); + register_ber_oid_dissector("2.5.29.44", dissect_x509ce_cRLScope_callback, proto_x509ce, "id-ce-cRLScope"); + register_ber_oid_dissector("2.5.29.45", dissect_x509ce_statusReferrals_callback, proto_x509ce, "id-ce-statusReferrals"); + register_ber_oid_dissector("2.5.29.46", dissect_x509ce_freshestCRL_callback, proto_x509ce, "id-ce-freshestCRL"); + register_ber_oid_dissector("2.5.29.47", dissect_x509ce_orderedList_callback, proto_x509ce, "id-ce-orderedList"); + register_ber_oid_dissector("2.5.29.51", dissect_x509ce_baseUpdateTime_callback, proto_x509ce, "id-ce-baseUpdateTime"); + register_ber_oid_dissector("2.5.29.53", dissect_x509ce_deltaInfo_callback, proto_x509ce, "id-ce-deltaInfo"); + register_ber_oid_dissector("2.5.29.54", dissect_x509ce_inhibitAnyPolicy_callback, proto_x509ce, "id-ce-inhibitAnyPolicy"); } diff --git a/asn1/x509ce/x509ce.cnf b/asn1/x509ce/x509ce.cnf index a8b8a03fad..56cb5ca4f9 100644 --- a/asn1/x509ce/x509ce.cnf +++ b/asn1/x509ce/x509ce.cnf @@ -5,8 +5,10 @@ #.MODULE_IMPORT
InformationFramework x509if
+AuthenticationFramework x509af
#.INCLUDE ../x509if/x509if_exp.cnf
+#.INCLUDE ../x509af/x509af_exp.cnf
#.EXPORTS
|