webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Macros | Functions
ssl_ecdh.c File Reference
#include <openssl/ssl.h>
#include <assert.h>
#include <string.h>
#include <openssl/bn.h>
#include <openssl/bytestring.h>
#include <openssl/curve25519.h>
#include <openssl/ec.h>
#include <openssl/err.h>
#include <openssl/mem.h>
#include <openssl/newhope.h>
#include <openssl/nid.h>
#include "internal.h"
#include "../crypto/internal.h"

Classes

struct  cecpq1_data
 

Macros

#define CECPQ1_OFFERMSG_LENGTH   (32 + NEWHOPE_OFFERMSG_LENGTH)
 
#define CECPQ1_ACCEPTMSG_LENGTH   (32 + NEWHOPE_ACCEPTMSG_LENGTH)
 
#define CECPQ1_SECRET_LENGTH   (32 + SHA256_DIGEST_LENGTH)
 

Functions

const char * SSL_get_curve_name (uint16_t group_id)
 
int ssl_nid_to_group_id (uint16_t *out_group_id, int nid)
 
int ssl_name_to_group_id (uint16_t *out_group_id, const char *name, size_t len)
 
int SSL_ECDH_CTX_init (SSL_ECDH_CTX *ctx, uint16_t group_id)
 
void SSL_ECDH_CTX_init_for_dhe (SSL_ECDH_CTX *ctx, DH *params)
 
void SSL_ECDH_CTX_init_for_cecpq1 (SSL_ECDH_CTX *ctx)
 
void SSL_ECDH_CTX_cleanup (SSL_ECDH_CTX *ctx)
 
uint16_t SSL_ECDH_CTX_get_id (const SSL_ECDH_CTX *ctx)
 
int SSL_ECDH_CTX_get_key (SSL_ECDH_CTX *ctx, CBS *cbs, CBS *out)
 
int SSL_ECDH_CTX_add_key (SSL_ECDH_CTX *ctx, CBB *cbb, CBB *out_contents)
 
int SSL_ECDH_CTX_offer (SSL_ECDH_CTX *ctx, CBB *out_public_key)
 
int SSL_ECDH_CTX_accept (SSL_ECDH_CTX *ctx, CBB *out_public_key, uint8_t **out_secret, size_t *out_secret_len, uint8_t *out_alert, const uint8_t *peer_key, size_t peer_key_len)
 
int SSL_ECDH_CTX_finish (SSL_ECDH_CTX *ctx, uint8_t **out_secret, size_t *out_secret_len, uint8_t *out_alert, const uint8_t *peer_key, size_t peer_key_len)
 

Macro Definition Documentation

◆ CECPQ1_ACCEPTMSG_LENGTH

#define CECPQ1_ACCEPTMSG_LENGTH   (32 + NEWHOPE_ACCEPTMSG_LENGTH)

◆ CECPQ1_OFFERMSG_LENGTH

#define CECPQ1_OFFERMSG_LENGTH   (32 + NEWHOPE_OFFERMSG_LENGTH)

◆ CECPQ1_SECRET_LENGTH

#define CECPQ1_SECRET_LENGTH   (32 + SHA256_DIGEST_LENGTH)

Function Documentation

◆ SSL_ECDH_CTX_accept()

int SSL_ECDH_CTX_accept ( SSL_ECDH_CTX ctx,
CBB out_public_key,
uint8_t **  out_secret,
size_t out_secret_len,
uint8_t out_alert,
const uint8_t peer_key,
size_t  peer_key_len 
)

◆ SSL_ECDH_CTX_add_key()

int SSL_ECDH_CTX_add_key ( SSL_ECDH_CTX ctx,
CBB cbb,
CBB out_contents 
)

◆ SSL_ECDH_CTX_cleanup()

void SSL_ECDH_CTX_cleanup ( SSL_ECDH_CTX ctx)

◆ SSL_ECDH_CTX_finish()

int SSL_ECDH_CTX_finish ( SSL_ECDH_CTX ctx,
uint8_t **  out_secret,
size_t out_secret_len,
uint8_t out_alert,
const uint8_t peer_key,
size_t  peer_key_len 
)

◆ SSL_ECDH_CTX_get_id()

uint16_t SSL_ECDH_CTX_get_id ( const SSL_ECDH_CTX ctx)

◆ SSL_ECDH_CTX_get_key()

int SSL_ECDH_CTX_get_key ( SSL_ECDH_CTX ctx,
CBS cbs,
CBS out 
)

◆ SSL_ECDH_CTX_init()

int SSL_ECDH_CTX_init ( SSL_ECDH_CTX ctx,
uint16_t  group_id 
)

◆ SSL_ECDH_CTX_init_for_cecpq1()

void SSL_ECDH_CTX_init_for_cecpq1 ( SSL_ECDH_CTX ctx)

◆ SSL_ECDH_CTX_init_for_dhe()

void SSL_ECDH_CTX_init_for_dhe ( SSL_ECDH_CTX ctx,
DH params 
)

◆ SSL_ECDH_CTX_offer()

int SSL_ECDH_CTX_offer ( SSL_ECDH_CTX ctx,
CBB out_public_key 
)

◆ SSL_get_curve_name()

const char* SSL_get_curve_name ( uint16_t  group_id)

◆ ssl_name_to_group_id()

int ssl_name_to_group_id ( uint16_t out_group_id,
const char *  name,
size_t  len 
)

◆ ssl_nid_to_group_id()

int ssl_nid_to_group_id ( uint16_t out_group_id,
int  nid 
)