|
|
1.1 ! root 1: /* authen.h - parameters for strong authentication */ ! 2: ! 3: /* ! 4: * $Header: /f/osi/h/quipu/RCS/authen.h,v 7.0 89/11/23 21:56:23 mrose Rel $ ! 5: * ! 6: * ! 7: * ! 8: * $Log: authen.h,v $ ! 9: * Revision 7.0 89/11/23 21:56:23 mrose ! 10: * Release 6.0 ! 11: * ! 12: */ ! 13: ! 14: /* ! 15: * NOTICE ! 16: * ! 17: * Acquisition, use, and distribution of this module and related ! 18: * materials are subject to the restrictions of a license agreement. ! 19: * Consult the Preface in the User's Manual for the full terms of ! 20: * this agreement. ! 21: * ! 22: */ ! 23: ! 24: ! 25: #ifndef QUIPUAUTHEN ! 26: #define QUIPUAUTHEN ! 27: #include "quipu/name.h" ! 28: ! 29: /* Structures for strong authentication */ ! 30: ! 31: struct alg_id { ! 32: OID algorithm; ! 33: PE asn; ! 34: int p_type; ! 35: #define ALG_PARM_ABSENT 0 ! 36: #define ALG_PARM_UNKNOWN 1 ! 37: #define ALG_PARM_NUMERIC 2 ! 38: union { ! 39: int numeric; ! 40: } un; ! 41: }; ! 42: ! 43: struct random_number { ! 44: int n_bits; ! 45: char *value; ! 46: }; ! 47: ! 48: struct key_info { ! 49: struct alg_id alg; ! 50: int n_bits; ! 51: char *value; ! 52: }; ! 53: ! 54: struct validity { ! 55: char *not_before; ! 56: char *not_after; ! 57: }; ! 58: ! 59: struct signature { ! 60: struct alg_id alg; ! 61: PE encoded; ! 62: int n_bits; ! 63: char *encrypted; ! 64: }; ! 65: ! 66: struct certificate { ! 67: struct alg_id alg; ! 68: int version; ! 69: int serial; ! 70: DN issuer; ! 71: DN subject; ! 72: struct validity valid; ! 73: struct key_info key; ! 74: struct signature sig; ! 75: }; ! 76: ! 77: ! 78: struct certificate_list { ! 79: struct certificate *cert; ! 80: struct certificate *reverse; ! 81: struct certificate_list *next; ! 82: struct certificate_list *superior; ! 83: }; ! 84: ! 85: struct revoked_certificate { ! 86: struct alg_id alg; ! 87: DN subject; ! 88: int serial; ! 89: char *revocation_date; ! 90: struct revoked_certificate *next; ! 91: }; ! 92: ! 93: struct revocation_list { ! 94: struct alg_id alg; ! 95: DN issuer; ! 96: char *last_update; ! 97: char *next_update; /* For RFC 1040 format only */ ! 98: struct revoked_certificate *revoked; ! 99: struct signature sig; ! 100: struct signature sig2; ! 101: }; ! 102: ! 103: struct ca_record { ! 104: struct key_info key; ! 105: DN name; ! 106: struct validity valid; ! 107: /* parameters controlling jurisdiction would go here */ ! 108: struct ca_record *next; ! 109: }; ! 110: ! 111: struct protected_password { ! 112: char *passwd; ! 113: int n_octets; ! 114: char protected; ! 115: char *time1; ! 116: char *time2; ! 117: struct random_number *random1; ! 118: struct random_number *random2; ! 119: }; ! 120: ! 121: struct security_policy { ! 122: OID oid; ! 123: int p_type; ! 124: #define POLICY_PARM_ABSENT 0 ! 125: #define POLICY_PARM_UNKNOWN 1 ! 126: #define POLICY_PARM_NUMERIC 2 ! 127: #define POLICY_PARM_ACCESS 3 ! 128: union { ! 129: int numeric; ! 130: } un; ! 131: }; ! 132: ! 133: #define NULLPOLICY ((struct security_policy *) 0) ! 134: ! 135: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.