generate keyid from pubs only, dont clear supplied passphrase (done in src)

This commit is contained in:
git@daemon.de
2014-02-13 15:32:27 +01:00
parent 3b5b04c069
commit f8740cec68

View File

@@ -43,7 +43,8 @@ unsigned char *pcp_derivekey(char *passphrase, unsigned char *nonce) {
key[31] &= 127; key[31] &= 127;
key[31] |= 64; key[31] |= 64;
memset(passphrase, 0, plen); /* disabled, must be done outside
memset(passphrase, 0, plen); */
return key; return key;
} }
@@ -52,7 +53,7 @@ unsigned char *pcp_derivekey(char *passphrase, unsigned char *nonce) {
char *pcp_getkeyid(pcp_key_t *k) { char *pcp_getkeyid(pcp_key_t *k) {
uint32_t s, p; uint32_t s, p;
p = jen_hash(k->pub, 32, JEN_PSALT); p = jen_hash(k->pub, 32, JEN_PSALT);
s = jen_hash(k->secret, 32, JEN_SSALT); s = jen_hash(k->edpub, 32, JEN_SSALT);
char *id = ucmalloc(17); char *id = ucmalloc(17);
snprintf(id, 17, "%08X%08X", p, s); snprintf(id, 17, "%08X%08X", p, s);
return id; return id;
@@ -111,8 +112,8 @@ pcp_key_t * pcpkey_new () {
memcpy (key->mastersecret, ms, 64); memcpy (key->mastersecret, ms, 64);
memcpy (key->pub, cp, 32); memcpy (key->pub, cp, 32);
memcpy (key->secret, cs, 32); memcpy (key->secret, cs, 32);
memcpy (key->edpub, ss, 32); memcpy (key->edpub, sp, 32);
memcpy (key->edsecret, sp, 64); memcpy (key->edsecret, ss, 64);
memcpy (key->id, pcp_getkeyid(key), 17); memcpy (key->id, pcp_getkeyid(key), 17);
key->ctime = (long)time(0); key->ctime = (long)time(0);