Browse Source

Function to get digests of the certs and their keys

Nick Mathewson 12 years ago
parent
commit
8c9fdecfe9
2 changed files with 16 additions and 0 deletions
  1. 14 0
      src/common/tortls.c
  2. 2 0
      src/common/tortls.h

+ 14 - 0
src/common/tortls.c

@@ -789,6 +789,20 @@ tor_cert_get_der(const tor_cert_t *cert,
   *size_out = cert->encoded_len;
 }
 
+/** Return a set of digests for the public key in <b>cert</b>. */
+const digests_t *
+tor_cert_get_id_digests(const tor_cert_t *cert)
+{
+  return &cert->pkey_digests;
+}
+
+/** Return a set of digests for the public key in <b>cert</b>. */
+const digests_t *
+tor_cert_get_cert_digests(const tor_cert_t *cert)
+{
+  return &cert->cert_digests;
+}
+
 /** Remove a reference to <b>ctx</b>, and free it if it has no more
  * references. */
 static void

+ 2 - 0
src/common/tortls.h

@@ -112,6 +112,8 @@ void tor_cert_free(tor_cert_t *cert);
 tor_cert_t *tor_cert_decode(const uint8_t *certificate, size_t certificate_len);
 void tor_cert_get_der(const tor_cert_t *cert,
                       const uint8_t **encoded_out, size_t *size_out);
+const digests_t *tor_cert_get_id_digests(const tor_cert_t *cert);
+const digests_t *tor_cert_get_cert_digests(const tor_cert_t *cert);
 int tor_tls_get_my_certs(int server,
                          const tor_cert_t **link_cert_out,
                          const tor_cert_t **id_cert_out);