GRPC Core  18.0.0
Data Structures | Functions | Variables
alts_frame_protector.cc File Reference
#include <grpc/support/port_platform.h>
#include "src/core/tsi/alts/frame_protector/alts_frame_protector.h"
#include <stdio.h>
#include <stdlib.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/lib/gpr/useful.h"
#include "src/core/tsi/alts/crypt/gsec.h"
#include "src/core/tsi/alts/frame_protector/alts_crypter.h"
#include "src/core/tsi/alts/frame_protector/frame_handler.h"
#include "src/core/tsi/transport_security.h"

Data Structures

struct  alts_frame_protector
 

Functions

tsi_result alts_create_frame_protector (const uint8_t *key, size_t key_size, bool is_client, bool is_rekey, size_t *max_protected_frame_size, tsi_frame_protector **self)
 TODO: Add a parameter to the interface to support the use of different record protocols within a frame protector. More...
 

Variables

constexpr size_t kMinFrameLength = 1024
 
constexpr size_t kDefaultFrameLength = 16 * 1024
 
constexpr size_t kMaxFrameLength = 1024 * 1024
 
constexpr size_t kAltsRecordProtocolRekeyFrameLimit = 8
 
constexpr size_t kAltsRecordProtocolFrameLimit = 5
 

Function Documentation

◆ alts_create_frame_protector()

tsi_result alts_create_frame_protector ( const uint8_t *  key,
size_t  key_size,
bool  is_client,
bool  is_rekey,
size_t *  max_protected_frame_size,
tsi_frame_protector **  self 
)

TODO: Add a parameter to the interface to support the use of different record protocols within a frame protector.

This method creates a frame protector.

  • key: a symmetric key used to seal/unseal frames.
  • key_size: the size of symmetric key.
  • is_client: a flag indicating if the frame protector will be used at client (is_client = true) or server (is_client = false) side.
  • is_rekey: a flag indicating if the frame protector will use an AEAD with rekeying.
  • max_protected_frame_size: an in/out parameter indicating max frame size to be used by the frame protector. If it is nullptr, the default frame size will be used. Otherwise, the provided frame size will be adjusted (if not falling into a valid frame range) and used.
  • self: a pointer to the frame protector returned from the method.

This method returns TSI_OK on success and TSI_INTERNAL_ERROR otherwise.

Set maximum frame size to be used by a frame protector. If it is nullptr, a default frame size will be used. Otherwise, the provided frame size will be adjusted (if not falling into a valid frame range) and used.

Variable Documentation

◆ kAltsRecordProtocolFrameLimit

constexpr size_t kAltsRecordProtocolFrameLimit = 5
constexpr

◆ kAltsRecordProtocolRekeyFrameLimit

constexpr size_t kAltsRecordProtocolRekeyFrameLimit = 8
constexpr

◆ kDefaultFrameLength

constexpr size_t kDefaultFrameLength = 16 * 1024
constexpr

◆ kMaxFrameLength

constexpr size_t kMaxFrameLength = 1024 * 1024
constexpr

◆ kMinFrameLength

constexpr size_t kMinFrameLength = 1024
constexpr