|
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 a
Length: 7790 (0x1e6e) Types: TextFile Names: »af-enc.py«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z« └─⟦de7628f85⟧ └─⟦this⟧ »isode-6.0/dsap/x500as/af-enc.py«
-- af-enc.py - manually-augmented AuthenticationFramework module -- $Header: /f/osi/dsap/x500as/RCS/af-enc.py,v 7.0 89/11/23 21:50:03 mrose Rel $ -- -- -- $Log: af-enc.py,v $ -- Revision 7.0 89/11/23 21:50:03 mrose -- Release 6.0 -- -- -- NOTICE -- -- Acquisition, use, and distribution of this module and related -- materials are subject to the restrictions of a license agreement. -- Consult the Preface in the User's Manual for the full terms of -- this agreement. -- -- AF { joint-iso-ccitt ds(5) modules(1) authenticationFramework(7) } DEFINITIONS ::= %{ #include <stdio.h> #include "quipu/util.h" #include "quipu/name.h" #include "quipu/bind.h" #define encode_UNIV_UTCTime build_UNIV_UTCTime extern LLog * log_dsap; %} PREFIXES encode decode print BEGIN -- EXPORTS -- AlgorithmIdentifier , -- Certificate , -- Certificates , -- CertificationPath; IMPORTS Name FROM IF { joint-iso-ccitt ds(5) modules(1) informationFramework(1) }; ENCODER encode Version [[P int *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode Version (AF)")); %} INTEGER [[i *parm]] %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode Version (AF)")); %} CertificateSerialNumber [[P int *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode CertificateSerialNumber (AF)")); %} INTEGER [[i *parm]] %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode CertificateSerialNumber (AF)")); %} Validity [[P struct validity *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode Validity (AF)")); %} SEQUENCE { notBefore UTCTime [[s parm->not_before]], notAfter UTCTime [[s parm->not_after]] } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode Validity (AF)")); %} AlgorithmIdentifier [[P struct alg_id *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode AlgorithmIdentifier (AF)")); if (parm->p_type == ALG_PARM_ABSENT) parm->asn = NULLPE; else if (parm->asn == NULLPE) if (parm -> p_type = ALG_PARM_NUMERIC) parm->asn = int2prim(parm->un.numeric); %} SEQUENCE { algorithm OBJECT IDENTIFIER [[O parm->algorithm]], parameters ANY [[a parm->asn]] OPTIONAL <<parm->asn>> } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode AlgorithmIdentifier (AF)")); %} SubjectPublicKeyInfo [[P struct key_info *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode SubjectPublicKeyInfo (AF)")); %} SEQUENCE { algorithm AlgorithmIdentifier [[p &(parm->alg)]], subjectPublicKey BIT STRING [[x parm->value $ parm->n_bits]] } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode SubjectPublicKeyInfo (AF)")); %} CertificateToSign [[P struct certificate *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode CertificateToSign (AF)")); %} SEQUENCE { version [0] Version [[p &(parm->version)]] -- DEFAULT v1988 , OPTIONAL <<parm -> version>>, serialNumber CertificateSerialNumber [[p &(parm->serial)]] , signature AlgorithmIdentifier [[p &(parm -> alg)]], issuer Name [[p parm->issuer]] , validity Validity [[p &(parm->valid)]], subject Name [[p parm->subject]] , subjectPublicKeyInfo SubjectPublicKeyInfo [[p &(parm -> key)]] } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode CertificateToSign (AF)")); %} Certificate [[P struct certificate *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode Certificate (AF)")); %} SEQUENCE { CertificateToSign [[p parm]], AlgorithmIdentifier [[p &(parm->sig.alg)]], BIT STRING [[x parm->sig.encrypted $ parm->sig.n_bits]] } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode Certificate (AF)")); %} CrossCertificates [[P struct certificate_list *]] %{ struct certificate_list *tmp; %} ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode CrossCertificates (AF)")); %} SET OF <<tmp=parm;tmp;tmp=tmp->next>> Certificate [[p tmp->cert]] %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode CrossCertificates (AF)")); %} ForwardCertificationPath [[P struct certificate_list *]] %{ struct certificate_list *tmp; %} ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode ForwardCertificationPath (AF)")); %} SEQUENCE OF <<tmp=parm;tmp;tmp=tmp->superior>> CrossCertificates [[p tmp]] %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode ForwardCertificationPath (AF)")); %} Certificates [[P struct certificate_list *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode Certificates (AF)")); %} SEQUENCE { certificate Certificate [[p parm->cert]], certificationPath ForwardCertificationPath [[p parm->superior]] OPTIONAL <<parm->superior>> } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode Certificates (AF)")); %} CertificatePair [[P struct certificate_list *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode CertificatePair (AF)")); %} SEQUENCE { forward [0] Certificate [[p parm->cert]] OPTIONAL <<parm->cert>>, reverse [1] Certificate [[p parm->reverse]] OPTIONAL <<parm->reverse>> } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode CertificatePair (AF)")); %} CertificationPath [[P struct certificate_list *]] %{ struct certificate_list *tmp; %} ::= %{ DLOG(log_dsap, LLOG_TRACE, ("Abou to encode CertificationPath (AF)")); %} SEQUENCE { userCertificate Certificate [[p parm->cert]], theCACertificates SEQUENCE OF <<tmp = parm->superior; tmp; tmp = tmp->superior>> CertificatePair [[p tmp]] OPTIONAL <<parm->superior>> } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode CertificationPath (AF)")); %} RevokedCertificateToSign [[P struct revoked_certificate *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode RevokedCertificateToSign (AF)")); %} SEQUENCE { signature AlgorithmIdentifier [[p &(parm->alg)]], issuer Name [[p parm->subject]] , subject CertificateSerialNumber [[p &(parm->serial)]], revokationDate UTCTime [[s parm->revocation_date]] } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode RevokedCertificateToSign (AF)")); %} RevokedCertificates [[P struct revocation_list *]] %{ struct revoked_certificate *tmp; %} ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode RevokedCertificates (AF)")); %} SEQUENCE { SEQUENCE OF <<tmp = parm->revoked; tmp; tmp=tmp->next>> RevokedCertificateToSign [[p tmp]], AlgorithmIdentifier [[p &(parm->sig2.alg)]], BIT STRING [[x parm->sig2.encrypted $ parm->sig2.n_bits]] } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode RevokedCertificates (AF)")); %} CertificateListToSign [[P struct revocation_list *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode CertificateListToSign (AF)")); %} SEQUENCE { signature AlgorithmIdentifier [[p &(parm->alg)]], issuer Name [[p parm->issuer]] , lastUpdate UTCTime [[s parm->last_update]], revokedCertificates RevokedCertificates [[p parm]] OPTIONAL <<parm->revoked>> } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode CertificateListToSign (AF)")); %} CertificateList [[P struct revocation_list *]] ::= %{ DLOG(log_dsap, LLOG_TRACE, ("About to encode CertificateList (AF)")); %} SEQUENCE { CertificateListToSign [[p parm]], AlgorithmIdentifier [[p &(parm->sig.alg)]], BIT STRING [[x parm->sig.encrypted $ parm->sig.n_bits]] } %{ DLOG(log_dsap, LLOG_TRACE, ("Done encode CertificateList (AF)")); %} END