1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #ifndef RTC_BASE_SSL_FINGERPRINT_H_
- #define RTC_BASE_SSL_FINGERPRINT_H_
- #include <stddef.h>
- #include <stdint.h>
- #include <string>
- #include "rtc_base/copy_on_write_buffer.h"
- #include "rtc_base/system/rtc_export.h"
- namespace rtc {
- class RTCCertificate;
- class SSLCertificate;
- class SSLIdentity;
- struct RTC_EXPORT SSLFingerprint {
-
- static SSLFingerprint* Create(const std::string& algorithm,
- const rtc::SSLIdentity* identity);
-
- static std::unique_ptr<SSLFingerprint> CreateUnique(
- const std::string& algorithm,
- const rtc::SSLIdentity& identity);
- static std::unique_ptr<SSLFingerprint> Create(
- const std::string& algorithm,
- const rtc::SSLCertificate& cert);
-
- static SSLFingerprint* CreateFromRfc4572(const std::string& algorithm,
- const std::string& fingerprint);
-
- static std::unique_ptr<SSLFingerprint> CreateUniqueFromRfc4572(
- const std::string& algorithm,
- const std::string& fingerprint);
-
-
- static std::unique_ptr<SSLFingerprint> CreateFromCertificate(
- const RTCCertificate& cert);
- SSLFingerprint(const std::string& algorithm,
- ArrayView<const uint8_t> digest_view);
-
- SSLFingerprint(const std::string& algorithm,
- const uint8_t* digest_in,
- size_t digest_len);
- SSLFingerprint(const SSLFingerprint& from);
- bool operator==(const SSLFingerprint& other) const;
- std::string GetRfc4572Fingerprint() const;
- std::string ToString() const;
- std::string algorithm;
- rtc::CopyOnWriteBuffer digest;
- };
- }
- #endif
|