#include "rtc_base/openssl_key_pair.h"
#include <memory>
#include <utility>
#include "absl/strings/string_view.h"
#if defined(WEBRTC_WIN)
#include "rtc_base/win32.h"
#endif
#include <openssl/bio.h>
#include <openssl/bn.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/openssl.h"
#include "rtc_base/openssl_utility.h"
namespace rtc {
static EVP_PKEY* MakeKey(const KeyParams& key_params) { … }
std::unique_ptr<OpenSSLKeyPair> OpenSSLKeyPair::Generate(
const KeyParams& key_params) { … }
std::unique_ptr<OpenSSLKeyPair> OpenSSLKeyPair::FromPrivateKeyPEMString(
absl::string_view pem_string) { … }
OpenSSLKeyPair::~OpenSSLKeyPair() { … }
std::unique_ptr<OpenSSLKeyPair> OpenSSLKeyPair::Clone() { … }
void OpenSSLKeyPair::AddReference() { … }
std::string OpenSSLKeyPair::PrivateKeyToPEMString() const { … }
std::string OpenSSLKeyPair::PublicKeyToPEMString() const { … }
bool OpenSSLKeyPair::operator==(const OpenSSLKeyPair& other) const { … }
bool OpenSSLKeyPair::operator!=(const OpenSSLKeyPair& other) const { … }
}