aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/x509ce
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2004-07-26 09:21:36 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2004-07-26 09:21:36 +0000
commit135f0cdfa3cce5d6d3bf1d9d4c3658353cd44f36 (patch)
tree8ba151ba3b5035f35544dd2c72f4dfe2efae0c5b /asn1/x509ce
parent1b3acfff24c7c7ef33a091a11cc0051a095f894a (diff)
downloadwireshark-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.asn392
-rw-r--r--asn1/x509ce/packet-x509ce-template.c243
-rw-r--r--asn1/x509ce/x509ce.cnf2
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