| Index: webrtc/base/sslfingerprint.cc
|
| diff --git a/webrtc/base/sslfingerprint.cc b/webrtc/base/sslfingerprint.cc
|
| index 2c3e1e974be4517bc34cd8ba6f763ddf679da9c2..e172a2c304571b5e64e9b33c8052b46fc1f85eac 100644
|
| --- a/webrtc/base/sslfingerprint.cc
|
| +++ b/webrtc/base/sslfingerprint.cc
|
| @@ -14,6 +14,7 @@
|
| #include <string>
|
|
|
| #include "webrtc/base/helpers.h"
|
| +#include "webrtc/base/logging.h"
|
| #include "webrtc/base/messagedigest.h"
|
| #include "webrtc/base/stringencode.h"
|
|
|
| @@ -62,6 +63,22 @@ SSLFingerprint* SSLFingerprint::CreateFromRfc4572(
|
| value_len);
|
| }
|
|
|
| +SSLFingerprint* SSLFingerprint::CreateFromCertificate(
|
| + const RTCCertificate* cert) {
|
| + std::string digest_alg;
|
| + if (!cert->ssl_certificate().GetSignatureDigestAlgorithm(&digest_alg)) {
|
| + LOG(LS_ERROR) << "Failed to retrieve the certificate's digest algorithm";
|
| + return nullptr;
|
| + }
|
| +
|
| + SSLFingerprint* fingerprint = Create(digest_alg, cert->identity());
|
| + if (!fingerprint) {
|
| + LOG(LS_ERROR) << "Failed to create identity fingerprint, alg="
|
| + << digest_alg;
|
| + }
|
| + return fingerprint;
|
| +}
|
| +
|
| SSLFingerprint::SSLFingerprint(const std::string& algorithm,
|
| const uint8_t* digest_in,
|
| size_t digest_len)
|
|
|