From Grame Lunt:
[obnox/wireshark/wip.git] / asn1 / x420 / x420.asn
index 70e0d93052eaaa69df8318765a330afcb6c4c257..8a58ecd4fa5a510fcc86247bb0b3a34e5b7bae97 100644 (file)
@@ -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
 
+