X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fed25519%2Fecdsagen.c;h=06b41c86ed6190fcd9bcc065b071a5c5e77a9ae7;hb=4c704a92f4fd9c162995b69ab063f6fa59c20c26;hp=23ef6e975db03cb3ff533548ef12e9e006587a19;hpb=5822f817aa802c2c5a83e9d99a8ae78cb822799b;p=tinc diff --git a/src/ed25519/ecdsagen.c b/src/ed25519/ecdsagen.c index 23ef6e97..06b41c86 100644 --- a/src/ed25519/ecdsagen.c +++ b/src/ed25519/ecdsagen.c @@ -35,10 +35,10 @@ typedef struct { // Generate ECDSA key ecdsa_t *ecdsa_generate(void) { - ecdsa_t *ecdsa = xzalloc(sizeof *ecdsa); + ecdsa_t *ecdsa = xzalloc(sizeof(*ecdsa)); uint8_t seed[32]; - randomize(seed, sizeof seed); + randomize(seed, sizeof(seed)); ed25519_create_keypair(ecdsa->public, ecdsa->private, seed); return ecdsa; @@ -46,13 +46,15 @@ ecdsa_t *ecdsa_generate(void) { // Write PEM ECDSA keys -static bool write_pem(FILE *fp, const char *type, void *buf, size_t size) { +static bool write_pem(FILE *fp, const char *type, void *vbuf, size_t size) { fprintf(fp, "-----BEGIN %s-----\n", type); + char *buf = vbuf; char base64[65]; + while(size) { size_t todo = size > 48 ? 48 : size; - b64encode(buf, base64, todo); + b64encode_tinc(buf, base64, todo); fprintf(fp, "%s\n", base64); buf += todo; size -= todo; @@ -63,9 +65,9 @@ static bool write_pem(FILE *fp, const char *type, void *buf, size_t size) { } bool ecdsa_write_pem_public_key(ecdsa_t *ecdsa, FILE *fp) { - return write_pem(fp, "ED25519 PUBLIC KEY", ecdsa->public, sizeof ecdsa->public); + return write_pem(fp, "ED25519 PUBLIC KEY", ecdsa->public, sizeof(ecdsa->public)); } bool ecdsa_write_pem_private_key(ecdsa_t *ecdsa, FILE *fp) { - return write_pem(fp, "ED25519 PRIVATE KEY", ecdsa->private, sizeof *ecdsa); + return write_pem(fp, "ED25519 PRIVATE KEY", ecdsa->private, sizeof(*ecdsa)); }