Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
SSLAEADContext Class Reference

#include <internal.h>

Public Member Functions

const SSL_CIPHERcipher () const
 
bool CiphertextLen (size_t *out_len, size_t in_len, size_t extra_in_len) const
 
size_t ExplicitNonceLen () const
 
bool GetIV (const uint8_t **out_iv, size_t *out_iv_len) const
 
bool is_null_cipher () const
 
size_t MaxOverhead () const
 
bool Open (Span< uint8_t > *out, uint8_t type, uint16_t record_version, const uint8_t seqnum[8], Span< const uint8_t > header, Span< uint8_t > in)
 
SSLAEADContextoperator= (const SSLAEADContext &&)=delete
 
uint16_t ProtocolVersion () const
 
uint16_t RecordVersion () const
 
bool Seal (uint8_t *out, size_t *out_len, size_t max_out, uint8_t type, uint16_t record_version, const uint8_t seqnum[8], Span< const uint8_t > header, const uint8_t *in, size_t in_len)
 
bool SealScatter (uint8_t *out_prefix, uint8_t *out, uint8_t *out_suffix, uint8_t type, uint16_t record_version, const uint8_t seqnum[8], Span< const uint8_t > header, const uint8_t *in, size_t in_len, const uint8_t *extra_in, size_t extra_in_len)
 
void SetVersionIfNullCipher (uint16_t version)
 
 SSLAEADContext (const SSLAEADContext &&)=delete
 
 SSLAEADContext (uint16_t version, bool is_dtls, const SSL_CIPHER *cipher)
 
bool SuffixLen (size_t *out_suffix_len, size_t in_len, size_t extra_in_len) const
 
 ~SSLAEADContext ()
 

Static Public Member Functions

static UniquePtr< SSLAEADContextCreate (enum evp_aead_direction_t direction, uint16_t version, bool is_dtls, const SSL_CIPHER *cipher, Span< const uint8_t > enc_key, Span< const uint8_t > mac_key, Span< const uint8_t > fixed_iv)
 
static UniquePtr< SSLAEADContextCreateNullCipher (bool is_dtls)
 
static UniquePtr< SSLAEADContextCreatePlaceholderForQUIC (uint16_t version, const SSL_CIPHER *cipher)
 

Static Public Attributes

static constexpr bool kAllowUniquePtr = true
 

Private Member Functions

Span< const uint8_tGetAdditionalData (uint8_t storage[13], uint8_t type, uint16_t record_version, const uint8_t seqnum[8], size_t plaintext_len, Span< const uint8_t > header)
 

Private Attributes

bool ad_is_header_: 1
 
const SSL_CIPHERcipher_
 
ScopedEVP_AEAD_CTX ctx_
 
uint8_t fixed_nonce_ [12]
 
uint8_t fixed_nonce_len_ = 0
 
bool is_dtls_
 
bool omit_length_in_ad_: 1
 
bool random_variable_nonce_: 1
 
bool variable_nonce_included_in_record_: 1
 
uint8_t variable_nonce_len_ = 0
 
uint16_t version_
 
bool xor_fixed_nonce_: 1
 

Detailed Description

Definition at line 764 of file third_party/boringssl-with-bazel/src/ssl/internal.h.

Constructor & Destructor Documentation

◆ SSLAEADContext() [1/2]

BSSL_NAMESPACE_BEGIN SSLAEADContext::SSLAEADContext ( uint16_t  version,
bool  is_dtls,
const SSL_CIPHER cipher 
)

Definition at line 36 of file ssl_aead_ctx.cc.

◆ ~SSLAEADContext()

SSLAEADContext::~SSLAEADContext ( )

Definition at line 49 of file ssl_aead_ctx.cc.

◆ SSLAEADContext() [2/2]

SSLAEADContext::SSLAEADContext ( const SSLAEADContext &&  )
delete

Member Function Documentation

◆ cipher()

const SSL_CIPHER* SSLAEADContext::cipher ( ) const
inline

◆ CiphertextLen()

bool SSLAEADContext::CiphertextLen ( size_t *  out_len,
size_t  in_len,
size_t  extra_in_len 
) const

Definition at line 199 of file ssl_aead_ctx.cc.

◆ Create()

UniquePtr< SSLAEADContext > SSLAEADContext::Create ( enum evp_aead_direction_t  direction,
uint16_t  version,
bool  is_dtls,
const SSL_CIPHER cipher,
Span< const uint8_t enc_key,
Span< const uint8_t mac_key,
Span< const uint8_t fixed_iv 
)
static

Definition at line 56 of file ssl_aead_ctx.cc.

◆ CreateNullCipher()

UniquePtr< SSLAEADContext > SSLAEADContext::CreateNullCipher ( bool  is_dtls)
static

Definition at line 51 of file ssl_aead_ctx.cc.

◆ CreatePlaceholderForQUIC()

UniquePtr< SSLAEADContext > SSLAEADContext::CreatePlaceholderForQUIC ( uint16_t  version,
const SSL_CIPHER cipher 
)
static

Definition at line 149 of file ssl_aead_ctx.cc.

◆ ExplicitNonceLen()

size_t SSLAEADContext::ExplicitNonceLen ( ) const

Definition at line 182 of file ssl_aead_ctx.cc.

◆ GetAdditionalData()

Span< const uint8_t > SSLAEADContext::GetAdditionalData ( uint8_t  storage[13],
uint8_t  type,
uint16_t  record_version,
const uint8_t  seqnum[8],
size_t  plaintext_len,
Span< const uint8_t header 
)
private

Definition at line 222 of file ssl_aead_ctx.cc.

◆ GetIV()

bool SSLAEADContext::GetIV ( const uint8_t **  out_iv,
size_t *  out_iv_len 
) const

Definition at line 427 of file ssl_aead_ctx.cc.

◆ is_null_cipher()

bool SSLAEADContext::is_null_cipher ( ) const
inline

◆ MaxOverhead()

size_t SSLAEADContext::MaxOverhead ( ) const

Definition at line 215 of file ssl_aead_ctx.cc.

◆ Open()

bool SSLAEADContext::Open ( Span< uint8_t > *  out,
uint8_t  type,
uint16_t  record_version,
const uint8_t  seqnum[8],
Span< const uint8_t header,
Span< uint8_t in 
)

Definition at line 241 of file ssl_aead_ctx.cc.

◆ operator=()

SSLAEADContext& SSLAEADContext::operator= ( const SSLAEADContext &&  )
delete

◆ ProtocolVersion()

uint16_t SSLAEADContext::ProtocolVersion ( ) const

Definition at line 160 of file ssl_aead_ctx.cc.

◆ RecordVersion()

uint16_t SSLAEADContext::RecordVersion ( ) const

Definition at line 169 of file ssl_aead_ctx.cc.

◆ Seal()

bool SSLAEADContext::Seal ( uint8_t out,
size_t *  out_len,
size_t  max_out,
uint8_t  type,
uint16_t  record_version,
const uint8_t  seqnum[8],
Span< const uint8_t header,
const uint8_t in,
size_t  in_len 
)

Definition at line 399 of file ssl_aead_ctx.cc.

◆ SealScatter()

bool SSLAEADContext::SealScatter ( uint8_t out_prefix,
uint8_t out,
uint8_t out_suffix,
uint8_t  type,
uint16_t  record_version,
const uint8_t  seqnum[8],
Span< const uint8_t header,
const uint8_t in,
size_t  in_len,
const uint8_t extra_in,
size_t  extra_in_len 
)

Definition at line 314 of file ssl_aead_ctx.cc.

◆ SetVersionIfNullCipher()

void SSLAEADContext::SetVersionIfNullCipher ( uint16_t  version)

Definition at line 154 of file ssl_aead_ctx.cc.

◆ SuffixLen()

bool SSLAEADContext::SuffixLen ( size_t *  out_suffix_len,
size_t  in_len,
size_t  extra_in_len 
) const

Definition at line 189 of file ssl_aead_ctx.cc.

Member Data Documentation

◆ ad_is_header_

bool SSLAEADContext::ad_is_header_
private

◆ cipher_

const SSL_CIPHER* SSLAEADContext::cipher_
private

◆ ctx_

ScopedEVP_AEAD_CTX SSLAEADContext::ctx_
private

◆ fixed_nonce_

uint8_t SSLAEADContext::fixed_nonce_[12]
private

◆ fixed_nonce_len_

uint8_t SSLAEADContext::fixed_nonce_len_ = 0
private

◆ is_dtls_

bool SSLAEADContext::is_dtls_
private

◆ kAllowUniquePtr

constexpr bool SSLAEADContext::kAllowUniquePtr = true
staticconstexpr

◆ omit_length_in_ad_

bool SSLAEADContext::omit_length_in_ad_
private

◆ random_variable_nonce_

bool SSLAEADContext::random_variable_nonce_
private

◆ variable_nonce_included_in_record_

bool SSLAEADContext::variable_nonce_included_in_record_
private

◆ variable_nonce_len_

uint8_t SSLAEADContext::variable_nonce_len_ = 0
private

◆ version_

uint16_t SSLAEADContext::version_
private

◆ xor_fixed_nonce_

bool SSLAEADContext::xor_fixed_nonce_
private

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


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:48