|
|
1.1 ! root 1: /* keymgmt.h - headers for keymgmt.c ! 2: */ ! 3: ! 4: /* Return printable public key fragment. */ ! 5: char *keyIDstring(byte *keyID); ! 6: char *key2IDstring(unitptr n); ! 7: ! 8: /* Do an RSA key pair generation, and write them out to the keyring files. */ ! 9: int dokeygen(char *numstr, char *numstr2); ! 10: ! 11: /* Edit the userid and/or pass phrase for an RSA key pair, and put them back ! 12: into the ring files */ ! 13: int dokeyedit(char *mcguffin, char *ringfile); ! 14: ! 15: /* Copy the first entry in key ring that has mcguffin string in userid and ! 16: put it into keyfile */ ! 17: int extract_from_keyring (char *mcguffin, char *keyfile, char *ringfile, ! 18: boolean transflag); ! 19: ! 20: /* Lists all entries in keyring that have mcguffin string in userid */ ! 21: int view_keyring(char *mcguffin, char *ringfile, boolean show_signatures); ! 22: ! 23: /* Signature-check all entries in keyring that have mcguffin string in userid */ ! 24: /* or if chk_keyID is not NULL, all signatures made by the key with this keyID */ ! 25: int dokeycheck(char *mcguffin, char *ringfile, byte *chk_keyID); ! 26: ! 27: /* Allow user to remove signatures from keys in keyring that have mcguffin */ ! 28: int remove_sigs(char *mcguffin, char *ringfile); ! 29: ! 30: /* Remove the first entry in key ring that has mcguffin string in userid */ ! 31: int remove_from_keyring(byte *keyID, char *mcguffin, char *ringfile); ! 32: ! 33: /* Adds (prepends) key file to key ring file */ ! 34: int addto_keyring(char *keyfile, char *ringfile, boolean query); ! 35: ! 36: /* Extract key fragment from modulus n */ ! 37: void extract_keyID(byteptr keyID, unitptr n); ! 38: ! 39: /* Write message prefix keyID to a file */ ! 40: void writekeyID(unitptr n, FILE *f); ! 41: ! 42: /* Extract public key corresponding to keyID or userid from keyfile */ ! 43: int getpublickey(boolean giveup, boolean showkey, char *keyfile, ! 44: long *file_position, int *pktlen, byte *keyID, ! 45: byte *timestamp, byte *userid, unitptr n, unitptr e); ! 46: ! 47: /* Extract private key corresponding to keyID or userid from keyfile */ ! 48: int getsecretkey(boolean giveup, boolean showkey, char *keyfile, byte *keyID, ! 49: byte *timestamp, char *passp, boolean *hkey, byte *userid, ! 50: unitptr n, unitptr e, unitptr d, unitptr p, unitptr q, ! 51: unitptr u); ! 52: ! 53: /* Return true if ctb is one for a key in a keyring */ ! 54: int is_key_ctb (byte ctb); ! 55: ! 56: /* Read next key packet from file f, return its ctb in *pctb, and advance ! 57: * the file pointer to point beyond the key packet. ! 58: */ ! 59: short nextkeypacket(FILE *f, byte *pctb); ! 60: ! 61: /* Read the next key packet from file f, return info about it in the various ! 62: * pointers. Most pointers can be NULL without breaking it. ! 63: */ ! 64: short readkeypacket(FILE *f, boolean hidekey, byte *pctb, ! 65: byte *timestamp, char *userid, ! 66: unitptr n ,unitptr e, unitptr d, unitptr p, unitptr q, unitptr u, ! 67: byte *sigkeyID, byte *keyctrl); ! 68: ! 69: /* Starting at key_position in keyfile, scan for the userid packet which ! 70: * matches C string userid. Return the packet position and size. ! 71: */ ! 72: int getpubuserid(char *keyfile, long key_position, byte *userid, ! 73: long *userid_position, int *userid_len); ! 74: ! 75: int getpubusersig(char *keyfile, long user_position, byte *sigkeyID, ! 76: long *sig_position, int *sig_len); ! 77: ! 78: /* Write key control packet */ ! 79: void write_trust (FILE *f, byte trustbyte); ! 80: ! 81: int read_trust(FILE *f, byte *keyctrl); ! 82: ! 83: int ask_owntrust(char *userid, byte cur_trust); ! 84: ! 85: int readkpacket(FILE *f, byte *ctb, char *userid, byte *keyID, byte *sigkeyID); ! 86: ! 87: /* Show key in file f at keypos */ ! 88: int show_key(FILE *f, long keypos, int what); ! 89: ! 90: /* possible values for 'what' */ ! 91: #define SHOW_TRUST 1 ! 92: #define SHOW_SIGS 2 ! 93: #define SHOW_ALL (SHOW_TRUST|SHOW_SIGS)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.