/[winpt]/trunk/Include/wptKeyEdit.h
ViewVC logotype

Diff of /trunk/Include/wptKeyEdit.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 22 by twoaday, Wed Aug 10 11:33:35 2005 UTC revision 23 by twoaday, Fri Sep 30 10:10:16 2005 UTC
# Line 21  Line 21 
21  #ifndef WPT_KEY_EDIT_H  #ifndef WPT_KEY_EDIT_H
22  #define WPT_KEY_EDIT_H  #define WPT_KEY_EDIT_H
23    
24    /* IDs for all possible gpg edit key commands. */
25    enum {
26        GPG_EDITKEY_SIGN    =  1,
27        GPG_EDITKEY_LSIGN   =  2,
28        GPG_EDITKEY_NRSIGN  = 19,
29        GPG_EDITKEY_NRLSIGN = 22,
30        GPG_EDITKEY_TSIGN   = 20,
31        GPG_EDITKEY_TRUST   =  3,
32        GPG_EDITKEY_ADDUID  =  4,
33        GPG_EDITKEY_DELUID  =  5,
34        GPG_EDITKEY_DELKEY  =  6,
35        GPG_EDITKEY_ADDKEY  =  7,
36        GPG_EDITKEY_PASSWD  =  8,
37        GPG_EDITKEY_PRIMARY =  9,
38        GPG_EDITKEY_EXPIRE  = 10,
39        GPG_EDITKEY_REVSIG  = 11,
40        GPG_EDITKEY_REVKEY  = 12,
41        GPG_EDITKEY_REVOKE  = 13, /* revoke the whole key */
42        GPG_EDITKEY_ADDREV  = 14,
43        GPG_EDITKEY_ADDPHOTO= 15,
44        GPG_EDITKEY_ENABLE  = 16,
45        GPG_EDITKEY_DISABLE = 17,
46        GPG_EDITKEY_SETPREF = 18,
47        GPG_EDITKEY_DELSIG  = 21,
48        GPG_EDITKEY_KEYSERV = 23
49    };
50    
51    /* Reasons for revocations. */
52    enum {
53        GPG_REVOKE_INSECURE   = 1,
54        GPG_REVOKE_SUPERSEDED = 2,
55        GPG_REVOKE_NOUSED     = 3
56    };
57    
58    /* Contain information about designated revokers. */
59    struct gpg_desig_rev_s {
60        struct gpg_desig_rev_s *next;
61        gpgme_pubkey_algo_t pubkey_algo;
62        char fpr[41];
63    };
64    typedef struct gpg_desig_rev_s *gpg_desig_rev_t;
65    
66    /* Context to hold all user-ID information. */
67    struct gpg_user_id_info_s {
68        struct gpg_user_id_info_s *next;
69        struct {
70            unsigned int revoked:1;
71            unsigned int invalid:1;
72            unsigned int primary:1;
73            unsigned int mdc:1;
74            unsigned int no_ks_modify:1;
75        } flags;
76        int  validity;
77        char *name;
78        char *email;
79        char *prefs;    
80        int  index;
81    };
82    typedef struct gpg_user_id_info_s *gpg_uid_info_t;
83    
84    /* Class to abstract the gpg edit key interface. */
85    class GpgKeyEdit {
86    private:
87        gpgme_key_t key;
88        gpgme_ctx_t ctx;
89    
90    public:
91        int type;
92        int cnt;
93        int cmd_sent;
94        const char *pass;
95        const char *new_pass;
96        int sig_index;
97        int key_index;
98        int uid_index;
99        const char *url;
100        int trust_id;
101        char *name, *cmt, *email;
102        const char *exp_date; /* XXX */
103        gpgme_pubkey_algo_t pubkey_algo;
104        int pubkey_size;
105        int valid; /* XXX */
106        int flags;
107        int sig_class;
108        int reason;
109    
110    public:
111        GpgKeyEdit (gpgme_key_t key);
112        GpgKeyEdit (const char *keyid);
113        ~GpgKeyEdit (void);
114    
115        bool isValid (void);
116        gpgme_key_t getKey (void);
117    
118        void setPassphrase (const char *pass);
119        void setKey (gpgme_key_t key);
120        void setKeyID (const char *keyid);
121        void setLocalUser (gpgme_key_t locusr);
122        void setCallback (gpgme_progress_cb_t cb, void *cb_value);
123    
124        gpgme_error_t signKey (int mode, int sig_class, const char *exp_date);
125        gpgme_error_t setTrust (gpgme_validity_t trust);
126        gpgme_error_t addUserid (const char *name, const char *cmt, const char *email);
127        gpgme_error_t delUserid (int index);
128        gpgme_error_t delKey (int index);
129        gpgme_error_t addSubkey (gpgme_pubkey_algo_t pubkey_algo, unsigned int nbits,
130                                 long valid);
131        gpgme_error_t changePassphrase (const char *new_pass, int allow_empty);
132        gpgme_error_t setPrimaryUserid (int uid_indx);
133        gpgme_error_t setKeyExpireDate (int key_index, long exp_timestamp);
134        gpgme_error_t revokeSignature (int uid_index, int sig_index);
135        gpgme_error_t revokeSubkey (int key_index, int reason, const char *cmt);
136        gpgme_error_t revokeKey (int reason, const char *cmt);
137        gpgme_error_t addDesignatedRevoker (const char *uid);
138        gpgme_error_t addPhotoid (const char *jpg_file);
139        gpgme_error_t enable (void);
140        gpgme_error_t disable (void);
141        gpgme_error_t setUseridPreferences (int uid_index, const char *new_prefs);
142        gpgme_error_t deleteUseridSignature (int uid_index, int sig_index);
143        gpgme_error_t setPreferredKeyserver (int uid_index, const char *url);
144    
145        gpgme_error_t getUseridInfo (gpg_uid_info_t *r_uinf);
146    
147        gpgme_error_t getDesignatedRevoker (gpg_desig_rev_t *r_rev);
148    };
149    
150  BOOL keyedit_add_subkey (winpt_key_t k, HWND dlg, listview_ctrl_t lv);  BOOL keyedit_add_subkey (winpt_key_t k, HWND dlg, listview_ctrl_t lv);
151  BOOL keyedit_add_userid (winpt_key_t k, HWND dlg, listview_ctrl_t lv);  BOOL keyedit_add_userid (winpt_key_t k, HWND dlg, listview_ctrl_t lv);
152  BOOL keyedit_add_revoker (winpt_key_t k, HWND dlg);  BOOL keyedit_add_revoker (winpt_key_t k, HWND dlg);
# Line 28  BOOL keyedit_add_photo (winpt_key_t k, H Line 154  BOOL keyedit_add_photo (winpt_key_t k, H
154  BOOL keyedit_change_passwd (winpt_key_t k, HWND dlg);  BOOL keyedit_change_passwd (winpt_key_t k, HWND dlg);
155  BOOL keyedit_set_pref_keyserver (winpt_key_t k, HWND dlg);  BOOL keyedit_set_pref_keyserver (winpt_key_t k, HWND dlg);
156    
 #endif /*WPT_KEY_EDIT_H*/  
157    gpgme_error_t gpg_editkey (gpgme_ctx_t ctx, gpgme_key_t key, GpgKeyEdit *ek);
158    void          gpg_uid_info_release (gpg_uid_info_t inf);
159    void          gpg_desig_rev_release (gpg_desig_rev_t rev);
160    
161    #endif /*WPT_KEY_EDIT_H*/

Legend:
Removed from v.22  
changed lines
  Added in v.23

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26