|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T t
Length: 3087 (0xc0f) Types: TextFile Names: »tokens.py«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« └─⟦e5a54fb17⟧ └─⟦this⟧ »pp-5.0/Tools/mpp88/tokens.py«
-- tokens.py: -- @(#) $Header: /cs/research/pp/hubris/pp-beta/Tools/mpp88/RCS/tokens.py,v 5.0 90/09/20 16:28:45 pp Exp Locker: pp $ -- -- $Log: tokens.py,v $ -- Revision 5.0 90/09/20 16:28:45 pp -- rcsforce : 5.0 public release -- -- -- Security related definitions from X.400 -- Version 1 December 1988 -- Author: M.Roe, University College London Tokens -- {iso identified-organisation(3) locator(99) modules(0) tokens(2)} DEFINITIONS IMPLICIT TAGS ::= BEGIN IMPORTS Encrypted, SignedType, Signature, Protected, AlgorithmIdentifier, Certificate, EncryptionKey FROM Authentication; -- Security Label SecurityContext ::= SET SIZE (1..ub-security-labels) OF SecurityLabel SecurityLabel ::= SET { security-policy-identifier SecurityPolicyIdentifier OPTIONAL, security-classification SecurityClassification OPTIONAL, privacy-mark PrivacyMark OPTIONAL, security-categories SecurityCategories OPTIONAL } SecurityPolicyIdentifier ::= OBJECT IDENTIFIER SecurityClassification ::= INTEGER { unmarked (0), unclassified (1), restricted (2), confidential (3), secret (4), top-secret (5) } (0..ub-integer-options) PrivacyMark ::= PrintableString (SIZE (1..ub-privacy-mark-length)) SecurityCategories ::= SET SIZE (1..ub-security-categories) OF SecurityCategory SecurityCategory ::= SEQUENCE { type [0] OBJECT IDENTIFIER, value [1] ANY} -- Proof of Delivery ProofOfDelivery ::= SET { certificates [0] Certificates OPTIONAL, signature [1] Signature OPTIONAL} ProofOfDeliveryBody ::= SEQUENCE { algorithm AlgorithmIdentifier, time UTCTime, recipient ANY, content OCTET STRING} -- We don't handle certification paths at the moment Certificates ::= SEQUENCE { certificate Certificate} -- Tokens Token ::= SEQUENCE { type OBJECT IDENTIFIER, token [1] ANY} TokenData ::= SEQUENCE { type [0] INTEGER, value [1] ANY} AsymmetricToken ::= SignedType AsymmetricTokenBody ::= SEQUENCE { signature-algorithm-identifier AlgorithmIdentifier, time Nonce, signed-data [0] TokenData OPTIONAL, encryption-algorithm-identifier [1] AlgorithmIdentifier OPTIONAL, encrypted-data [2] Encrypted OPTIONAL} SymmetricToken ::= SEQUENCE { algorithm AlgorithmIdentifier, encrypted-data Encrypted} SymmetricTokenBody ::= SEQUENCE { time Nonce, data TokenData} Nonce ::= CHOICE { time Time, random RandomNumber} RandomNumber ::= BIT STRING MessageTokenSignedData ::= SEQUENCE { content-confidentiality-algorithm [0] AlgorithmIdentifier OPTIONAL, content-integrity-check [1] Signature OPTIONAL, message-sequence-number [4] INTEGER DEFAULT 0} MessageTokenEncryptedData ::= SEQUENCE { content-confidentiality-key [0] EncryptionKey OPTIONAL, content-integrity-check [1] Signature OPTIONAL, content-integrity-key [3] EncryptionKey OPTIONAL, message-sequence-number [4] INTEGER DEFAULT 0} Time ::= UTCTime END