123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- typedef struct SigAlg SigAlg;
- typedef struct SigAlgVec SigAlgVec;
- typedef struct SK SK;
- typedef struct PK PK;
- typedef struct Certificate Certificate;
- typedef struct XDigestState XDigestState;
- typedef struct XAESstate XAESstate;
- typedef struct XDESstate XDESstate;
- typedef struct XIDEAstate XIDEAstate;
- typedef struct XRC4state XRC4state;
- enum
- {
- Maxbuf= 4096,
- MaxBigBytes = 1024
- };
- /* generic certificate */
- struct Certificate
- {
- Keyring_Certificate x;
- void *signa; /* actual signature */
- };
- /* generic public key */
- struct PK
- {
- Keyring_PK x;
- void *key; /* key and system parameters */
- };
- /* digest state */
- struct XDigestState
- {
- Keyring_DigestState x;
- DigestState state;
- };
- /* AES state */
- struct XAESstate
- {
- Keyring_AESstate x;
- AESstate state;
- };
- /* DES state */
- struct XDESstate
- {
- Keyring_DESstate x;
- DESstate state;
- };
- /* IDEA state */
- struct XIDEAstate
- {
- Keyring_IDEAstate x;
- IDEAstate state;
- };
- /* RC4 state */
- struct XRC4state
- {
- Keyring_RC4state x;
- RC4state state;
- };
- /* generic secret key */
- struct SK
- {
- Keyring_SK x;
- void *key; /* key and system parameters */
- };
- struct SigAlgVec {
- char *name;
- char** skattr;
- char** pkattr;
- char** sigattr;
- void* (*str2sk)(char*, char**);
- void* (*str2pk)(char*, char**);
- void* (*str2sig)(char*, char**);
- int (*sk2str)(void*, char*, int);
- int (*pk2str)(void*, char*, int);
- int (*sig2str)(void*, char*, int);
- void* (*sk2pk)(void*);
- void* (*gensk)(int);
- void* (*genskfrompk)(void*);
- void* (*sign)(mpint*, void*);
- int (*verify)(mpint*, void*, void*);
- void (*skfree)(void*);
- void (*pkfree)(void*);
- void (*sigfree)(void*);
- };
- struct SigAlg
- {
- Keyring_SigAlg x;
- SigAlgVec *vec;
- };
- int bigtobase64(mpint* b, char *buf, int blen);
- mpint* base64tobig(char *str, char **strp);
- SigAlgVec* findsigalg(char*);
- //Keyring_IPint* newIPint(mpint*);
- void* newIPint(mpint*);
|