spanify SSLStreamAdapter::SetPeerCertificateDigest
BUG=webrtc:357776213
Change-Id: Ie6189ac21b9f76f7ce5ddb3e4208c08793df73ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368220
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43462}
diff --git a/rtc_base/ssl_stream_adapter.h b/rtc_base/ssl_stream_adapter.h
index ece5b44..49094b8 100644
--- a/rtc_base/ssl_stream_adapter.h
+++ b/rtc_base/ssl_stream_adapter.h
@@ -15,12 +15,14 @@
#include <stdint.h>
#include <memory>
+#include <optional>
#include <string>
#include <vector>
#include "absl/functional/any_invocable.h"
-#include "absl/memory/memory.h"
#include "absl/strings/string_view.h"
+#include "api/array_view.h"
+#include "rtc_base/buffer.h"
#include "rtc_base/ssl_certificate.h"
#include "rtc_base/ssl_identity.h"
#include "rtc_base/stream.h"
@@ -170,13 +172,16 @@
// channel (such as the signaling channel). This must specify the terminal
// certificate, not just a CA. SSLStream makes a copy of the digest value.
//
- // Returns true if successful.
- // `error` is optional and provides more information about the failure.
- virtual bool SetPeerCertificateDigest(
+ // Returns SSLPeerCertificateDigestError::NONE if successful.
+ virtual SSLPeerCertificateDigestError SetPeerCertificateDigest(
absl::string_view digest_alg,
- const unsigned char* digest_val,
- size_t digest_len,
- SSLPeerCertificateDigestError* error = nullptr) = 0;
+ rtc::ArrayView<uint8_t> digest_val) = 0;
+ [[deprecated(
+ "Use SetPeerCertificateDigest with ArrayView instead")]] virtual bool
+ SetPeerCertificateDigest(absl::string_view digest_alg,
+ const unsigned char* digest_val,
+ size_t digest_len,
+ SSLPeerCertificateDigestError* error = nullptr);
// Retrieves the peer's certificate chain including leaf certificate, if a
// connection has been established.