37#ifndef SHARKSSL_PSA_CONSUMER_EDDSA_H
38#define SHARKSSL_PSA_CONSUMER_EDDSA_H
42#if !SHARKSSL_PSA_CONSUMER
43#error SharkSslPSAConsumerEdDSA.h requires SHARKSSL_PSA_CONSUMER
61 U16 seedLen, U16 bits,
int prehash);
63 U16 publicKeyLen, U16 bits,
int prehash);
65 U16 publicKeySize, U16 *publicKeyLen);
67 U32 messageLen, U8 *signature, U16 signatureSize,
70 U32 messageLen,
const U8 *signature, U16 signatureLen);
71#if (SHARKSSL_ENABLE_CSR_CREATION && SHARKSSL_ENABLE_EDDSA)
TLS objects, certificate/session operations, and public-key interfaces.
SHARKSSL_API int SharkSslPSAEdDSAKey_generate(SharkSslPSAEdDSAKey *o, U16 bits, int prehash)
SHARKSSL_API int SharkSslASN1Create_CSRWithPSAEdDSAKey(struct SharkSslASN1Create *o, const SharkSslPSAEdDSAKey *key, struct SharkSslCertDN *certDN, const char *SAN, struct SharkSslBitExtReq *keyUsage, struct SharkSslBitExtReq *nsCertType)
Create a PKCS#10 CSR using a private PureEdDSA PSA handle The key must be Ed25519 or Ed448 and permit...
SHARKSSL_API int SharkSslPSAEdDSAKey_verify(const SharkSslPSAEdDSAKey *o, const U8 *message, U32 messageLen, const U8 *signature, U16 signatureLen)
SHARKSSL_API int SharkSslPSAEdDSAKey_destructor(SharkSslPSAEdDSAKey *o)
SHARKSSL_API int SharkSslPSAEdDSAKey_sign(const SharkSslPSAEdDSAKey *o, const U8 *message, U32 messageLen, U8 *signature, U16 signatureSize, U16 *signatureLen)
SHARKSSL_API int SharkSslPSAEdDSAKey_exportPublic(const SharkSslPSAEdDSAKey *o, U8 *publicKey, U16 publicKeySize, U16 *publicKeyLen)
SHARKSSL_API int SharkSslPSAEdDSAKey_importPublic(SharkSslPSAEdDSAKey *o, const U8 *publicKey, U16 publicKeyLen, U16 bits, int prehash)
SHARKSSL_API int SharkSslPSAEdDSAKey_importPrivate(SharkSslPSAEdDSAKey *o, const U8 *seed, U16 seedLen, U16 bits, int prehash)
struct SharkSslPSAEdDSAKey SharkSslPSAEdDSAKey
A volatile PSA Ed25519 or Ed448 key.
uint32_t psa_key_id_t
Definition: crypto.h:60
Opaque object used when creating ASN.1 encoded data.
Definition: SharkSslASN1.h:249
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/nss_tech_notes/nss_tech_note3 http://to...
Definition: SharkSslASN1.h:260
Certificate KeyUsage and ExtendedKeyUsage flags and relative pseudofunctions.
Definition: SharkSSL.h:739
A volatile PSA Ed25519 or Ed448 key.
Definition: SharkSslPSAConsumerEdDSA.h:52
U8 publicOnly
Definition: SharkSslPSAConsumerEdDSA.h:56
U16 bits
Definition: SharkSslPSAConsumerEdDSA.h:54
U8 prehash
Definition: SharkSslPSAConsumerEdDSA.h:55
psa_key_id_t handle
Definition: SharkSslPSAConsumerEdDSA.h:53