diff options
author | Anders Broman <anders.broman@ericsson.com> | 2005-12-05 23:00:03 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2005-12-05 23:00:03 +0000 |
commit | f27bf1302279c2f360963deaf46bb9d3d8a40513 (patch) | |
tree | 986dc30eaabd17a0972313bb79b14ecb61d3b8de /asn1/x420/x420.asn | |
parent | fcd9e87872d1b2b77fb0c21ab08966a96c37832f (diff) |
From Grame Lunt:
a patch for the X.411, X420 and CMS dissectors to implement the remaining heading extensions and bodyparts.
This includes GeneralText BP, forwarded content BP (forwarded p22 and forwarded p772), PKCS#7 BP, and "business class" messaging extensions.
The X.411 extensions using the SIGNATURE macro have also been implemented. There is also a fix for a bug in the dissection of integer 22 content type.
Graeme
svn path=/trunk/; revision=16689
Diffstat (limited to 'asn1/x420/x420.asn')
-rw-r--r-- | asn1/x420/x420.asn | 416 |
1 files changed, 408 insertions, 8 deletions
diff --git a/asn1/x420/x420.asn b/asn1/x420/x420.asn index 70e0d93052..8a58ecd4fa 100644 --- a/asn1/x420/x420.asn +++ b/asn1/x420/x420.asn @@ -68,7 +68,9 @@ IMPORTS EncodedInformationTypes, ExtendedCertificates, EXTENSION, G3FacsimileNonBasicParameters, MessageDeliveryTime, ORName, OtherMessageDeliveryFields, SupplementaryInformation, - TeletexNonBasicParameters + TeletexNonBasicParameters, UniversalOrBMPString, SecurityLabel, + MessageDeliveryIdentifier, ProofOfSubmission, OriginatingMTACertificate, + MessageSubmissionEnvelope --== FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) mts-abstract-service(1) version-1999(1)} @@ -93,7 +95,12 @@ IMPORTS -- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- object-identifiers(0) version-1999(1)} ; -- EXTERNAL - FROM ACSE-1; + FROM ACSE-1 + CertificateAssertion + --== + FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1) + certificateExtensions(26) 0}; + Time ::= UTCTime @@ -344,9 +351,13 @@ G3FacsimileParameters ::= SET { G3FacsimileData ::= SEQUENCE OF BIT STRING -- G4 Class 1 and Mixed-mode body parts -G4Class1BodyPart ::= SEQUENCE OF Interchange-Data-Element +G4Class1BodyPart ::= G4Class1Data + +G4Class1Data ::= SEQUENCE OF Interchange-Data-Element -MixedModeBodyPart ::= SEQUENCE OF Interchange-Data-Element +MixedModeBodyPart ::= MixedModeData + +MixedModeData ::= SEQUENCE OF Interchange-Data-Element -- Teletex body part TeletexBodyPart ::= SEQUENCE { @@ -388,7 +399,7 @@ EncryptedParameters ::= SET { ... } -EncryptedData ::= BIT STRING(CONSTRAINED BY {BodyPart}) +EncryptedData ::= BIT STRING --(CONSTRAINED BY {BodyPart}) -- Message body part MessageBodyPart ::= SEQUENCE { @@ -601,10 +612,10 @@ BodyPartReferences ::= SEQUENCE OF BodyPartReference BodyPartReference ::= CHOICE { stored-entry [0] SequenceNumber, stored-content [1] SequenceNumber, - submitted-body-part [2] INTEGER(1..MAX), + submitted-body-part [2] INTEGER--(1..MAX)--, stored-body-part [3] SEQUENCE {message-entry SequenceNumber, - body-part-number INTEGER(1..MAX)} + body-part-number --INTEGER(1..MAX)-- BodyPartNumber} } --originator-body-part-encryption-token MS-EXTENSION ::= { @@ -637,7 +648,396 @@ NationallyDefinedBodyPart ::= ANY -- cannot refer to basic types in .cnf .#REGISTER - so we create an intermediate type OriginatingUA ::= IA5String -END -- of IPMSInformationObjects +-- END - - of IPMSInformationObjects + + +-- 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 + --== +-- 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, +-- IDENTIFIED BY id-hex-languages +--} + +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 +--} + +Signature ::= SEQUENCE { + algorithmIdentifier AlgorithmIdentifier, + encrypted BIT STRING +} + + +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) + +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 + +CirculationSignatureData ::= +-- SIGNED +-- { --SEQUENCE {algorithm-identifier CirculationSignatureAlgorithmIdentifier, + this-IPM ThisIPMField, + timestamp CirculationTime} --} + +-- expand SIGNED macro + +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 +--} + +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 + +-- Module IPMSExtendedBodyPartTypes2 (X.420:06/1999) +-- IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7) modules(0) +-- extended-body-part-types-2(1)} DEFINITIONS IMPLICIT TAGS ::= +--BEGIN + +-- Prologue +-- Exports everything. +--IMPORTS + -- IPMS Information Objects +-- EXTENDED-BODY-PART-TYPE + --== +-- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) +-- information-objects(2) version-1999(1)} + -- IPMS Object Identifiers +-- id-ep-general-text, id-et-general-text + --== +-- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) +-- object-identifiers(0) version-1999(1)}; + +-- General Text body part +--general-text-body-part EXTENDED-BODY-PART-TYPE ::= { +-- PARAMETERS {GeneralTextParameters +-- IDENTIFIED BY id-ep-general-text}, +-- DATA {GeneralTextData +-- IDENTIFIED BY id-et-general-text} +--} + +GeneralTextParameters ::= SET OF CharacterSetRegistration + +GeneralTextData ::= GeneralString + +CharacterSetRegistration ::= INTEGER(1..32767) + +--END - - of IPMSExtendedBodyPartTypes2 + +-- Module IPMSExtendedVoiceBodyPartType (X.420:06/1999) +--IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0) +-- extended-voice-body-part-type(11)} DEFINITIONS IMPLICIT TAGS ::= +--BEGIN + +-- Prologue +-- Exports everything. +--IMPORTS + -- IPMS Information Objects +-- EXTENDED-BODY-PART-TYPE + --== +-- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) +-- information-objects(2) version-1999(1)} + -- IPMS Object Identifiers +-- id-ep-voice, id-et-voice + --== +-- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) +-- object-identifiers(0) version-1999(1)}; + +-- Extended Voice body part +--voice-body-part EXTENDED-BODY-PART-TYPE ::= { +-- PARAMETERS {VoiceParameters +-- IDENTIFIED BY id-ep-voice}, +-- DATA {VoiceData +-- IDENTIFIED BY id-et-voice} +--} + +VoiceParameters ::= SEQUENCE { + voice-message-duration [0] INTEGER OPTIONAL, -- In seconds + voice-encoding-type [1] OBJECT IDENTIFIER, + supplementary-information [2] IA5String OPTIONAL +} + +VoiceData ::= OCTET STRING + +--END - - of IPMSExtendedVoiceBodyPartType + +-- Module IPMSForwardedContentBodyPartType (X.420:06/1999) +--IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0) +-- forwarded-content-body-part-type(15)} DEFINITIONS IMPLICIT TAGS ::= +--BEGIN + +-- Prologue +-- Exports everything. +--IMPORTS + -- MTS Abstract Service +-- Content, ExtendedContentType, MessageDeliveryIdentifier, MessageDeliveryTime, +-- MessageSubmissionEnvelope, OriginatingMTACertificate, +-- OtherMessageDeliveryFields, ProofOfSubmission + --== +-- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) +-- mts-abstract-service(1) version-1999(1)} + -- IPMS Information Objects +-- EXTENDED-BODY-PART-TYPE + --== +-- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) +-- information-objects(2) version-1999(1)} + -- IPMS Object Identifiers +-- id-ep-content, id-et-content + --== +-- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) +-- object-identifiers(0) version-1999(1)}; + +-- Forwarded Content body part +--content-body-part{ExtendedContentType:content-type} EXTENDED-BODY-PART-TYPE ::= +-- { +-- PARAMETERS +-- {ForwardedContentParameters +-- IDENTIFIED BY {id-ep-content content-type}}, +-- DATA {Content +-- IDENTIFIED BY {id-et-content content-type}} +--} + +ForwardedContentParameters ::= SET { + delivery-time [0] MessageDeliveryTime OPTIONAL, + delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL, + mts-identifier [2] MessageDeliveryIdentifier OPTIONAL, + submission-proof [3] SubmissionProof OPTIONAL +} + +SubmissionProof ::= SET { + proof-of-submission [0] ProofOfSubmission, + originating-MTA-certificate [1] OriginatingMTACertificate, + message-submission-envelope MessageSubmissionEnvelope +} + +END -- of IPMSForwardedContentBodyPartType -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + |