if ((dtls->type & DTLS_TYPE_SERVER)) {
r = 1;
} else if ((cert = SSL_get_peer_certificate(dtls->ssl))) {
- switch_core_cert_extract_fingerprint(cert, dtls->remote_fp);
- r = switch_core_cert_verify(dtls->remote_fp);
+ dtls_fingerprint_t fp = {0};
+
+ fp.type = dtls->remote_fp->type;
+
+ switch_core_cert_extract_fingerprint(cert, &fp);
+ r = (!zstr(fp.str) && !strncasecmp(fp.str, dtls->remote_fp->str, MAX_FPSTRLEN));
+
X509_free(cert);
}
}
if ((cert = SSL_get_peer_certificate(dtls->ssl))) {
- switch_core_cert_extract_fingerprint(cert, dtls->remote_fp);
+ dtls_fingerprint_t fp = {0};
- r = switch_core_cert_verify(dtls->remote_fp);
+ fp.type = dtls->remote_fp->type;
+
+ switch_core_cert_extract_fingerprint(cert, &fp);
+ r = (!zstr(fp.str) && !strncasecmp(fp.str, dtls->remote_fp->str, MAX_FPSTRLEN));
X509_free(cert);
} else {
}
BIO_ctrl(dtls->filter_bio, BIO_CTRL_DGRAM_SET_MTU, dtls->mtu, NULL);
-
- switch_core_cert_expand_fingerprint(remote_fp, remote_fp->str);
if ((type & DTLS_TYPE_RTP)) {
rtp_session->dtls = dtls;