home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / Lib / x400 / authen.py next >
Encoding:
Text File  |  1991-12-18  |  3.9 KB  |  200 lines

  1. -- authen.py:
  2.  
  3.  
  4. -- @(#) $Header: /xtel/pp/pp-beta/Lib/x400/RCS/authen.py,v 6.0 1991/12/18 20:25:37 jpo Rel $
  5. --
  6. -- $Log: authen.py,v $
  7. -- Revision 6.0  1991/12/18  20:25:37  jpo
  8. -- Release 6.0
  9. --
  10. --
  11. --
  12.  
  13. -- Authentication Framework for LOCATOR project.
  14. -- Based on Geneva X.509 Authentication Framework
  15. -- Written by M.Roe, University College London.
  16.  
  17. -- Version 1 April    1988
  18. -- Version 2 August   1988 (for ISODE-4.0)
  19. -- Version 3 November 1988 (Copenhagen IS)
  20. -- Version 4 June     1989 (Minor change to revocation list)
  21.  
  22.  
  23.  
  24. Auth
  25. -- {iso identified-organization(3) locator(999) modules(0) authentication(1)}
  26. DEFINITIONS ::=
  27.  
  28. BEGIN
  29. -- IMPORTS
  30. -- Change
  31. --        Name
  32. --                FROM IF
  33. --                        {
  34. --                        joint-iso-ccitt
  35. --                        ds(5)
  36. --                        modules(1)
  37. --                        informationFramework(1)
  38. --                        };
  39.  
  40. -- Declare forward references to other modules as ANY
  41.  
  42. Name ::=
  43.     ANY
  44.  
  45. External ::=
  46.     ANY
  47.  
  48. -- Use this type to represent the ENCRYPTED macro.
  49. -- Should be BIT STRING, but use OCTET STRING for the moment.
  50.  
  51. Encrypted ::=
  52.    BIT STRING
  53.  
  54. -- Use this type to represent the SIGNED macro.
  55.  
  56. SignedType ::=
  57.    SEQUENCE {
  58.     tobesigned External,
  59.     algorithm AlgorithmIdentifier,
  60.     signature Encrypted}
  61.  
  62. -- Use this type to represent the SIGNATURE macro.
  63.  
  64. Signature ::=
  65.    SEQUENCE {
  66.     algorithm AlgorithmIdentifier,
  67.     signature Encrypted}
  68.  
  69. -- Use this type to represent the PROTECTED macro.
  70.  
  71. Protected ::=
  72.     Signature
  73.  
  74. -- These types are created by the SIGNED macro.
  75.  
  76. CertificateList ::=
  77.     SignedType
  78.  
  79. Certificate ::=
  80.     SignedType
  81.  
  82. HotList ::=
  83.     SignedType
  84.  
  85. -- This is signed to make CertificateList
  86.  
  87. ListBody ::=
  88.    SEQUENCE {
  89.      signature             AlgorithmIdentifier,
  90.      issuer                Name,
  91.      lastUpdate         UTCTime,
  92.      revokedCertificates    HotList OPTIONAL}
  93.  
  94. -- This is signed to make Certificate
  95.  
  96. CertificateBody ::=
  97.     SEQUENCE {
  98.       version             [0] Version DEFAULT 0,
  99.       serialNumber        SerialNumber,
  100.       signature            AlgorithmIdentifier,
  101.       issuer            Name,
  102.       validity          Validity,
  103.       subject            Name,
  104.       subjectPublicKeyInfo    SubjectPublicKeyInfo}
  105.  
  106. -- This is signed to revoke a certificate
  107.  
  108. RevokedCertficate ::=
  109.     SEQUENCE {
  110.       signature            AlgorithmIdentifier,
  111.       issuer            Name,
  112.       serialNumber              SerialNumber,
  113.       revocationDate        UTCTime}
  114.  
  115. Version ::= 
  116.     INTEGER
  117.  
  118. SerialNumber ::=
  119.     INTEGER
  120.  
  121. Validity ::=
  122.     SEQUENCE {
  123.     notBefore    UTCTime,
  124.     notAfter    UTCTime}
  125.  
  126. SubjectPublicKeyInfo ::=
  127.      SEQUENCE {
  128.     algorithm        AlgorithmIdentifier,
  129.     subjectPublicKey    EncryptionKey}
  130.  
  131. EncryptionKey ::=
  132.      BIT STRING
  133.  
  134. AlgorithmIdentifier ::=
  135.      SEQUENCE {
  136.     algorithm    OBJECT IDENTIFIER,
  137.      parameters    INTEGER} 
  138.  
  139. -- These are the possible parameters
  140.  
  141. KeySize ::= 
  142.     INTEGER
  143.  
  144. BlockSize ::=
  145.     INTEGER
  146.  
  147. KeyAndBlockSize ::=
  148.     INTEGER
  149.  
  150.  
  151. -- Attribute Syntaxes
  152.  
  153. -- CertificateSyntax ::= ATTRIBUTE-SYNTAX
  154. --    Certificate
  155. --    MULTI-VALUED
  156. --    MATCHES FOR EQUALITY
  157. --
  158. -- CertificateListSyntax ::= ATTRIBUTE-SYNTAX
  159. --    CertificateList
  160. --    SINGLE-VALUED
  161. --    MATCHES FOR EQUALITY
  162. --
  163. -- PasswordSyntax ::= ATTRIBUTE-SYNTAX
  164. --    Password
  165. --    SINGLE-VALUED
  166. --    MATCHES FOR EQUALITY
  167. --
  168. -- UserCertificate ::= ATTRIBUTE 
  169. --    WITH ATTRIBUTE-SYNTAX CertificateSyntax
  170. --
  171. -- CACertificate ::= ATTRIBUTE
  172. --    WITH ATTRIBUTE-SYNTAX CertificateSyntax
  173. --
  174. -- CertificateRevocationList ::= ATTRIBUTE
  175. --    WITH ATTRIBUTE-SYNTAX CertificateListSyntax
  176. --
  177. -- AuthorityRevocationList ::= ATTRIBUTE
  178. --    WITH ATTRIBUTE-SYNTAX CertificateListSyntax
  179. --
  180. -- UserPassword ::= ATTRIBUTE
  181. --    WITh ATTRIBUTE-SYNTAX PasswordSyntax
  182. --
  183. -- userPassword UserPassword ::= 
  184. --    {attributeType 35}
  185. --
  186. -- userCertificate UserCertificate ::= 
  187. --    {attributeType 36}
  188. --
  189. -- caCertificate CACertificate ::= 
  190. --    {attributeType 37}
  191. --
  192. -- authorityRevocationList AuthorityRevocationList ::=
  193. --    {attributeType 38}
  194. --
  195. -- certificateRevocationList CertificateRevocationList ::=
  196. --    {attributeType 39}
  197. --
  198.  
  199. END
  200.