// Get and set ECDSA keys
//
ecdsa_t *ecdsa_set_base64_public_key(const char *p) {
- int len = strlen(p);
+ size_t len = strlen(p);
if(len != 43) {
- logger(DEBUG_ALWAYS, LOG_ERR, "Invalid size %d for public key!", len);
+ logger(DEBUG_ALWAYS, LOG_ERR, "Invalid size %lu for public key!", (unsigned long)len);
return 0;
}
ecdsa_t *ecdsa = xzalloc(sizeof(*ecdsa));
- len = b64decode(p, ecdsa->public, len);
+ len = b64decode_tinc(p, ecdsa->public, len);
if(len != 32) {
- logger(DEBUG_ALWAYS, LOG_ERR, "Invalid format of public key! len = %d", len);
+ logger(DEBUG_ALWAYS, LOG_ERR, "Invalid format of public key! len = %lu", (unsigned long)len);
free(ecdsa);
return 0;
}
char *ecdsa_get_base64_public_key(ecdsa_t *ecdsa) {
char *base64 = xmalloc(44);
- b64encode(ecdsa->public, base64, sizeof(ecdsa->public));
+ b64encode_tinc(ecdsa->public, base64, sizeof(ecdsa->public));
return base64;
}
// Read PEM ECDSA keys
-static bool read_pem(FILE *fp, const char *type, void *buf, size_t size) {
+static bool read_pem(FILE *fp, const char *type, void *vbuf, size_t size) {
char line[1024];
bool data = false;
size_t typelen = strlen(type);
+ char *buf = vbuf;
while(fgets(line, sizeof(line), fp)) {
if(!data) {
}
size_t linelen = strcspn(line, "\r\n");
- size_t len = b64decode(line, line, linelen);
+ size_t len = b64decode_tinc(line, line, linelen);
if(!len) {
logger(DEBUG_ALWAYS, LOG_ERR, "Invalid base64 data in PEM file\n");
}
size_t ecdsa_size(ecdsa_t *ecdsa) {
+ (void)ecdsa;
return 64;
}