aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/asn1_SUITE_data/rfcs/SeseAPDUs.asn1
diff options
context:
space:
mode:
Diffstat (limited to 'lib/asn1/test/asn1_SUITE_data/rfcs/SeseAPDUs.asn1')
-rw-r--r--lib/asn1/test/asn1_SUITE_data/rfcs/SeseAPDUs.asn1116
1 files changed, 116 insertions, 0 deletions
diff --git a/lib/asn1/test/asn1_SUITE_data/rfcs/SeseAPDUs.asn1 b/lib/asn1/test/asn1_SUITE_data/rfcs/SeseAPDUs.asn1
new file mode 100644
index 0000000000..2917122e94
--- /dev/null
+++ b/lib/asn1/test/asn1_SUITE_data/rfcs/SeseAPDUs.asn1
@@ -0,0 +1,116 @@
+-- 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
+