mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-20 15:36:21 +00:00
Prepare to use SHA256 fingerprints of certs.
First let's make clear we're currently using SHA1 & untangle the tlscerts API from fingerprint specific details. Related-to: https://github.com/profanity-im/profanity/issues/2068 Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
This commit is contained in:
@@ -61,7 +61,7 @@ void
|
||||
cafile_add(const TLSCertificate* cert)
|
||||
{
|
||||
if (!cert->pem) {
|
||||
log_error("[CAfile] can't store cert with fingerprint %s: PEM is empty", cert->fingerprint);
|
||||
log_error("[CAfile] can't store cert with fingerprint %s: PEM is empty", cert->fingerprint_sha1);
|
||||
return;
|
||||
}
|
||||
auto_gchar gchar* cafile = _cafile_name();
|
||||
@@ -76,13 +76,13 @@ cafile_add(const TLSCertificate* cert)
|
||||
log_error("[CAfile] could not read from %s: %s", cafile, PROF_GERROR_MESSAGE(glib_error));
|
||||
return;
|
||||
}
|
||||
if (strstr(contents, cert->fingerprint)) {
|
||||
log_debug("[CAfile] fingerprint %s already stored", cert->fingerprint);
|
||||
if (strstr(contents, cert->fingerprint_sha1)) {
|
||||
log_debug("[CAfile] fingerprint %s already stored", cert->fingerprint_sha1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
const char* header = "# Profanity CAfile\n# DO NOT EDIT - this file is automatically generated";
|
||||
new_contents = g_strdup_printf("%s\n\n# %s\n%s", contents ? contents : header, cert->fingerprint, cert->pem);
|
||||
new_contents = g_strdup_printf("%s\n\n# %s\n%s", contents ? contents : header, cert->fingerprint_sha1, cert->pem);
|
||||
if (!g_file_set_contents(cafile, new_contents, -1, &glib_error))
|
||||
log_error("[CAfile] could not write to %s: %s", cafile, PROF_GERROR_MESSAGE(glib_error));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user