iPXE
|
Cryptographic API. More...
Go to the source code of this file.
Data Structures | |
struct | digest_algorithm |
A message digest algorithm. More... | |
struct | cipher_algorithm |
A cipher algorithm. More... | |
struct | pubkey_algorithm |
A public key algorithm. More... | |
Macros | |
#define | cipher_encrypt(cipher, ctx, src, dst, len) |
#define | cipher_decrypt(cipher, ctx, src, dst, len) |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
static void | digest_init (struct digest_algorithm *digest, void *ctx) |
static void | digest_update (struct digest_algorithm *digest, void *ctx, const void *data, size_t len) |
static void | digest_final (struct digest_algorithm *digest, void *ctx, void *out) |
static int | cipher_setkey (struct cipher_algorithm *cipher, void *ctx, const void *key, size_t keylen) |
static void | cipher_setiv (struct cipher_algorithm *cipher, void *ctx, const void *iv, size_t ivlen) |
static void | cipher_encrypt (struct cipher_algorithm *cipher, void *ctx, const void *src, void *dst, size_t len) |
static void | cipher_decrypt (struct cipher_algorithm *cipher, void *ctx, const void *src, void *dst, size_t len) |
static void | cipher_auth (struct cipher_algorithm *cipher, void *ctx, void *auth) |
static int | is_stream_cipher (struct cipher_algorithm *cipher) |
static int | is_block_cipher (struct cipher_algorithm *cipher) |
static int | is_auth_cipher (struct cipher_algorithm *cipher) |
static int | pubkey_init (struct pubkey_algorithm *pubkey, void *ctx, const void *key, size_t key_len) |
static size_t | pubkey_max_len (struct pubkey_algorithm *pubkey, void *ctx) |
static int | pubkey_encrypt (struct pubkey_algorithm *pubkey, void *ctx, const void *data, size_t len, void *out) |
static int | pubkey_decrypt (struct pubkey_algorithm *pubkey, void *ctx, const void *data, size_t len, void *out) |
static int | pubkey_sign (struct pubkey_algorithm *pubkey, void *ctx, struct digest_algorithm *digest, const void *value, void *signature) |
static int | pubkey_verify (struct pubkey_algorithm *pubkey, void *ctx, struct digest_algorithm *digest, const void *value, const void *signature, size_t signature_len) |
static void | pubkey_final (struct pubkey_algorithm *pubkey, void *ctx) |
static int | pubkey_match (struct pubkey_algorithm *pubkey, const void *private_key, size_t private_key_len, const void *public_key, size_t public_key_len) |
void | digest_null_init (void *ctx) |
void | digest_null_update (void *ctx, const void *src, size_t len) |
void | digest_null_final (void *ctx, void *out) |
int | cipher_null_setkey (void *ctx, const void *key, size_t keylen) |
void | cipher_null_setiv (void *ctx, const void *iv, size_t ivlen) |
void | cipher_null_encrypt (void *ctx, const void *src, void *dst, size_t len) |
void | cipher_null_decrypt (void *ctx, const void *src, void *dst, size_t len) |
void | cipher_null_auth (void *ctx, void *auth) |
int | pubkey_null_init (void *ctx, const void *key, size_t key_len) |
size_t | pubkey_null_max_len (void *ctx) |
int | pubkey_null_encrypt (void *ctx, const void *plaintext, size_t plaintext_len, void *ciphertext) |
int | pubkey_null_decrypt (void *ctx, const void *ciphertext, size_t ciphertext_len, void *plaintext) |
int | pubkey_null_sign (void *ctx, struct digest_algorithm *digest, const void *value, void *signature) |
int | pubkey_null_verify (void *ctx, struct digest_algorithm *digest, const void *value, const void *signature, size_t signature_len) |
Variables | |
struct digest_algorithm | digest_null |
struct cipher_algorithm | cipher_null |
struct pubkey_algorithm | pubkey_null |
Cryptographic API.
Definition in file crypto.h.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
inlinestatic |
Definition at line 198 of file crypto.h.
Referenced by asn1_okx(), chap_init(), cms_digest(), dbg_md5_da(), digest_cost(), digest_exec(), digest_frag_okx(), hash_df(), hmac_final(), hmac_init(), http_digest_init(), icert_cert(), md5_sha1_init(), ntlm_key(), ocsp_check_signature(), ocsp_compare_responder_key_hash(), ocsp_request(), peerblk_reset(), peerdist_info_passphrase_okx(), tls_select_handshake(), tls_send_client_key_exchange_dhe(), x509_check_signature(), and x509_fingerprint().
|
inlinestatic |
Definition at line 203 of file crypto.h.
References ctx, data, digest, and len.
Referenced by asn1_okx(), chap_update(), cms_digest(), dbg_md5_da(), digest_cost(), digest_exec(), digest_frag_okx(), hash_df(), hmac_final(), hmac_init(), hmac_update(), http_digest_update(), icert_cert(), md5_sha1_update(), ntlm_key(), ocsp_check_signature(), ocsp_compare_responder_key_hash(), ocsp_request(), peerblk_decrypt(), peerblk_raw_rx(), peerdist_info_passphrase_okx(), tls_add_handshake(), tls_send_client_key_exchange_dhe(), x509_check_signature(), and x509_fingerprint().
|
inlinestatic |
Definition at line 208 of file crypto.h.
References ctx, digest, and out.
Referenced by asn1_okx(), chap_respond(), cms_digest(), dbg_md5_da(), digest_cost(), digest_exec(), digest_frag_okx(), hash_df(), hmac_final(), hmac_init(), http_digest_final(), icert_cert(), md5_sha1_final(), ntlm_key(), ocsp_check_signature(), ocsp_compare_responder_key_hash(), ocsp_request(), peerblk_done(), peerdist_info_passphrase_okx(), tls_send_client_key_exchange_dhe(), tls_verify_handshake(), x509_check_signature(), and x509_fingerprint().
|
inlinestatic |
Definition at line 213 of file crypto.h.
References ctx, key, and cipher_algorithm::setkey.
Referenced by aes_unwrap(), aes_wrap(), cbc_setkey(), ccmp_init(), cipher_cost(), cipher_decrypt_okx(), cipher_encrypt_okx(), gcm_setkey(), peerblk_parse_header(), tkip_decrypt(), tkip_encrypt(), tls_generate_keys(), wep_decrypt(), and wep_encrypt().
|
inlinestatic |
Definition at line 218 of file crypto.h.
References ctx, iv, and cipher_algorithm::setiv.
Referenced by cipher_cost(), cipher_decrypt_okx(), cipher_encrypt_okx(), peerblk_parse_iv(), tls_new_ciphertext(), and tls_send_plaintext().
|
inlinestatic |
Definition at line 223 of file crypto.h.
References ctx, cipher_algorithm::encrypt, len, and src.
|
inlinestatic |
Definition at line 233 of file crypto.h.
References ctx, cipher_algorithm::decrypt, len, and src.
|
inlinestatic |
Definition at line 243 of file crypto.h.
References cipher_algorithm::auth, and ctx.
Referenced by cipher_decrypt_okx(), cipher_encrypt_okx(), tls_new_ciphertext(), and tls_send_plaintext().
|
inlinestatic |
|
inlinestatic |
Definition at line 252 of file crypto.h.
References cipher_algorithm::blocksize.
Referenced by tls_new_ciphertext(), and tls_send_plaintext().
|
inlinestatic |
Definition at line 256 of file crypto.h.
References cipher_algorithm::authsize.
Referenced by cipher_decrypt_okx(), cipher_encrypt_okx(), tls_new_ciphertext(), and tls_send_plaintext().
|
inlinestatic |
Definition at line 260 of file crypto.h.
References ctx, pubkey_algorithm::init, and key.
Referenced by cms_verify_digest(), icert_cert(), ocsp_check_signature(), tls_send_certificate_verify(), tls_validator_done(), and x509_check_signature().
|
inlinestatic |
Definition at line 265 of file crypto.h.
References ctx, and pubkey_algorithm::max_len.
Referenced by icert_cert(), tls_send_certificate_verify(), and tls_send_client_key_exchange_pubkey().
|
inlinestatic |
Definition at line 270 of file crypto.h.
References ctx, data, pubkey_algorithm::encrypt, len, and out.
Referenced by tls_send_client_key_exchange_pubkey().
|
inlinestatic |
Definition at line 275 of file crypto.h.
References ctx, data, pubkey_algorithm::decrypt, len, and out.
|
inlinestatic |
Definition at line 280 of file crypto.h.
References ctx, digest, pubkey_algorithm::sign, signature, and value.
Referenced by icert_cert(), and tls_send_certificate_verify().
|
inlinestatic |
Definition at line 286 of file crypto.h.
References ctx, digest, signature, value, and pubkey_algorithm::verify.
Referenced by cms_verify_digest(), ocsp_check_signature(), tls_send_client_key_exchange_dhe(), and x509_check_signature().
|
inlinestatic |
Definition at line 293 of file crypto.h.
References ctx, and pubkey_algorithm::final.
Referenced by cms_verify_digest(), icert_cert(), ocsp_check_signature(), tls_clear_cipher(), tls_send_certificate_verify(), and x509_check_signature().
|
inlinestatic |
Definition at line 297 of file crypto.h.
References pubkey_algorithm::match, and private_key_len.
Referenced by certstore_find_key().
void digest_null_init | ( | void * | ctx | ) |
void digest_null_update | ( | void * | ctx, |
const void * | src, | ||
size_t | len | ||
) |
void digest_null_final | ( | void * | ctx, |
void * | out | ||
) |
int cipher_null_setkey | ( | void * | ctx, |
const void * | key, | ||
size_t | keylen | ||
) |
void cipher_null_setiv | ( | void * | ctx, |
const void * | iv, | ||
size_t | ivlen | ||
) |
void cipher_null_encrypt | ( | void * | ctx, |
const void * | src, | ||
void * | dst, | ||
size_t | len | ||
) |
void cipher_null_decrypt | ( | void * | ctx, |
const void * | src, | ||
void * | dst, | ||
size_t | len | ||
) |
void cipher_null_auth | ( | void * | ctx, |
void * | auth | ||
) |
int pubkey_null_init | ( | void * | ctx, |
const void * | key, | ||
size_t | key_len | ||
) |
size_t pubkey_null_max_len | ( | void * | ctx | ) |
int pubkey_null_encrypt | ( | void * | ctx, |
const void * | plaintext, | ||
size_t | plaintext_len, | ||
void * | ciphertext | ||
) |
int pubkey_null_decrypt | ( | void * | ctx, |
const void * | ciphertext, | ||
size_t | ciphertext_len, | ||
void * | plaintext | ||
) |
int pubkey_null_sign | ( | void * | ctx, |
struct digest_algorithm * | digest, | ||
const void * | value, | ||
void * | signature | ||
) |
int pubkey_null_verify | ( | void * | ctx, |
struct digest_algorithm * | digest, | ||
const void * | value, | ||
const void * | signature, | ||
size_t | signature_len | ||
) |
struct digest_algorithm digest_null |
Definition at line 48 of file crypto_null.c.
Referenced by tls_clear_handshake().
struct cipher_algorithm cipher_null |
Definition at line 83 of file crypto_null.c.
struct pubkey_algorithm pubkey_null |
Definition at line 135 of file crypto_null.c.