1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
/**
* @file dtls.c DTLS functions
*
* Copyright (C) 2010 Creytiv.com
*/
#include <re.h>
#include <baresip.h>
#include "dtls_srtp.h"
int dtls_print_sha1_fingerprint(struct re_printf *pf, const struct tls *tls)
{
uint8_t md[20];
unsigned int i;
int err = 0;
if (!tls)
return EINVAL;
err = tls_fingerprint(tls, TLS_FINGERPRINT_SHA1, md, sizeof(md));
if (err)
return err;
for (i=0; i<sizeof(md); i++) {
err |= re_hprintf(pf, "%s%02X", i==0 ? "" : ":", md[i]);
}
return err;
}
int dtls_print_sha256_fingerprint(struct re_printf *pf, const struct tls *tls)
{
uint8_t md[32];
unsigned int i;
int err = 0;
if (!tls)
return EINVAL;
err = tls_fingerprint(tls, TLS_FINGERPRINT_SHA256, md, sizeof(md));
if (err)
return err;
for (i=0; i<sizeof(md); i++) {
err |= re_hprintf(pf, "%s%02X", i==0 ? "" : ":", md[i]);
}
return err;
}
|