api
ecdsa.ch
Declarations in ecdsa.ch
1 declarationstls
Declarations
Public only
tls#
Publicnamespace
namespace tls
============================================================================
ECDSAContext#
Publicstruct
struct ECDSAContext {
var pub_x : Mpi
var pub_y : Mpi
var priv_key : Mpi
var curve_id : u16
var is_init : bool
var has_private : bool
}
─── ECDSA Context ──────────────────────────────────────────────────────
ecdsa_init#
Publicfunction
func ecdsa_init(ctx : *ECDSAContext) : void
ecdsa_import_pubkey#
Publicfunction
func ecdsa_import_pubkey(ctx : *ECDSAContext, pub_key : *u8, pub_key_len : size_t, curve : u16) : int
─── Import ECDSA Public Key ──────────────────────────────────────────
ecdsa_import_privkey#
Publicfunction
func ecdsa_import_privkey(ctx : *ECDSAContext, priv_key : *u8, priv_key_len : size_t, curve : u16) : int
Import raw private key scalar (32 bytes for P-256)
ecdsa_sign#
Publicfunction
func ecdsa_sign(ctx : *ECDSAContext, hash : *u8, hash_len : size_t, sig_out : *u8, sig_out_len : *u16) : int
─── ECDSA Signing (secp256r1) ────────────────────────────────────────
ecdsa_parse_signature_ext#
function
func ecdsa_parse_signature_ext(sig : *u8, sig_len : size_t, r_out : *u8, s_out : *u8, coord_bytes : size_t) : int
ECDSA signature is ASN.1 DER encoded:
ecdsa_parse_signature#
function
func ecdsa_parse_signature(sig : *u8, sig_len : size_t, r_out : *u8, s_out : *u8) : int
P-256 signature parse (kept for compatibility).
ecdsa_verify#
Publicfunction
func ecdsa_verify(ctx : *ECDSAContext, hash : *u8, hash_len : size_t, sig : *u8, sig_len : size_t) : int
hash: message digest (32 bytes for SHA-256, 48 for SHA-384, 64 for SHA-512)