aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/x420/x420.asn
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-12-05 23:00:03 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-12-05 23:00:03 +0000
commitf27bf1302279c2f360963deaf46bb9d3d8a40513 (patch)
tree986dc30eaabd17a0972313bb79b14ecb61d3b8de /asn1/x420/x420.asn
parentfcd9e87872d1b2b77fb0c21ab08966a96c37832f (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.asn416
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
+