mirror of
https://git.openwrt.org/project/usign.git
synced 2025-05-08 03:16:13 +08:00
Always pad fingerprints to 16 characters
Fingerprints were not padded with zeros. This led to a ucert failure when the first byte of the fingerprint is 00, as it expects the fingerprint to have a constant length (and this expectation seems reasonable to me). Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> Acked-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
f34a383eee
commit
f1f65026a9
6
main.c
6
main.c
@ -149,7 +149,7 @@ static void write_file(const char *name, const uint8_t *fingerprint,
|
||||
if (comment)
|
||||
fputs(comment, f);
|
||||
else
|
||||
fprintf(f, "%s %"PRIx64, prefix,
|
||||
fprintf(f, "%s %016"PRIx64, prefix,
|
||||
fingerprint_u64(fingerprint));
|
||||
fprintf(f, "\n%s\n", buf);
|
||||
fclose(f);
|
||||
@ -177,7 +177,7 @@ static int verify(const char *msgfile)
|
||||
}
|
||||
|
||||
if (!pubkeyfile) {
|
||||
snprintf(buf, sizeof(buf), "%s/%"PRIx64, pubkeydir,
|
||||
snprintf(buf, sizeof(buf), "%s/%016"PRIx64, pubkeydir,
|
||||
fingerprint_u64(sig.fingerprint));
|
||||
pubkeyfile = buf;
|
||||
}
|
||||
@ -276,7 +276,7 @@ static int fingerprint(void)
|
||||
else
|
||||
return 1;
|
||||
|
||||
fprintf(stdout, "%"PRIx64"\n", fingerprint_u64(fp));
|
||||
fprintf(stdout, "%016"PRIx64"\n", fingerprint_u64(fp));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user