-- Module SeseAPDUs (X.832:04/1995) SeseAPDUs {joint-iso-itu-t genericULS(20) modules(1) seseAPDUs(6)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN -- EXPORTS ALL IMPORTS notation FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1) objectIdentifiers(0)} dirAuthenticationTwoWay FROM GulsSecurityExchanges {joint-iso-itu-t genericULS(20) modules(1) gulsSecurityExchanges(2)} SECURITY-EXCHANGE, SE-ERROR FROM Notation notation; SESEapdus{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::= CHOICE { se-transfer SETransfer{{ValidSEs}, {InvocationIdSet}}, se-u-abort SEUAbort{{ValidSEs}, {InvocationIdSet}}, se-p-abort SEPAbort{{ValidSEs}, {InvocationIdSet}} } SETransfer{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::= SEQUENCE { seIdentifier SECURITY-EXCHANGE.&sE-Identifier({ValidSEs}), -- This identifies one of the security- -- exchanges supported by the particular SESE -- abstract syntax itemIdentifier SECURITY-EXCHANGE.&SE-Items.&itemId({ValidSEs}{@seIdentifier}), -- This identifies one of the security- -- exchange-items of the security exchange -- indicated by "seIdentifier" seItem SECURITY-EXCHANGE.&SE-Items.&ItemType ({ValidSEs}{@seIdentifier, @itemIdentifier}), invocationId InvocationId(InvocationIdSet) (CONSTRAINED BY {-- Must be the same as the---- invocationId on an active security exchange-- -- if start flag is not true -- }) DEFAULT noInvocationId, startFlag BOOLEAN DEFAULT FALSE, -- This field is set only as the first security- -- exchange-item of a security-exchange is -- transferred. endFlag BOOLEAN DEFAULT FALSE-- This field is set as the last security-exchange- -- item of a security-exchange is transferred. It is -- needed to accommodate those mechanisms requiring -- n exchanges, where n is not known a priori } SEUAbort{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::= SEQUENCE { invocationId InvocationId(InvocationIdSet) (CONSTRAINED BY {-- Must be the same as the---- invocationId on an active or just-completed-- -- security exchange -- }) DEFAULT noInvocationId, itemIdentifier SECURITY-EXCHANGE.&SE-Items.&itemId({ValidSEs.&SE-Items}) OPTIONAL, -- This component will only be present -- when the Abort is generated subsequent -- to receipt of a SETransfer APDU. errors SEQUENCE OF SEerror{{ValidSEs}} OPTIONAL -- needed to handle multiple error codes } SEPAbort{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::= SEQUENCE { invocationId InvocationId(InvocationIdSet) OPTIONAL, itemIdentifier SECURITY-EXCHANGE.&SE-Items.&itemId({ValidSEs.&SE-Items}) OPTIONAL, -- This component will only be present -- when the Abort is generated subsequent -- to receipt of a SETransfer APDU. problemCode ProblemCode } InvocationId ::= CHOICE {present INTEGER, absent NULL } noInvocationId InvocationId ::= absent:NULL NoInvocationId InvocationId ::= {noInvocationId} SEerror{SECURITY-EXCHANGE:ValidSEs} ::= SEQUENCE { errorCode SE-ERROR.&errorCode({Errors{{ValidSEs}}}) OPTIONAL, errorParameter SE-ERROR.&ParameterType({Errors{{ValidSEs}}}) OPTIONAL } Errors{SECURITY-EXCHANGE:ValidSEs} SE-ERROR ::= {ValidSEs.&SE-Items.&Errors} ProblemCode ::= CHOICE { general GeneralProblem, transfer TransferProblem, abort AbortProblem } GeneralProblem ::= ENUMERATED {invalidAPDU(0)} TransferProblem ::= ENUMERATED { duplicateInvocationId(0), unrecognizedSecurityExchange(1), mistypedItem(2), inappropriateInvocationId(3), alternatingSequenceError(4)} AbortProblem ::= ENUMERATED { unrecognizedInvocationId(0), abortUnexpected(1), unrecognizedError(2), unexpectedError(3), mistypedErrorParameter(4)} END -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D