aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/pkix1explicit
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2007-10-07 16:02:04 +0000
committerAnders Broman <anders.broman@ericsson.com>2007-10-07 16:02:04 +0000
commit0de04bfc2439ac38efa23590dadd54e4a2ad7b90 (patch)
tree4e88e1cd2000c2c065904438d581b04467e140e3 /asn1/pkix1explicit
parentdd122682775a7e1a59bdbf668f8a39db6f8cef89 (diff)
From Martin Peylo:
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1888 There are new versions of CMP (v2) in RFC4210 and CRMF (v2) in RFC4211. The right to exist of CRMF is bound to CMP so I don't split that into two bug reports. I'll upload the new (slightly handmassaged) ASN.1 files for both protocols, along with patches for the respective cnf files, where I also added new #.REGISTER statements. Additionally I had to export some definitions from pkix1explicit (Attribute, Time, UniqueIdentifier and Version) and from pkix1implicit (KeyIdentifier). I'll also upload a patch for that. I uploaded a CMPv2 sample (with errors in the protocol!) to the wiki. svn path=/trunk/; revision=23082
Diffstat (limited to 'asn1/pkix1explicit')
-rw-r--r--asn1/pkix1explicit/Makefile2
-rw-r--r--asn1/pkix1explicit/Makefile.nmake2
-rw-r--r--asn1/pkix1explicit/PKIX1EXPLICIT93.asn15
-rw-r--r--asn1/pkix1explicit/pkix1explicit-exp.cnf8
-rw-r--r--asn1/pkix1explicit/pkix1explicit.cnf10
-rw-r--r--asn1/pkix1explicit/pkix1explicit_exp.cnf8
6 files changed, 38 insertions, 7 deletions
diff --git a/asn1/pkix1explicit/Makefile b/asn1/pkix1explicit/Makefile
index 6ed4f2585e..4dc179e2d8 100644
--- a/asn1/pkix1explicit/Makefile
+++ b/asn1/pkix1explicit/Makefile
@@ -7,7 +7,7 @@ all: generate_dissector
generate_dissector: $(DISSECTOR_FILES)
$(DISSECTOR_FILES): ../../tools/asn2wrs.py PKIX1EXPLICIT93.asn packet-pkix1explicit-template.c packet-pkix1explicit-template.h pkix1explicit.cnf
- python ../../tools/asn2wrs.py -e -b -p pkix1explicit -c pkix1explicit.cnf -s packet-pkix1explicit-template PKIX1EXPLICIT93.asn
+ python ../../tools/asn2wrs.py -e -b -X -T -p pkix1explicit -c pkix1explicit.cnf -s packet-pkix1explicit-template PKIX1EXPLICIT93.asn
clean:
rm -f pkix1explicit-exp.cnf parsetab.py $(DISSECTOR_FILES)
diff --git a/asn1/pkix1explicit/Makefile.nmake b/asn1/pkix1explicit/Makefile.nmake
index 0ddc6bc643..ff589fbd9c 100644
--- a/asn1/pkix1explicit/Makefile.nmake
+++ b/asn1/pkix1explicit/Makefile.nmake
@@ -15,7 +15,7 @@ generate_dissector: $(DISSECTOR_FILES)
$(DISSECTOR_FILES): ../../tools/asn2wrs.py PKIX1EXPLICIT93.asn packet-pkix1explicit-template.c packet-pkix1explicit-template.h pkix1explicit.cnf
!IFDEF PYTHON
- $(PYTHON) "../../tools/asn2wrs.py" -e -b -p $(PROTOCOL_NAME) -c pkix1explicit.cnf -s packet-pkix1explicit-template PKIX1EXPLICIT93.asn
+ $(PYTHON) "../../tools/asn2wrs.py" -e -b -X -T -p $(PROTOCOL_NAME) -c pkix1explicit.cnf -s packet-pkix1explicit-template PKIX1EXPLICIT93.asn
!ELSE
@echo Error: You need Python to use asn2wrs.py
@exit 1
diff --git a/asn1/pkix1explicit/PKIX1EXPLICIT93.asn b/asn1/pkix1explicit/PKIX1EXPLICIT93.asn
index 86a52ac153..799e820f56 100644
--- a/asn1/pkix1explicit/PKIX1EXPLICIT93.asn
+++ b/asn1/pkix1explicit/PKIX1EXPLICIT93.asn
@@ -117,9 +117,9 @@ IMPORTS
-- }
--}
--
---UniqueIdentifier ::= BIT STRING
+UniqueIdentifier ::= BIT STRING
--
---Version ::= INTEGER { v1(0), v2(1), v3(2) }
+Version ::= INTEGER { v1(0), v2(1), v3(2) }
-- This one is defined with .NO_EMIT in the conformance file
-- and implemented in the template as just a call to the
@@ -130,9 +130,9 @@ CertificateSerialNumber ::= INTEGER
-- notBefore Time,
-- notAfter Time }
--
---Time ::= CHOICE {
--- utcTime UTCTime,
--- generalTime GeneralizedTime }
+Time ::= CHOICE {
+ utcTime UTCTime,
+ generalTime GeneralizedTime }
--
@@ -362,6 +362,11 @@ ValidationParms ::= SEQUENCE {
-- values SET SIZE (1 .. MAX) OF ATTRIBUTE.&Type
-- ({SupportedAttributes}{@type})}
+Attribute ::= SEQUENCE {
+ type OBJECT IDENTIFIER,
+ values SET SIZE (1 .. MAX) OF ANY
+ -- at least one value is required -- }
+
AttributeTypeAndValue ::= SEQUENCE {
type OBJECT IDENTIFIER,
value ANY
diff --git a/asn1/pkix1explicit/pkix1explicit-exp.cnf b/asn1/pkix1explicit/pkix1explicit-exp.cnf
index a2dd2fb5c0..c167bde3a0 100644
--- a/asn1/pkix1explicit/pkix1explicit-exp.cnf
+++ b/asn1/pkix1explicit/pkix1explicit-exp.cnf
@@ -8,9 +8,13 @@ PKIX1Explicit93 pkix1explicit
#.END
#.IMPORT_TAG
+UniqueIdentifier BER_CLASS_UNI BER_UNI_TAG_BITSTRING
+Version BER_CLASS_UNI BER_UNI_TAG_INTEGER
CertificateSerialNumber BER_CLASS_UNI BER_UNI_TAG_INTEGER
+Time BER_CLASS_ANY/*choice*/ -1/*choice*/
Extensions BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
Extension BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+Attribute BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
AttributeTypeAndValue BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
RDNSequence BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
RelativeDistinguishedName BER_CLASS_UNI BER_UNI_TAG_SET
@@ -20,9 +24,13 @@ TeletexDomainDefinedAttribute BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
#.END
#.TYPE_ATTR
+UniqueIdentifier TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+Version TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = VALS(pkix1explicit_Version_vals) BITMASK = 0
CertificateSerialNumber TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+Time TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(pkix1explicit_Time_vals) BITMASK = 0
Extensions TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
Extension TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+Attribute TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
AttributeTypeAndValue TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
RDNSequence TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
RelativeDistinguishedName TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
diff --git a/asn1/pkix1explicit/pkix1explicit.cnf b/asn1/pkix1explicit/pkix1explicit.cnf
index 0e50f5955e..aefafed833 100644
--- a/asn1/pkix1explicit/pkix1explicit.cnf
+++ b/asn1/pkix1explicit/pkix1explicit.cnf
@@ -6,6 +6,7 @@
#.MODULE_IMPORT
#.EXPORTS
+Attribute
AttributeTypeAndValue
CertificateSerialNumber
DirectoryString
@@ -15,6 +16,9 @@ RelativeDistinguishedName
RDNSequence
TeletexDomainDefinedAttribute
TerminalType
+Version
+Time
+UniqueIdentifier
#.REGISTER
DirectoryString B "1.3.6.1.5.5.7.2.1" "id-qt-cps"
@@ -31,6 +35,12 @@ DomainParameters B "1.2.840.10046.2.1" "dhpublicnumber"
#.FN_BODY DirectoryString
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+#.FN_PARS Attribute/values
+ FN_VARIANT = _str HF_INDEX = hf_pkix1explicit_object_identifier_id VAL_PTR = &object_identifier_id
+
+#.FN_BODY Attribute/values/_item
+ offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
#.FN_PARS AttributeTypeAndValue/value
FN_VARIANT = _str HF_INDEX = hf_pkix1explicit_object_identifier_id VAL_PTR = &object_identifier_id
diff --git a/asn1/pkix1explicit/pkix1explicit_exp.cnf b/asn1/pkix1explicit/pkix1explicit_exp.cnf
index 3007121ce4..c7cca6fc50 100644
--- a/asn1/pkix1explicit/pkix1explicit_exp.cnf
+++ b/asn1/pkix1explicit/pkix1explicit_exp.cnf
@@ -1,6 +1,7 @@
#.IMPORT_TAG
AlgorithmIdentifier BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+Attribute BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
AttributeTypeAndValue BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
Certificate BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
CertificateList BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
@@ -15,9 +16,13 @@ RelativeDistinguishedName BER_CLASS_UNI BER_UNI_TAG_SET
SubjectPublicKeyInfo BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
TeletexDomainDefinedAttribute BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
TerminalType BER_CLASS_UNI BER_UNI_TAG_INTEGER
+Time BER_CLASS_ANY/*choice*/ -1/*choice*/
+UniqueIdentifier BER_CLASS_UNI BER_UNI_TAG_BITSTRING
+Version BER_CLASS_UNI BER_UNI_TAG_INTEGER
#.END
#.TYPE_ATTR
+Attribute TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
AttributeTypeAndValue TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
Certificate TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
CertificateList TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
@@ -32,5 +37,8 @@ RelativeDistinguishedName TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL
SubjectPublicKeyInfo TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
TeletexDomainDefinedAttribute TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
TerminalType TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+Time TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(pkix1explicit_Time_vals) BITMASK = 0
+UniqueIdentifier TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+Version TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = VALS(pkix1explicit_Version_vals) BITMASK = 0
#.END