proxygen
fizz::detail::OpenSSLECKeyExchange< T > Class Template Reference

#include <OpenSSLKeyExchange-inl.h>

Public Member Functions

void generateKeyPair ()
 
void setPrivateKey (folly::ssl::EvpPkeyUniquePtr privateKey)
 
const folly::ssl::EvpPkeyUniquePtrgetKey () const
 
std::unique_ptr< folly::IOBufgenerateSharedSecret (const folly::ssl::EvpPkeyUniquePtr &peerKey) const
 

Private Attributes

folly::ssl::EvpPkeyUniquePtr key_
 

Detailed Description

template<class T>
class fizz::detail::OpenSSLECKeyExchange< T >

Definition at line 13 of file OpenSSLKeyExchange-inl.h.

Member Function Documentation

template<class T>
void fizz::detail::OpenSSLECKeyExchange< T >::generateKeyPair ( )
inline

Definition at line 15 of file OpenSSLKeyExchange-inl.h.

References fizz::detail::generateECKeyPair(), and fizz::detail::OpenSSLECKeyExchange< T >::key_.

15  {
16  key_ = generateECKeyPair(T::curveNid);
17  }
folly::ssl::EvpPkeyUniquePtr key_
folly::ssl::EvpPkeyUniquePtr generateECKeyPair(int curveNid)
template<class T>
std::unique_ptr<folly::IOBuf> fizz::detail::OpenSSLECKeyExchange< T >::generateSharedSecret ( const folly::ssl::EvpPkeyUniquePtr peerKey) const
inline

Definition at line 28 of file OpenSSLKeyExchange-inl.h.

References fizz::detail::generateEvpSharedSecret(), and fizz::detail::OpenSSLECKeyExchange< T >::key_.

Referenced by fizz::test::TEST_P().

29  {
30  if (!key_) {
31  throw std::runtime_error("Key not generated");
32  }
33  return generateEvpSharedSecret(key_, peerKey);
34  }
folly::ssl::EvpPkeyUniquePtr key_
std::unique_ptr< folly::IOBuf > generateEvpSharedSecret(const folly::ssl::EvpPkeyUniquePtr &key, const folly::ssl::EvpPkeyUniquePtr &peerKey)
template<class T>
const folly::ssl::EvpPkeyUniquePtr& fizz::detail::OpenSSLECKeyExchange< T >::getKey ( ) const
inline

Definition at line 24 of file OpenSSLKeyExchange-inl.h.

References fizz::detail::OpenSSLECKeyExchange< T >::key_.

24  {
25  return key_;
26  }
folly::ssl::EvpPkeyUniquePtr key_
template<class T>
void fizz::detail::OpenSSLECKeyExchange< T >::setPrivateKey ( folly::ssl::EvpPkeyUniquePtr  privateKey)
inline

Definition at line 19 of file OpenSSLKeyExchange-inl.h.

References fizz::detail::OpenSSLECKeyExchange< T >::key_, folly::gen::move, and fizz::detail::validateECKey().

Referenced by fizz::test::TEST_P().

19  {
20  validateECKey(privateKey, T::curveNid);
21  key_ = std::move(privateKey);
22  }
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
folly::ssl::EvpPkeyUniquePtr key_
void validateECKey(const folly::ssl::EvpPkeyUniquePtr &key, int curveNid)

Member Data Documentation


The documentation for this class was generated from the following file: