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.