wireshark/asn1/p22/IPMSHeadingExtensions.asn

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