mirror of
https://codeberg.org/scip/pcp.git
synced 2025-12-19 12:40:58 +01:00
changed public key export format to (slightly modified) RFC4880 style (openpgp format).
Current state is totally unstable, it's not yet ready.
This commit is contained in:
@@ -94,6 +94,7 @@ struct _pcp_key_t {
|
||||
};
|
||||
|
||||
struct _pcp_pubkey_t {
|
||||
byte masterpub[32];
|
||||
byte sigpub[32];
|
||||
byte pub[32];
|
||||
byte edpub[32];
|
||||
@@ -141,7 +142,19 @@ typedef struct _pcp_rec_t pcp_rec_t;
|
||||
|
||||
#define PCP_RAW_KEYSIZE sizeof(pcp_key_t) - sizeof(UT_hash_handle)
|
||||
#define PCP_RAW_PUBKEYSIZE sizeof(pcp_pubkey_t) - sizeof(UT_hash_handle)
|
||||
#define PCP_RAW_KEYSIGSIZE sizeof(pcp_keysig_t) - sizeof(UT_hash_handle)
|
||||
|
||||
/* holds a public key signature */
|
||||
struct _pcp_keysig_t {
|
||||
uint8_t type;
|
||||
uint32_t size;
|
||||
char belongs[17];
|
||||
byte checksum[32];
|
||||
byte *blob;
|
||||
UT_hash_handle hh;
|
||||
};
|
||||
|
||||
typedef struct _pcp_keysig_t pcp_keysig_t;
|
||||
|
||||
|
||||
|
||||
@@ -173,6 +186,10 @@ pcp_key_t *key2native(pcp_key_t *k);
|
||||
pcp_pubkey_t * pubkey2be(pcp_pubkey_t *k);
|
||||
pcp_pubkey_t *pubkey2native(pcp_pubkey_t *k);
|
||||
|
||||
pcp_keysig_t *keysig2be(pcp_keysig_t *s);
|
||||
pcp_keysig_t *keysig2native(pcp_keysig_t *s);
|
||||
|
||||
|
||||
unsigned char * pcp_gennonce();
|
||||
|
||||
void pcpedit_key(char *keyid);
|
||||
@@ -182,6 +199,7 @@ unsigned char *pcp_derivekey(char *passphrase, unsigned char *nonce);
|
||||
|
||||
pcp_key_t *pcp_derive_pcpkey (pcp_key_t *ours, char *theirs);
|
||||
|
||||
/* FIXME: abandon and use Buffer instead */
|
||||
void pcp_seckeyblob(void *blob, pcp_key_t *k);
|
||||
void pcp_pubkeyblob(void *blob, pcp_pubkey_t *k);
|
||||
void *pcp_keyblob(void *k, int type); /* allocates blob */
|
||||
@@ -189,6 +207,8 @@ void *pcp_keyblob(void *k, int type); /* allocates blob */
|
||||
int pcp_sanitycheck_pub(pcp_pubkey_t *key);
|
||||
int pcp_sanitycheck_key(pcp_key_t *key);
|
||||
|
||||
/* fetch a keysig from a buffer, usually loaded from vault */
|
||||
pcp_keysig_t *pcp_keysig_new(Buffer *blob);
|
||||
|
||||
|
||||
#endif /* _HAVE_PCP_KEYPAIR_H */
|
||||
|
||||
Reference in New Issue
Block a user