chromium/net/ssl/ssl_key_logger.h

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef NET_SSL_SSL_KEY_LOGGER_H_
#define NET_SSL_SSL_KEY_LOGGER_H_

#include <memory>
#include <string>

#include "base/no_destructor.h"
#include "net/base/net_export.h"
#include "third_party/boringssl/src/include/openssl/ssl.h"

namespace net {

// SSLKeyLogger logs SSL key material for debugging purposes. This should only
// be used when requested by the user, typically via the SSLKEYLOGFILE
// environment variable. See also
// https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format.
class NET_EXPORT SSLKeyLogger {};

// SSLKeyLoggerManager owns a single global instance of SSLKeyLogger, allowing
// it to safely be registered on multiple SSL_CTX instances.
class NET_EXPORT SSLKeyLoggerManager {};

}  // namespace net

#endif  // NET_SSL_SSL_KEY_LOGGER_H_