wireshark/asn1/x420/IPMSHeadingExtensions.asn
Graeme Lunt 0c7876ca39 Revised X.420 dissector using separate ASN.1 modules and making the bare minimum changes to those modules that asn2wrs requires.
Also supports the X.420 message store attributes, used over P7.


svn path=/trunk/; revision=23981
2008-01-02 09:34:34 +00:00

269 lines
7.8 KiB
Groff

-- $Id$
-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
-- Module IPMSHeadingExtensions (X.420:06/1999)
IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
heading-extensions(6) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- Prologue
-- Exports everything.
IMPORTS
-- IPMS Information Objects
IPMS-EXTENSION, ORDescriptor, RecipientSpecifier, ThisIPMField, BodyPart,
BodyPartNumber
--==
FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
information-objects(2) version-1999(1)}
-- MTS Abstract Service
ExtendedCertificates, SecurityLabel, UniversalOrBMPString{}
--==
FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
mts-abstract-service(1) version-1999(1)}
-- Directory Authentication Framework
AlgorithmIdentifier, SIGNATURE{}, SIGNED{}
--==
FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
authenticationFramework(7) 3}
-- Directory Certificate Extensions
CertificateAssertion
--==
FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
certificateExtensions(26) 0}
-- IPMS upper bounds
ub-alpha-code-length, ub-circulation-list-members, ub-distribution-codes,
ub-extended-subject-length, ub-information-categories,
ub-information-category-length, ub-manual-handling-instruction-length,
ub-manual-handling-instructions, ub-originators-reference-length,
ub-precedence
--==
FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
upper-bounds(10) version-1999(1)}
-- IPMS Object Identifiers
id-hex-authorization-time, id-hex-auto-submitted,
id-hex-body-part-signatures, id-hex-circulation-list-recipients,
id-hex-distribution-codes, id-hex-extended-subject, id-hex-incomplete-copy,
id-hex-information-category, id-hex-ipm-security-label, id-hex-languages,
id-hex-manual-handling-instructions, id-hex-originators-reference,
id-hex-precedence-policy-id, id-rex-circulation-list-indicator,
id-rex-precedence
--==
FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
object-identifiers(0) version-1999(1)};
-- Incomplete Copy
incomplete-copy IPMS-EXTENSION ::= {
VALUE IncompleteCopy,
IDENTIFIED BY id-hex-incomplete-copy
}
IncompleteCopy ::= NULL
-- Languages
languages IPMS-EXTENSION ::= {
VALUE --SET OF Language-- Languages,
IDENTIFIED BY id-hex-languages
}
--WS: Support dissection of extension
Languages ::= SET OF Language
Language ::= PrintableString(SIZE (2 | 5))
-- Auto-submitted
auto-submitted IPMS-EXTENSION ::= {
VALUE AutoSubmitted,
IDENTIFIED BY id-hex-auto-submitted
}
AutoSubmitted ::= ENUMERATED {
not-auto-submitted(0), auto-generated(1), auto-replied(2)}
body-part-signatures IPMS-EXTENSION ::= {
VALUE BodyPartSignatures,
IDENTIFIED BY id-hex-body-part-signatures
}
BodyPartSignatures ::=
SET OF
SET {body-part-number BodyPartNumber,
body-part-signature BodyPartSignature,
originator-certificate-selector [1] CertificateAssertion OPTIONAL,
originator-certificates [0] ExtendedCertificates OPTIONAL,
...}
--BodyPartNumber ::= INTEGER(1..MAX)
-- WS: Import Signature definition
Signature ::= SEQUENCE {
algorithmIdentifier AlgorithmIdentifier,
encrypted BIT STRING
}
BodyPartSignature ::= Signature
-- SIGNATURE
-- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
-- body-part BodyPart,
-- body-part-security-label SecurityLabel OPTIONAL
-- }}
ipm-security-label IPMS-EXTENSION ::= {
VALUE IPMSecurityLabel,
IDENTIFIED BY id-hex-ipm-security-label
}
IPMSecurityLabel ::= SEQUENCE {
content-security-label [0] SecurityLabel,
heading-security-label [1] SecurityLabel OPTIONAL,
body-part-security-labels [2] SEQUENCE OF BodyPartSecurityLabel OPTIONAL
}
BodyPartSecurityLabel ::= CHOICE {
body-part-unlabelled [0] NULL,
body-part-security-label [1] SecurityLabel
}
-- Authorization Time
authorization-time IPMS-EXTENSION ::= {
VALUE AuthorizationTime,
IDENTIFIED BY id-hex-authorization-time
}
AuthorizationTime ::= GeneralizedTime
-- Circulation List
circulation-list-recipients IPMS-EXTENSION ::= {
VALUE CirculationList,
IDENTIFIED BY id-hex-circulation-list-recipients
}
CirculationList ::=
SEQUENCE (SIZE (2..ub-circulation-list-members)) OF CirculationMember
CirculationMember ::= SET {
circulation-recipient
RecipientSpecifier
(WITH COMPONENTS {
...,
recipient (WITH COMPONENTS {
...,
formal-name PRESENT
})
}),
checked Checkmark OPTIONAL
}
Checkmark ::= CHOICE {
simple NULL,
timestamped CirculationTime,
signed CirculationSignature
}
CirculationTime ::= GeneralizedTime
--WS: expand SIGNED MACRO manually
CirculationSignatureData ::=
-- SIGNED
-- {-- SEQUENCE {algorithm-identifier CirculationSignatureAlgorithmIdentifier,
this-IPM ThisIPMField,
timestamp CirculationTime}--}
CirculationSignature ::= SEQUENCE {
circulation-signature-data CirculationSignatureData,
algorithm-identifier AlgorithmIdentifier,
encrypted BIT STRING
}
CirculationSignatureAlgorithmIdentifier ::= AlgorithmIdentifier
-- Circulation List Indicator
circulation-list-indicator IPMS-EXTENSION ::= {
VALUE NULL,
IDENTIFIED BY id-rex-circulation-list-indicator
}
--WS: Allow dissection.
CirculationListIndicator ::= NULL
-- Distribution Codes
distribution-codes IPMS-EXTENSION ::= {
VALUE DistributionCodes,
IDENTIFIED BY id-hex-distribution-codes
}
DistributionCodes ::=
SEQUENCE (SIZE (1..ub-distribution-codes)) OF DistributionCode
DistributionCode ::= SEQUENCE {
oid-code OBJECT IDENTIFIER OPTIONAL,
alphanumeric-code AlphaCode OPTIONAL,
or-descriptor [0] ORDescriptor OPTIONAL
}
AlphaCode ::= UniversalOrBMPString{ub-alpha-code-length}
-- Extended Subject
extended-subject IPMS-EXTENSION ::= {
VALUE ExtendedSubject,
IDENTIFIED BY id-hex-extended-subject
}
ExtendedSubject ::= UniversalOrBMPString{ub-extended-subject-length}
-- Information category
information-category IPMS-EXTENSION ::= {
VALUE InformationCategories,
IDENTIFIED BY id-hex-information-category
}
InformationCategories ::=
SEQUENCE (SIZE (1..ub-information-categories)) OF InformationCategory
InformationCategory ::= SEQUENCE {
reference [0] OBJECT IDENTIFIER OPTIONAL,
description [1] DescriptionString OPTIONAL
}
DescriptionString ::= UniversalOrBMPString{ub-information-category-length}
-- Manual handling Instructions
manual-handling-instructions IPMS-EXTENSION ::= {
VALUE ManualHandlingInstructions,
IDENTIFIED BY id-hex-manual-handling-instructions
}
ManualHandlingInstructions ::=
SEQUENCE (SIZE (1..ub-manual-handling-instructions)) OF
ManualHandlingInstruction
ManualHandlingInstruction ::=
UniversalOrBMPString{ub-manual-handling-instruction-length}
-- Originator's Reference
originators-reference IPMS-EXTENSION ::= {
VALUE OriginatorsReference,
IDENTIFIED BY id-hex-originators-reference
}
OriginatorsReference ::= UniversalOrBMPString{ub-originators-reference-length}
-- Precedence Policy Identifier
precedence-policy-identifier IPMS-EXTENSION ::= {
VALUE PrecedencePolicyIdentifier,
IDENTIFIED BY id-hex-precedence-policy-id
}
PrecedencePolicyIdentifier ::= OBJECT IDENTIFIER
-- Precedence
precedence IPMS-EXTENSION ::= {
VALUE Precedence,
IDENTIFIED BY id-rex-precedence
}
Precedence ::= INTEGER(0..ub-precedence)
END -- of IPMSHeadingExtensions
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D