Classes | Macros | Functions | Variables
trust_token.h File Reference
#include <openssl/base.h>
#include <openssl/stack.h>
Include dependency graph for trust_token.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  trust_token_st
 

Macros

#define TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE   512
 
#define TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE   512
 
#define TRUST_TOKEN_R_BAD_VALIDITY_CHECK   111
 
#define TRUST_TOKEN_R_BUFFER_TOO_SMALL   101
 
#define TRUST_TOKEN_R_DECODE_ERROR   103
 
#define TRUST_TOKEN_R_DECODE_FAILURE   105
 
#define TRUST_TOKEN_R_INVALID_KEY_ID   109
 
#define TRUST_TOKEN_R_INVALID_METADATA   106
 
#define TRUST_TOKEN_R_INVALID_METADATA_KEY   113
 
#define TRUST_TOKEN_R_INVALID_PROOF   114
 
#define TRUST_TOKEN_R_INVALID_TOKEN   110
 
#define TRUST_TOKEN_R_KEYGEN_FAILURE   100
 
#define TRUST_TOKEN_R_NO_KEYS_CONFIGURED   108
 
#define TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED   112
 
#define TRUST_TOKEN_R_OVER_BATCHSIZE   102
 
#define TRUST_TOKEN_R_SRR_SIGNATURE_ERROR   104
 
#define TRUST_TOKEN_R_TOO_MANY_KEYS   107
 

Functions

OPENSSL_EXPORT STACK_OF (TRUST_TOKEN) *TRUST_TOKEN_CLIENT_finish_issuance(TRUST_TOKEN_CLIENT *ctx
 
OPENSSL_EXPORT int TRUST_TOKEN_CLIENT_add_key (TRUST_TOKEN_CLIENT *ctx, size_t *out_key_index, const uint8_t *key, size_t key_len)
 
OPENSSL_EXPORT int TRUST_TOKEN_CLIENT_begin_issuance (TRUST_TOKEN_CLIENT *ctx, uint8_t **out, size_t *out_len, size_t count)
 
OPENSSL_EXPORT int TRUST_TOKEN_CLIENT_begin_redemption (TRUST_TOKEN_CLIENT *ctx, uint8_t **out, size_t *out_len, const TRUST_TOKEN *token, const uint8_t *data, size_t data_len, uint64_t time)
 
OPENSSL_EXPORT int TRUST_TOKEN_CLIENT_finish_redemption (TRUST_TOKEN_CLIENT *ctx, uint8_t **out_rr, size_t *out_rr_len, uint8_t **out_sig, size_t *out_sig_len, const uint8_t *response, size_t response_len)
 
OPENSSL_EXPORT void TRUST_TOKEN_CLIENT_free (TRUST_TOKEN_CLIENT *ctx)
 
OPENSSL_EXPORT TRUST_TOKEN_CLIENTTRUST_TOKEN_CLIENT_new (const TRUST_TOKEN_METHOD *method, size_t max_batchsize)
 
OPENSSL_EXPORT int TRUST_TOKEN_CLIENT_set_srr_key (TRUST_TOKEN_CLIENT *ctx, EVP_PKEY *key)
 
OPENSSL_EXPORT int TRUST_TOKEN_decode_private_metadata (const TRUST_TOKEN_METHOD *method, uint8_t *out_value, const uint8_t *key, size_t key_len, const uint8_t *nonce, size_t nonce_len, uint8_t encrypted_bit)
 
const OPENSSL_EXPORT TRUST_TOKEN_METHODTRUST_TOKEN_experiment_v1 (void)
 
const OPENSSL_EXPORT TRUST_TOKEN_METHODTRUST_TOKEN_experiment_v2_pmb (void)
 
const OPENSSL_EXPORT TRUST_TOKEN_METHODTRUST_TOKEN_experiment_v2_voprf (void)
 
OPENSSL_EXPORT void TRUST_TOKEN_free (TRUST_TOKEN *token)
 
OPENSSL_EXPORT int TRUST_TOKEN_generate_key (const TRUST_TOKEN_METHOD *method, uint8_t *out_priv_key, size_t *out_priv_key_len, size_t max_priv_key_len, uint8_t *out_pub_key, size_t *out_pub_key_len, size_t max_pub_key_len, uint32_t id)
 
OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_add_key (TRUST_TOKEN_ISSUER *ctx, const uint8_t *key, size_t key_len)
 
OPENSSL_EXPORT void TRUST_TOKEN_ISSUER_free (TRUST_TOKEN_ISSUER *ctx)
 
OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_issue (const TRUST_TOKEN_ISSUER *ctx, uint8_t **out, size_t *out_len, size_t *out_tokens_issued, const uint8_t *request, size_t request_len, uint32_t public_metadata, uint8_t private_metadata, size_t max_issuance)
 
OPENSSL_EXPORT TRUST_TOKEN_ISSUERTRUST_TOKEN_ISSUER_new (const TRUST_TOKEN_METHOD *method, size_t max_batchsize)
 
OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_redeem (const TRUST_TOKEN_ISSUER *ctx, uint8_t **out, size_t *out_len, TRUST_TOKEN **out_token, uint8_t **out_client_data, size_t *out_client_data_len, uint64_t *out_redemption_time, const uint8_t *request, size_t request_len, uint64_t lifetime)
 
OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_redeem_raw (const TRUST_TOKEN_ISSUER *ctx, uint32_t *out_public, uint8_t *out_private, TRUST_TOKEN **out_token, uint8_t **out_client_data, size_t *out_client_data_len, const uint8_t *request, size_t request_len)
 
OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_set_metadata_key (TRUST_TOKEN_ISSUER *ctx, const uint8_t *key, size_t len)
 
OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_set_srr_key (TRUST_TOKEN_ISSUER *ctx, EVP_PKEY *key)
 
OPENSSL_EXPORT TRUST_TOKENTRUST_TOKEN_new (const uint8_t *data, size_t len)
 

Variables

OPENSSL_EXPORT size_t * out_key_index
 
OPENSSL_EXPORT size_t const uint8_tresponse
 
OPENSSL_EXPORT size_t const uint8_t size_t response_len
 

Macro Definition Documentation

◆ TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE

#define TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE   512

Definition at line 68 of file trust_token.h.

◆ TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE

#define TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE   512

Definition at line 69 of file trust_token.h.

◆ TRUST_TOKEN_R_BAD_VALIDITY_CHECK

#define TRUST_TOKEN_R_BAD_VALIDITY_CHECK   111

Definition at line 305 of file trust_token.h.

◆ TRUST_TOKEN_R_BUFFER_TOO_SMALL

#define TRUST_TOKEN_R_BUFFER_TOO_SMALL   101

Definition at line 295 of file trust_token.h.

◆ TRUST_TOKEN_R_DECODE_ERROR

#define TRUST_TOKEN_R_DECODE_ERROR   103

Definition at line 297 of file trust_token.h.

◆ TRUST_TOKEN_R_DECODE_FAILURE

#define TRUST_TOKEN_R_DECODE_FAILURE   105

Definition at line 299 of file trust_token.h.

◆ TRUST_TOKEN_R_INVALID_KEY_ID

#define TRUST_TOKEN_R_INVALID_KEY_ID   109

Definition at line 303 of file trust_token.h.

◆ TRUST_TOKEN_R_INVALID_METADATA

#define TRUST_TOKEN_R_INVALID_METADATA   106

Definition at line 300 of file trust_token.h.

◆ TRUST_TOKEN_R_INVALID_METADATA_KEY

#define TRUST_TOKEN_R_INVALID_METADATA_KEY   113

Definition at line 307 of file trust_token.h.

◆ TRUST_TOKEN_R_INVALID_PROOF

#define TRUST_TOKEN_R_INVALID_PROOF   114

Definition at line 308 of file trust_token.h.

◆ TRUST_TOKEN_R_INVALID_TOKEN

#define TRUST_TOKEN_R_INVALID_TOKEN   110

Definition at line 304 of file trust_token.h.

◆ TRUST_TOKEN_R_KEYGEN_FAILURE

#define TRUST_TOKEN_R_KEYGEN_FAILURE   100

Definition at line 294 of file trust_token.h.

◆ TRUST_TOKEN_R_NO_KEYS_CONFIGURED

#define TRUST_TOKEN_R_NO_KEYS_CONFIGURED   108

Definition at line 302 of file trust_token.h.

◆ TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED

#define TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED   112

Definition at line 306 of file trust_token.h.

◆ TRUST_TOKEN_R_OVER_BATCHSIZE

#define TRUST_TOKEN_R_OVER_BATCHSIZE   102

Definition at line 296 of file trust_token.h.

◆ TRUST_TOKEN_R_SRR_SIGNATURE_ERROR

#define TRUST_TOKEN_R_SRR_SIGNATURE_ERROR   104

Definition at line 298 of file trust_token.h.

◆ TRUST_TOKEN_R_TOO_MANY_KEYS

#define TRUST_TOKEN_R_TOO_MANY_KEYS   107

Definition at line 301 of file trust_token.h.

Function Documentation

◆ STACK_OF()

OPENSSL_EXPORT STACK_OF ( TRUST_TOKEN  )

◆ TRUST_TOKEN_CLIENT_add_key()

OPENSSL_EXPORT int TRUST_TOKEN_CLIENT_add_key ( TRUST_TOKEN_CLIENT ctx,
size_t *  out_key_index,
const uint8_t key,
size_t  key_len 
)

Definition at line 171 of file trust_token.c.

◆ TRUST_TOKEN_CLIENT_begin_issuance()

OPENSSL_EXPORT int TRUST_TOKEN_CLIENT_begin_issuance ( TRUST_TOKEN_CLIENT ctx,
uint8_t **  out,
size_t *  out_len,
size_t  count 
)

Definition at line 205 of file trust_token.c.

◆ TRUST_TOKEN_CLIENT_begin_redemption()

OPENSSL_EXPORT int TRUST_TOKEN_CLIENT_begin_redemption ( TRUST_TOKEN_CLIENT ctx,
uint8_t **  out,
size_t *  out_len,
const TRUST_TOKEN token,
const uint8_t data,
size_t  data_len,
uint64_t  time 
)

Definition at line 295 of file trust_token.c.

◆ TRUST_TOKEN_CLIENT_finish_redemption()

OPENSSL_EXPORT int TRUST_TOKEN_CLIENT_finish_redemption ( TRUST_TOKEN_CLIENT ctx,
uint8_t **  out_rr,
size_t *  out_rr_len,
uint8_t **  out_sig,
size_t *  out_sig_len,
const uint8_t response,
size_t  response_len 
)

Definition at line 315 of file trust_token.c.

◆ TRUST_TOKEN_CLIENT_free()

OPENSSL_EXPORT void TRUST_TOKEN_CLIENT_free ( TRUST_TOKEN_CLIENT ctx)

Definition at line 162 of file trust_token.c.

◆ TRUST_TOKEN_CLIENT_new()

OPENSSL_EXPORT TRUST_TOKEN_CLIENT* TRUST_TOKEN_CLIENT_new ( const TRUST_TOKEN_METHOD method,
size_t  max_batchsize 
)

Definition at line 143 of file trust_token.c.

◆ TRUST_TOKEN_CLIENT_set_srr_key()

OPENSSL_EXPORT int TRUST_TOKEN_CLIENT_set_srr_key ( TRUST_TOKEN_CLIENT ctx,
EVP_PKEY key 
)

Definition at line 195 of file trust_token.c.

◆ TRUST_TOKEN_decode_private_metadata()

OPENSSL_EXPORT int TRUST_TOKEN_decode_private_metadata ( const TRUST_TOKEN_METHOD method,
uint8_t out_value,
const uint8_t key,
size_t  key_len,
const uint8_t nonce,
size_t  nonce_len,
uint8_t  encrypted_bit 
)

Definition at line 849 of file trust_token.c.

◆ TRUST_TOKEN_experiment_v1()

const OPENSSL_EXPORT TRUST_TOKEN_METHOD* TRUST_TOKEN_experiment_v1 ( void  )

Definition at line 30 of file trust_token.c.

◆ TRUST_TOKEN_experiment_v2_pmb()

const OPENSSL_EXPORT TRUST_TOKEN_METHOD* TRUST_TOKEN_experiment_v2_pmb ( void  )

Definition at line 62 of file trust_token.c.

◆ TRUST_TOKEN_experiment_v2_voprf()

const OPENSSL_EXPORT TRUST_TOKEN_METHOD* TRUST_TOKEN_experiment_v2_voprf ( void  )

Definition at line 46 of file trust_token.c.

◆ TRUST_TOKEN_free()

OPENSSL_EXPORT void TRUST_TOKEN_free ( TRUST_TOKEN token)

Definition at line 99 of file trust_token.c.

◆ TRUST_TOKEN_generate_key()

OPENSSL_EXPORT int TRUST_TOKEN_generate_key ( const TRUST_TOKEN_METHOD method,
uint8_t out_priv_key,
size_t *  out_priv_key_len,
size_t  max_priv_key_len,
uint8_t out_pub_key,
size_t *  out_pub_key_len,
size_t  max_pub_key_len,
uint32_t  id 
)

Definition at line 107 of file trust_token.c.

◆ TRUST_TOKEN_ISSUER_add_key()

OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_add_key ( TRUST_TOKEN_ISSUER ctx,
const uint8_t key,
size_t  key_len 
)

Definition at line 402 of file trust_token.c.

◆ TRUST_TOKEN_ISSUER_free()

OPENSSL_EXPORT void TRUST_TOKEN_ISSUER_free ( TRUST_TOKEN_ISSUER ctx)

Definition at line 393 of file trust_token.c.

◆ TRUST_TOKEN_ISSUER_issue()

OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_issue ( const TRUST_TOKEN_ISSUER ctx,
uint8_t **  out,
size_t *  out_len,
size_t *  out_tokens_issued,
const uint8_t request,
size_t  request_len,
uint32_t  public_metadata,
uint8_t  private_metadata,
size_t  max_issuance 
)

Definition at line 459 of file trust_token.c.

◆ TRUST_TOKEN_ISSUER_new()

OPENSSL_EXPORT TRUST_TOKEN_ISSUER* TRUST_TOKEN_ISSUER_new ( const TRUST_TOKEN_METHOD method,
size_t  max_batchsize 
)

Definition at line 374 of file trust_token.c.

◆ TRUST_TOKEN_ISSUER_redeem()

OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_redeem ( const TRUST_TOKEN_ISSUER ctx,
uint8_t **  out,
size_t *  out_len,
TRUST_TOKEN **  out_token,
uint8_t **  out_client_data,
size_t *  out_client_data_len,
uint64_t out_redemption_time,
const uint8_t request,
size_t  request_len,
uint64_t  lifetime 
)

Definition at line 643 of file trust_token.c.

◆ TRUST_TOKEN_ISSUER_redeem_raw()

OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_redeem_raw ( const TRUST_TOKEN_ISSUER ctx,
uint32_t out_public,
uint8_t out_private,
TRUST_TOKEN **  out_token,
uint8_t **  out_client_data,
size_t *  out_client_data_len,
const uint8_t request,
size_t  request_len 
)

Definition at line 522 of file trust_token.c.

◆ TRUST_TOKEN_ISSUER_set_metadata_key()

OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_set_metadata_key ( TRUST_TOKEN_ISSUER ctx,
const uint8_t key,
size_t  len 
)

Definition at line 433 of file trust_token.c.

◆ TRUST_TOKEN_ISSUER_set_srr_key()

OPENSSL_EXPORT int TRUST_TOKEN_ISSUER_set_srr_key ( TRUST_TOKEN_ISSUER ctx,
EVP_PKEY key 
)

Definition at line 426 of file trust_token.c.

◆ TRUST_TOKEN_new()

OPENSSL_EXPORT TRUST_TOKEN* TRUST_TOKEN_new ( const uint8_t data,
size_t  len 
)

Definition at line 82 of file trust_token.c.

Variable Documentation

◆ out_key_index

OPENSSL_EXPORT size_t* out_key_index

Definition at line 140 of file trust_token.h.

◆ response

OPENSSL_EXPORT size_t const uint8_t* response

Definition at line 141 of file trust_token.h.

◆ response_len

OPENSSL_EXPORT size_t const uint8_t size_t response_len

Definition at line 142 of file trust_token.h.



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