diff --git a/doc/dox_comments/header_files/aes.h b/doc/dox_comments/header_files/aes.h index b4ab5a4f7..8c86fe47d 100644 --- a/doc/dox_comments/header_files/aes.h +++ b/doc/dox_comments/header_files/aes.h @@ -30,6 +30,7 @@ */ WOLFSSL_API int wc_AesSetKey(Aes* aes, const byte* key, word32 len, const byte* iv, int dir); + /*! \ingroup AES \brief This function sets the initialization vector for a @@ -58,6 +59,7 @@ WOLFSSL_API int wc_AesSetKey(Aes* aes, const byte* key, word32 len, \sa wc_AesSetKey */ WOLFSSL_API int wc_AesSetIV(Aes* aes, const byte* iv); + /*! \ingroup AES \brief Encrypts a plaintext message from the input buffer in, and places @@ -100,6 +102,7 @@ WOLFSSL_API int wc_AesSetIV(Aes* aes, const byte* iv); */ WOLFSSL_API int wc_AesCbcEncrypt(Aes* aes, byte* out, const byte* in, word32 sz); + /*! \ingroup AES \brief Decrypts a cipher from the input buffer in, and places the @@ -142,6 +145,7 @@ WOLFSSL_API int wc_AesCbcEncrypt(Aes* aes, byte* out, */ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, const byte* in, word32 sz); + /*! \ingroup AES \brief Encrypts/Decrypts a message from the input buffer in, and places @@ -184,8 +188,9 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_AesSetKey */ - WOLFSSL_API int wc_AesCtrEncrypt(Aes* aes, byte* out, +WOLFSSL_API int wc_AesCtrEncrypt(Aes* aes, byte* out, const byte* in, word32 sz); + /*! \ingroup AES \brief This function is a one-block encrypt of the input block, in, into @@ -214,7 +219,8 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_AesDecryptDirect \sa wc_AesSetKeyDirect */ - WOLFSSL_API void wc_AesEncryptDirect(Aes* aes, byte* out, const byte* in); +WOLFSSL_API void wc_AesEncryptDirect(Aes* aes, byte* out, const byte* in); + /*! \ingroup AES \brief This function is a one-block decrypt of the input block, in, into @@ -247,7 +253,8 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_AesEncryptDirect \sa wc_AesSetKeyDirect */ - WOLFSSL_API void wc_AesDecryptDirect(Aes* aes, byte* out, const byte* in); +WOLFSSL_API void wc_AesDecryptDirect(Aes* aes, byte* out, const byte* in); + /*! \ingroup AES \brief This function is used to set the AES keys for CTR mode with AES. @@ -286,8 +293,9 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_AesDecryptDirect \sa wc_AesSetKey */ - WOLFSSL_API int wc_AesSetKeyDirect(Aes* aes, const byte* key, word32 len, +WOLFSSL_API int wc_AesSetKeyDirect(Aes* aes, const byte* key, word32 len, const byte* iv, int dir); + /*! \ingroup AES \brief This function is used to set the key for AES GCM @@ -315,7 +323,8 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_AesGcmEncrypt \sa wc_AesGcmDecrypt */ - WOLFSSL_API int wc_AesGcmSetKey(Aes* aes, const byte* key, word32 len); +WOLFSSL_API int wc_AesGcmSetKey(Aes* aes, const byte* key, word32 len); + /*! \ingroup AES \brief This function encrypts the input message, held in the buffer in, @@ -359,11 +368,12 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_AesGcmSetKey \sa wc_AesGcmDecrypt */ - WOLFSSL_API int wc_AesGcmEncrypt(Aes* aes, byte* out, +WOLFSSL_API int wc_AesGcmEncrypt(Aes* aes, byte* out, const byte* in, word32 sz, const byte* iv, word32 ivSz, byte* authTag, word32 authTagSz, const byte* authIn, word32 authInSz); + /*! \ingroup AES \brief This function decrypts the input cipher text, held in the buffer @@ -407,11 +417,12 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_AesGcmSetKey \sa wc_AesGcmEncrypt */ - WOLFSSL_API int wc_AesGcmDecrypt(Aes* aes, byte* out, +WOLFSSL_API int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz, const byte* iv, word32 ivSz, const byte* authTag, word32 authTagSz, const byte* authIn, word32 authInSz); + /*! \ingroup AES \brief This function initializes and sets the key for a GMAC object @@ -433,7 +444,8 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_GmacUpdate */ - WOLFSSL_API int wc_GmacSetKey(Gmac* gmac, const byte* key, word32 len); +WOLFSSL_API int wc_GmacSetKey(Gmac* gmac, const byte* key, word32 len); + /*! \ingroup AES \brief This function generates the Gmac hash of the authIn input and @@ -468,9 +480,10 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_GmacSetKey */ - WOLFSSL_API int wc_GmacUpdate(Gmac* gmac, const byte* iv, word32 ivSz, +WOLFSSL_API int wc_GmacUpdate(Gmac* gmac, const byte* iv, word32 ivSz, const byte* authIn, word32 authInSz, byte* authTag, word32 authTagSz); + /*! \ingroup AES \brief This function sets the key for an AES object using CCM @@ -494,7 +507,8 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_AesCcmEncrypt \sa wc_AesCcmDecrypt */ - WOLFSSL_API int wc_AesCcmSetKey(Aes* aes, const byte* key, word32 keySz); +WOLFSSL_API int wc_AesCcmSetKey(Aes* aes, const byte* key, word32 keySz); + /*! \ingroup AES @@ -538,11 +552,12 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_AesCcmSetKey \sa wc_AesCcmDecrypt */ - WOLFSSL_API int wc_AesCcmEncrypt(Aes* aes, byte* out, +WOLFSSL_API int wc_AesCcmEncrypt(Aes* aes, byte* out, const byte* in, word32 inSz, const byte* nonce, word32 nonceSz, byte* authTag, word32 authTagSz, const byte* authIn, word32 authInSz); + /*! \ingroup AES @@ -592,11 +607,12 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, \sa wc_AesCcmSetKey \sa wc_AesCcmEncrypt */ - WOLFSSL_API int wc_AesCcmDecrypt(Aes* aes, byte* out, +WOLFSSL_API int wc_AesCcmDecrypt(Aes* aes, byte* out, const byte* in, word32 inSz, const byte* nonce, word32 nonceSz, const byte* authTag, word32 authTagSz, const byte* authIn, word32 authInSz); + /*! \ingroup AES @@ -631,6 +647,7 @@ WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, */ WOLFSSL_API int wc_AesXtsSetKey(XtsAes* aes, const byte* key, word32 len, int dir, void* heap, int devId); + /*! \ingroup AES @@ -669,6 +686,7 @@ WOLFSSL_API int wc_AesXtsSetKey(XtsAes* aes, const byte* key, */ WOLFSSL_API int wc_AesXtsEncryptSector(XtsAes* aes, byte* out, const byte* in, word32 sz, word64 sector); + /*! \ingroup AES @@ -707,6 +725,7 @@ WOLFSSL_API int wc_AesXtsEncryptSector(XtsAes* aes, byte* out, */ WOLFSSL_API int wc_AesXtsDecryptSector(XtsAes* aes, byte* out, const byte* in, word32 sz, word64 sector); + /*! \ingroup AES @@ -746,6 +765,7 @@ WOLFSSL_API int wc_AesXtsDecryptSector(XtsAes* aes, byte* out, */ WOLFSSL_API int wc_AesXtsEncrypt(XtsAes* aes, byte* out, const byte* in, word32 sz, const byte* i, word32 iSz); + /*! \ingroup AES @@ -784,6 +804,7 @@ WOLFSSL_API int wc_AesXtsEncrypt(XtsAes* aes, byte* out, */ WOLFSSL_API int wc_AesXtsDecrypt(XtsAes* aes, byte* out, const byte* in, word32 sz, const byte* i, word32 iSz); + /*! \ingroup AES @@ -835,5 +856,5 @@ WOLFSSL_API int wc_AesXtsFree(XtsAes* aes); \sa wc_AesSetKey \sa wc_AesSetIV */ -WOLFSSL_API int wc_AesInit(Aes* aes, void* heap, int devId); +WOLFSSL_API int wc_AesInit(Aes*, void*, int); diff --git a/doc/dox_comments/header_files/arc4.h b/doc/dox_comments/header_files/arc4.h index 4966356c1..ae99da5ec 100644 --- a/doc/dox_comments/header_files/arc4.h +++ b/doc/dox_comments/header_files/arc4.h @@ -33,6 +33,7 @@ \sa wc_Arc4SetKey */ WOLFSSL_API int wc_Arc4Process(Arc4*, byte*, const byte*, word32); + /*! \ingroup ARC4 diff --git a/doc/dox_comments/header_files/asn_public.h b/doc/dox_comments/header_files/asn_public.h index f61f8c986..d876c79a9 100644 --- a/doc/dox_comments/header_files/asn_public.h +++ b/doc/dox_comments/header_files/asn_public.h @@ -694,6 +694,7 @@ WOLFSSL_API int wc_SetDatesBuffer(Cert*, const byte*, int); */ WOLFSSL_API int wc_SetAuthKeyIdFromPublicKey(Cert *cert, RsaKey *rsakey, ecc_key *eckey); + /*! \ingroup ASN diff --git a/doc/dox_comments/header_files/blake2.h b/doc/dox_comments/header_files/blake2.h index a67b95c09..1a9d5a6ad 100644 --- a/doc/dox_comments/header_files/blake2.h +++ b/doc/dox_comments/header_files/blake2.h @@ -20,6 +20,7 @@ \sa wc_Blake2bUpdate */ WOLFSSL_API int wc_InitBlake2b(Blake2b*, word32); + /*! \ingroup BLAKE2 @@ -54,6 +55,7 @@ WOLFSSL_API int wc_InitBlake2b(Blake2b*, word32); \sa wc_Blake2bFinal */ WOLFSSL_API int wc_Blake2bUpdate(Blake2b*, const byte*, word32); + /*! \ingroup BLAKE2 diff --git a/doc/dox_comments/header_files/camellia.h b/doc/dox_comments/header_files/camellia.h index a36cf5fa6..c6e4db722 100644 --- a/doc/dox_comments/header_files/camellia.h +++ b/doc/dox_comments/header_files/camellia.h @@ -37,6 +37,7 @@ */ WOLFSSL_API int wc_CamelliaSetKey(Camellia* cam, const byte* key, word32 len, const byte* iv); + /*! \ingroup Camellia @@ -64,6 +65,7 @@ WOLFSSL_API int wc_CamelliaSetKey(Camellia* cam, \sa wc_CamelliaSetKey */ WOLFSSL_API int wc_CamelliaSetIV(Camellia* cam, const byte* iv); + /*! \ingroup Camellia @@ -92,6 +94,7 @@ WOLFSSL_API int wc_CamelliaSetIV(Camellia* cam, const byte* iv); */ WOLFSSL_API int wc_CamelliaEncryptDirect(Camellia* cam, byte* out, const byte* in); + /*! \ingroup Camellia @@ -121,6 +124,7 @@ WOLFSSL_API int wc_CamelliaEncryptDirect(Camellia* cam, byte* out, */ WOLFSSL_API int wc_CamelliaDecryptDirect(Camellia* cam, byte* out, const byte* in); + /*! \ingroup Camellia @@ -149,6 +153,7 @@ WOLFSSL_API int wc_CamelliaDecryptDirect(Camellia* cam, byte* out, */ WOLFSSL_API int wc_CamelliaCbcEncrypt(Camellia* cam, byte* out, const byte* in, word32 sz); + /*! \ingroup Camellia diff --git a/doc/dox_comments/header_files/chacha.h b/doc/dox_comments/header_files/chacha.h index eb876de1e..7ed3af2ff 100644 --- a/doc/dox_comments/header_files/chacha.h +++ b/doc/dox_comments/header_files/chacha.h @@ -31,6 +31,7 @@ \sa wc_Chacha_Process */ WOLFSSL_API int wc_Chacha_SetIV(ChaCha* ctx, const byte* inIv, word32 counter); + /*! \ingroup ChaCha @@ -65,6 +66,7 @@ WOLFSSL_API int wc_Chacha_SetIV(ChaCha* ctx, const byte* inIv, word32 counter); */ WOLFSSL_API int wc_Chacha_Process(ChaCha* ctx, byte* cipher, const byte* plain, word32 msglen); + /*! \ingroup ChaCha diff --git a/doc/dox_comments/header_files/chacha20_poly1305.h b/doc/dox_comments/header_files/chacha20_poly1305.h index 7b3ae5876..48ae90ff1 100644 --- a/doc/dox_comments/header_files/chacha20_poly1305.h +++ b/doc/dox_comments/header_files/chacha20_poly1305.h @@ -54,6 +54,7 @@ int wc_ChaCha20Poly1305_Encrypt( const byte* inPlaintext, const word32 inPlaintextLen, byte* outCiphertext, byte outAuthTag[CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE]); + /*! \ingroup ChaCha20Poly1305 diff --git a/doc/dox_comments/header_files/coding.h b/doc/dox_comments/header_files/coding.h index a781c2dbf..455ad0c19 100644 --- a/doc/dox_comments/header_files/coding.h +++ b/doc/dox_comments/header_files/coding.h @@ -37,6 +37,7 @@ */ WOLFSSL_API int Base64_Decode(const byte* in, word32 inLen, byte* out, word32* outLen); + /*! \ingroup Base_Encoding @@ -77,6 +78,7 @@ WOLFSSL_API int Base64_Decode(const byte* in, word32 inLen, byte* out, WOLFSSL_API int Base64_Encode(const byte* in, word32 inLen, byte* out, word32* outLen); + /*! \ingroup Base_Encoding @@ -118,6 +120,7 @@ int Base64_Encode(const byte* in, word32 inLen, byte* out, */ int Base64_EncodeEsc(const byte* in, word32 inLen, byte* out, word32* outLen); + /*! \ingroup Base_Encoding @@ -157,6 +160,7 @@ int Base64_EncodeEsc(const byte* in, word32 inLen, byte* out, WOLFSSL_API int Base64_Encode_NoNl(const byte* in, word32 inLen, byte* out, word32* outLen); + /*! \ingroup Base_Encoding @@ -194,6 +198,7 @@ int Base64_Encode_NoNl(const byte* in, word32 inLen, byte* out, */ WOLFSSL_API int Base16_Decode(const byte* in, word32 inLen, byte* out, word32* outLen); + /*! \ingroup Base_Encoding diff --git a/doc/dox_comments/header_files/compress.h b/doc/dox_comments/header_files/compress.h index 8ed438ad4..1075b3c5f 100644 --- a/doc/dox_comments/header_files/compress.h +++ b/doc/dox_comments/header_files/compress.h @@ -37,6 +37,7 @@ \sa wc_DeCompress */ WOLFSSL_API int wc_Compress(byte*, word32, const byte*, word32, word32); + /*! \ingroup Compression diff --git a/doc/dox_comments/header_files/curve25519.h b/doc/dox_comments/header_files/curve25519.h index a14ad8080..66280e2b7 100644 --- a/doc/dox_comments/header_files/curve25519.h +++ b/doc/dox_comments/header_files/curve25519.h @@ -35,6 +35,7 @@ */ WOLFSSL_API int wc_curve25519_make_key(WC_RNG* rng, int keysize, curve25519_key* key); + /*! \ingroup Curve25519 @@ -79,6 +80,7 @@ WOLFSSL_API int wc_curve25519_shared_secret(curve25519_key* private_key, curve25519_key* public_key, byte* out, word32* outlen); + /*! \ingroup Curve25519 @@ -126,6 +128,7 @@ WOLFSSL_API int wc_curve25519_shared_secret_ex(curve25519_key* private_key, curve25519_key* public_key, byte* out, word32* outlen, int endian); + /*! \ingroup Curve25519 @@ -149,6 +152,7 @@ int wc_curve25519_shared_secret_ex(curve25519_key* private_key, */ WOLFSSL_API int wc_curve25519_init(curve25519_key* key); + /*! \ingroup Curve25519 @@ -170,6 +174,7 @@ int wc_curve25519_init(curve25519_key* key); */ WOLFSSL_API void wc_curve25519_free(curve25519_key* key); + /*! \ingroup Curve25519 @@ -202,6 +207,7 @@ void wc_curve25519_free(curve25519_key* key); WOLFSSL_API int wc_curve25519_import_private(const byte* priv, word32 privSz, curve25519_key* key); + /*! \ingroup Curve25519 @@ -238,6 +244,7 @@ int wc_curve25519_import_private(const byte* priv, word32 privSz, WOLFSSL_API int wc_curve25519_import_private_ex(const byte* priv, word32 privSz, curve25519_key* key, int endian); + /*! \ingroup Curve25519 @@ -282,6 +289,7 @@ int wc_curve25519_import_private_ex(const byte* priv, word32 privSz, WOLFSSL_API int wc_curve25519_import_private_raw(const byte* priv, word32 privSz, const byte* pub, word32 pubSz, curve25519_key* key); + /*! \ingroup Curve25519 @@ -327,6 +335,7 @@ WOLFSSL_API int wc_curve25519_import_private_raw_ex(const byte* priv, word32 privSz, const byte* pub, word32 pubSz, curve25519_key* key, int endian); + /*! \ingroup Curve25519 @@ -366,6 +375,7 @@ int wc_curve25519_import_private_raw_ex(const byte* priv, word32 privSz, WOLFSSL_API int wc_curve25519_export_private_raw(curve25519_key* key, byte* out, word32* outLen); + /*! \ingroup Curve25519 @@ -408,6 +418,7 @@ int wc_curve25519_export_private_raw(curve25519_key* key, byte* out, WOLFSSL_API int wc_curve25519_export_private_raw_ex(curve25519_key* key, byte* out, word32* outLen, int endian); + /*! \ingroup Curve25519 @@ -450,6 +461,7 @@ parameter does not match the key size of the key structure. WOLFSSL_API int wc_curve25519_import_public(const byte* in, word32 inLen, curve25519_key* key); + /*! \ingroup Curve25519 @@ -493,6 +505,7 @@ int wc_curve25519_import_public(const byte* in, word32 inLen, WOLFSSL_API int wc_curve25519_import_public_ex(const byte* in, word32 inLen, curve25519_key* key, int endian); + /*! \ingroup Curve25519 @@ -527,6 +540,7 @@ int wc_curve25519_import_public_ex(const byte* in, word32 inLen, */ WOLFSSL_API int wc_curve25519_export_public(curve25519_key* key, byte* out, word32* outLen); + /*! \ingroup Curve25519 @@ -566,6 +580,7 @@ int wc_curve25519_export_public(curve25519_key* key, byte* out, word32* outLen); WOLFSSL_API int wc_curve25519_export_public_ex(curve25519_key* key, byte* out, word32* outLen, int endian); + /*! \ingroup Curve25519 @@ -606,6 +621,7 @@ WOLFSSL_API int wc_curve25519_export_key_raw(curve25519_key* key, byte* priv, word32 *privSz, byte* pub, word32 *pubSz); + /*! \ingroup Curve25519 @@ -651,6 +667,7 @@ int wc_curve25519_export_key_raw_ex(curve25519_key* key, byte* priv, word32 *privSz, byte* pub, word32 *pubSz, int endian); + /*! \ingroup Curve25519 diff --git a/doc/dox_comments/header_files/des3.h b/doc/dox_comments/header_files/des3.h index 59a45479d..1fe70a715 100644 --- a/doc/dox_comments/header_files/des3.h +++ b/doc/dox_comments/header_files/des3.h @@ -36,6 +36,7 @@ */ WOLFSSL_API int wc_Des_SetKey(Des* des, const byte* key, const byte* iv, int dir); + /*! \ingroup 3DES @@ -61,6 +62,7 @@ WOLFSSL_API int wc_Des_SetKey(Des* des, const byte* key, \sa wc_Des_SetKey */ WOLFSSL_API void wc_Des_SetIV(Des* des, const byte* iv); + /*! \ingroup 3DES @@ -93,6 +95,7 @@ WOLFSSL_API void wc_Des_SetIV(Des* des, const byte* iv); */ WOLFSSL_API int wc_Des_CbcEncrypt(Des* des, byte* out, const byte* in, word32 sz); + /*! \ingroup 3DES @@ -125,6 +128,7 @@ WOLFSSL_API int wc_Des_CbcEncrypt(Des* des, byte* out, */ WOLFSSL_API int wc_Des_CbcDecrypt(Des* des, byte* out, const byte* in, word32 sz); + /*! \ingroup 3DES @@ -156,6 +160,7 @@ WOLFSSL_API int wc_Des_CbcDecrypt(Des* des, byte* out, */ WOLFSSL_API int wc_Des_EcbEncrypt(Des* des, byte* out, const byte* in, word32 sz); + /*! \ingroup 3DES @@ -189,6 +194,7 @@ WOLFSSL_API int wc_Des_EcbEncrypt(Des* des, byte* out, */ WOLFSSL_API int wc_Des3_EcbEncrypt(Des3* des, byte* out, const byte* in, word32 sz); + /*! \ingroup 3DES @@ -229,6 +235,7 @@ WOLFSSL_API int wc_Des3_EcbEncrypt(Des3* des, byte* out, */ WOLFSSL_API int wc_Des3_SetKey(Des3* des, const byte* key, const byte* iv,int dir); + /*! \ingroup 3DES @@ -257,6 +264,7 @@ WOLFSSL_API int wc_Des3_SetKey(Des3* des, const byte* key, \sa wc_Des3_SetKey */ WOLFSSL_API int wc_Des3_SetIV(Des3* des, const byte* iv); + /*! \ingroup 3DES @@ -289,6 +297,7 @@ WOLFSSL_API int wc_Des3_SetIV(Des3* des, const byte* iv); */ WOLFSSL_API int wc_Des3_CbcEncrypt(Des3* des, byte* out, const byte* in,word32 sz); + /*! \ingroup 3DES diff --git a/doc/dox_comments/header_files/dh.h b/doc/dox_comments/header_files/dh.h index 3cadc1516..8743c090c 100644 --- a/doc/dox_comments/header_files/dh.h +++ b/doc/dox_comments/header_files/dh.h @@ -19,6 +19,7 @@ \sa wc_DhGenerateKeyPair */ WOLFSSL_API int wc_InitDhKey(DhKey* key); + /*! \ingroup Diffie-Hellman @@ -40,6 +41,7 @@ WOLFSSL_API int wc_InitDhKey(DhKey* key); \sa wc_InitDhKey */ WOLFSSL_API void wc_FreeDhKey(DhKey* key); + /*! \ingroup Diffie-Hellman @@ -91,6 +93,7 @@ WOLFSSL_API void wc_FreeDhKey(DhKey* key); */ WOLFSSL_API int wc_DhGenerateKeyPair(DhKey* key, WC_RNG* rng, byte* priv, word32* privSz, byte* pub, word32* pubSz); + /*! \ingroup Diffie-Hellman @@ -142,6 +145,7 @@ WOLFSSL_API int wc_DhGenerateKeyPair(DhKey* key, WC_RNG* rng, byte* priv, WOLFSSL_API int wc_DhAgree(DhKey* key, byte* agree, word32* agreeSz, const byte* priv, word32 privSz, const byte* otherPub, word32 pubSz); + /*! \ingroup Diffie-Hellman @@ -182,6 +186,7 @@ WOLFSSL_API int wc_DhAgree(DhKey* key, byte* agree, word32* agreeSz, */ WOLFSSL_API int wc_DhKeyDecode(const byte* input, word32* inOutIdx, DhKey* key, word32); + /*! \ingroup Diffie-Hellman @@ -222,6 +227,7 @@ WOLFSSL_API int wc_DhKeyDecode(const byte* input, word32* inOutIdx, DhKey* key, */ WOLFSSL_API int wc_DhSetKey(DhKey* key, const byte* p, word32 pSz, const byte* g, word32 gSz); + /*! \ingroup Diffie-Hellman diff --git a/doc/dox_comments/header_files/dsa.h b/doc/dox_comments/header_files/dsa.h index 1d0ccdfda..678f572d0 100644 --- a/doc/dox_comments/header_files/dsa.h +++ b/doc/dox_comments/header_files/dsa.h @@ -19,6 +19,7 @@ \sa wc_FreeDsaKey */ WOLFSSL_API int wc_InitDsaKey(DsaKey* key); + /*! \ingroup DSA @@ -39,6 +40,7 @@ WOLFSSL_API int wc_InitDsaKey(DsaKey* key); \sa wc_FreeDsaKey */ WOLFSSL_API void wc_FreeDsaKey(DsaKey* key); + /*! \ingroup DSA @@ -96,6 +98,7 @@ WOLFSSL_API void wc_FreeDsaKey(DsaKey* key); */ WOLFSSL_API int wc_DsaSign(const byte* digest, byte* out, DsaKey* key, WC_RNG* rng); + /*! \ingroup DSA @@ -158,6 +161,7 @@ WOLFSSL_API int wc_DsaSign(const byte* digest, byte* out, */ WOLFSSL_API int wc_DsaVerify(const byte* digest, const byte* sig, DsaKey* key, int* answer); + /*! \ingroup DSA @@ -197,6 +201,7 @@ WOLFSSL_API int wc_DsaVerify(const byte* digest, const byte* sig, */ WOLFSSL_API int wc_DsaPublicKeyDecode(const byte* input, word32* inOutIdx, DsaKey*, word32); + /*! \ingroup DSA @@ -237,6 +242,7 @@ WOLFSSL_API int wc_DsaPublicKeyDecode(const byte* input, word32* inOutIdx, */ WOLFSSL_API int wc_DsaPrivateKeyDecode(const byte* input, word32* inOutIdx, DsaKey*, word32); + /*! \ingroup DSA @@ -271,6 +277,7 @@ WOLFSSL_API int wc_DsaPrivateKeyDecode(const byte* input, word32* inOutIdx, \sa wc_MakeDsaKey */ WOLFSSL_API int wc_DsaKeyToDer(DsaKey* key, byte* output, word32 inLen); + /*! \ingroup DSA @@ -301,6 +308,7 @@ WOLFSSL_API int wc_DsaKeyToDer(DsaKey* key, byte* output, word32 inLen); \sa wc_DsaSign */ WOLFSSL_API int wc_MakeDsaKey(WC_RNG *rng, DsaKey *dsa); + /*! \ingroup DSA diff --git a/doc/dox_comments/header_files/ed25519.h b/doc/dox_comments/header_files/ed25519.h index 4ebef8d8f..c2fa273fd 100644 --- a/doc/dox_comments/header_files/ed25519.h +++ b/doc/dox_comments/header_files/ed25519.h @@ -27,6 +27,7 @@ */ WOLFSSL_API int wc_ed25519_make_key(WC_RNG* rng, int keysize, ed25519_key* key); + /*! \ingroup ED25519 @@ -72,6 +73,7 @@ int wc_ed25519_make_key(WC_RNG* rng, int keysize, ed25519_key* key); WOLFSSL_API int wc_ed25519_sign_msg(const byte* in, word32 inlen, byte* out, word32 *outlen, ed25519_key* key); + /*! \ingroup ED25519 @@ -119,6 +121,7 @@ int wc_ed25519_sign_msg(const byte* in, word32 inlen, byte* out, WOLFSSL_API int wc_ed25519_verify_msg(const byte* sig, word32 siglen, const byte* msg, word32 msglen, int* stat, ed25519_key* key); + /*! \ingroup ED25519 @@ -141,6 +144,7 @@ int wc_ed25519_verify_msg(const byte* sig, word32 siglen, const byte* msg, */ WOLFSSL_API int wc_ed25519_init(ed25519_key* key); + /*! \ingroup ED25519 @@ -162,6 +166,7 @@ int wc_ed25519_init(ed25519_key* key); */ WOLFSSL_API void wc_ed25519_free(ed25519_key* key); + /*! \ingroup ED25519 @@ -196,6 +201,7 @@ void wc_ed25519_free(ed25519_key* key); */ WOLFSSL_API int wc_ed25519_import_public(const byte* in, word32 inLen, ed25519_key* key); + /*! \ingroup ED25519 @@ -235,6 +241,7 @@ int wc_ed25519_import_public(const byte* in, word32 inLen, ed25519_key* key); WOLFSSL_API int wc_ed25519_import_private_key(const byte* priv, word32 privSz, const byte* pub, word32 pubSz, ed25519_key* key); + /*! \ingroup ED25519 @@ -275,6 +282,7 @@ int wc_ed25519_import_private_key(const byte* priv, word32 privSz, */ WOLFSSL_API int wc_ed25519_export_public(ed25519_key*, byte* out, word32* outLen); + /*! \ingroup ED25519 @@ -313,6 +321,7 @@ int wc_ed25519_export_public(ed25519_key*, byte* out, word32* outLen); */ WOLFSSL_API int wc_ed25519_export_private_only(ed25519_key* key, byte* out, word32* outLen); + /*! \ingroup ED25519 @@ -350,6 +359,7 @@ int wc_ed25519_export_private_only(ed25519_key* key, byte* out, word32* outLen); */ WOLFSSL_API int wc_ed25519_export_private(ed25519_key* key, byte* out, word32* outLen); + /*! \ingroup ED25519 @@ -390,6 +400,7 @@ WOLFSSL_API int wc_ed25519_export_key(ed25519_key* key, byte* priv, word32 *privSz, byte* pub, word32 *pubSz); + /*! \ingroup ED25519 @@ -417,6 +428,7 @@ int wc_ed25519_export_key(ed25519_key* key, */ WOLFSSL_API int wc_ed25519_size(ed25519_key* key); + /*! \ingroup ED25519 @@ -443,6 +455,7 @@ int wc_ed25519_size(ed25519_key* key); */ WOLFSSL_API int wc_ed25519_priv_size(ed25519_key* key); + /*! \ingroup ED25519 @@ -468,6 +481,7 @@ int wc_ed25519_priv_size(ed25519_key* key); */ WOLFSSL_API int wc_ed25519_pub_size(ed25519_key* key); + /*! \ingroup ED25519 diff --git a/doc/dox_comments/header_files/error-crypt.h b/doc/dox_comments/header_files/error-crypt.h index 6d3d40e9c..a97153d09 100644 --- a/doc/dox_comments/header_files/error-crypt.h +++ b/doc/dox_comments/header_files/error-crypt.h @@ -23,6 +23,7 @@ \sa wc_GetErrorString */ WOLFSSL_API void wc_ErrorString(int err, char* buff); + /*! \ingroup Error diff --git a/doc/dox_comments/header_files/evp.h b/doc/dox_comments/header_files/evp.h index e6e5bd709..cad033f57 100644 --- a/doc/dox_comments/header_files/evp.h +++ b/doc/dox_comments/header_files/evp.h @@ -21,6 +21,7 @@ \sa wolfSSL_EVP_CIPHER_CTX_init */ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_ede3_ecb(void); + /*! \ingroup openSSL @@ -43,6 +44,7 @@ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_ede3_ecb(void); \sa wolfSSL_EVP_CIPHER_CTX_init */ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_cbc(void); + /*! \ingroup openSSL @@ -78,6 +80,7 @@ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_cbc(void); WOLFSSL_API int wolfSSL_EVP_DigestInit_ex(WOLFSSL_EVP_MD_CTX* ctx, const WOLFSSL_EVP_MD* type, WOLFSSL_ENGINE *impl); + /*! \ingroup openSSL @@ -125,6 +128,7 @@ WOLFSSL_API int wolfSSL_EVP_CipherInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx, const unsigned char* key, const unsigned char* iv, int enc); + /*! \ingroup openSSL @@ -164,6 +168,7 @@ WOLFSSL_API int wolfSSL_EVP_EncryptInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx, WOLFSSL_ENGINE *impl, const unsigned char* key, const unsigned char* iv); + /*! \ingroup openSSL @@ -212,6 +217,7 @@ WOLFSSL_API int wolfSSL_EVP_DecryptInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx, WOLFSSL_ENGINE *impl, const unsigned char* key, const unsigned char* iv); + /*! \ingroup openSSL @@ -251,6 +257,7 @@ WOLFSSL_API int wolfSSL_EVP_DecryptInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx, WOLFSSL_API int wolfSSL_EVP_CipherUpdate(WOLFSSL_EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl); + /*! \ingroup openSSL @@ -281,6 +288,7 @@ WOLFSSL_API int wolfSSL_EVP_CipherUpdate(WOLFSSL_EVP_CIPHER_CTX *ctx, */ WOLFSSL_API int wolfSSL_EVP_CipherFinal(WOLFSSL_EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + /*! \ingroup openSSL @@ -304,6 +312,7 @@ WOLFSSL_API int wolfSSL_EVP_CipherFinal(WOLFSSL_EVP_CIPHER_CTX *ctx, */ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_key_length(WOLFSSL_EVP_CIPHER_CTX* ctx, int keylen); + /*! \ingroup openSSL @@ -323,6 +332,7 @@ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_key_length(WOLFSSL_EVP_CIPHER_CTX* c \sa wolfSSL_EVP_CIPHER_block_size */ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_block_size(const WOLFSSL_EVP_CIPHER_CTX *ctx); + /*! \ingroup openSSL @@ -341,6 +351,7 @@ WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_block_size(const WOLFSSL_EVP_CIPHER_CTX * \sa wolfSSL_EVP_aes_256_ctr */ WOLFSSL_API int wolfSSL_EVP_CIPHER_block_size(const WOLFSSL_EVP_CIPHER *cipher); + /*! \ingroup openSSL @@ -362,6 +373,7 @@ WOLFSSL_API int wolfSSL_EVP_CIPHER_block_size(const WOLFSSL_EVP_CIPHER *cipher); \sa wolfSSL_EVP_CIPHER_flags */ WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_set_flags(WOLFSSL_EVP_CIPHER_CTX *ctx, int flags); + /*! \ingroup openSSL diff --git a/doc/dox_comments/header_files/hash.h b/doc/dox_comments/header_files/hash.h index 474018c3a..043dfdf48 100644 --- a/doc/dox_comments/header_files/hash.h +++ b/doc/dox_comments/header_files/hash.h @@ -23,6 +23,7 @@ \sa wc_Hash */ WOLFSSL_API int wc_HashGetOID(enum wc_HashType hash_type); + /*! \ingroup wolfCrypt @@ -50,6 +51,7 @@ WOLFSSL_API int wc_HashGetOID(enum wc_HashType hash_type); \sa wc_Hash */ WOLFSSL_API int wc_HashGetDigestSize(enum wc_HashType hash_type); + /*! \ingroup wolfCrypt @@ -82,6 +84,7 @@ WOLFSSL_API int wc_HashGetDigestSize(enum wc_HashType hash_type); WOLFSSL_API int wc_Hash(enum wc_HashType hash_type, const byte* data, word32 data_len, byte* hash, word32 hash_len); + /*! \ingroup MD5 @@ -114,6 +117,7 @@ WOLFSSL_API int wc_Hash(enum wc_HashType hash_type, \sa wc_InitMd5 */ WOLFSSL_API int wc_Md5Hash(const byte* data, word32 len, byte* hash); + /*! \ingroup SHA @@ -138,6 +142,7 @@ WOLFSSL_API int wc_Md5Hash(const byte* data, word32 len, byte* hash); \sa wc_InitSha */ WOLFSSL_API int wc_ShaHash(const byte*, word32, byte*); + /*! \ingroup SHA @@ -162,6 +167,7 @@ WOLFSSL_API int wc_ShaHash(const byte*, word32, byte*); \sa wc_InitSha256 */ WOLFSSL_API int wc_Sha256Hash(const byte*, word32, byte*); + /*! \ingroup SHA @@ -184,7 +190,8 @@ WOLFSSL_API int wc_Sha256Hash(const byte*, word32, byte*); \sa wc_Sha224Update \sa wc_Sha224Final */ - WOLFSSL_API int wc_Sha224Hash(const byte*, word32, byte*); +WOLFSSL_API int wc_Sha224Hash(const byte*, word32, byte*); + /*! \ingroup SHA @@ -209,6 +216,7 @@ WOLFSSL_API int wc_Sha256Hash(const byte*, word32, byte*); \sa wc_InitSha512 */ WOLFSSL_API int wc_Sha512Hash(const byte*, word32, byte*); + /*! \ingroup SHA @@ -232,4 +240,4 @@ WOLFSSL_API int wc_Sha512Hash(const byte*, word32, byte*); \sa wc_Sha384Final \sa wc_InitSha384 */ - WOLFSSL_API int wc_Sha384Hash(const byte*, word32, byte*); +WOLFSSL_API int wc_Sha384Hash(const byte*, word32, byte*); diff --git a/doc/dox_comments/header_files/hc128.h b/doc/dox_comments/header_files/hc128.h index a9f251c6f..3f0b06bc0 100644 --- a/doc/dox_comments/header_files/hc128.h +++ b/doc/dox_comments/header_files/hc128.h @@ -37,6 +37,7 @@ \sa wc_Hc128_SetKey */ WOLFSSL_API int wc_Hc128_Process(HC128*, byte*, const byte*, word32); + /*! \ingroup HC128 diff --git a/doc/dox_comments/header_files/hmac.h b/doc/dox_comments/header_files/hmac.h index aa12f01f7..aaf1b3aec 100644 --- a/doc/dox_comments/header_files/hmac.h +++ b/doc/dox_comments/header_files/hmac.h @@ -33,6 +33,7 @@ \sa wc_HmacFinal */ WOLFSSL_API int wc_HmacSetKey(Hmac*, int type, const byte* key, word32 keySz); + /*! \ingroup HMAC @@ -68,6 +69,7 @@ WOLFSSL_API int wc_HmacSetKey(Hmac*, int type, const byte* key, word32 keySz); \sa wc_HmacFinal */ WOLFSSL_API int wc_HmacUpdate(Hmac*, const byte*, word32); + /*! \ingroup HMAC @@ -98,6 +100,7 @@ WOLFSSL_API int wc_HmacUpdate(Hmac*, const byte*, word32); \sa wc_HmacUpdate */ WOLFSSL_API int wc_HmacFinal(Hmac*, byte*); + /*! \ingroup HMAC @@ -117,6 +120,7 @@ WOLFSSL_API int wc_HmacFinal(Hmac*, byte*); \sa none */ WOLFSSL_API int wolfSSL_GetHmacMaxSize(void); + /*! \ingroup HMAC diff --git a/doc/dox_comments/header_files/idea.h b/doc/dox_comments/header_files/idea.h index b4becaf2d..c583cc6ff 100644 --- a/doc/dox_comments/header_files/idea.h +++ b/doc/dox_comments/header_files/idea.h @@ -28,6 +28,7 @@ */ WOLFSSL_API int wc_IdeaSetKey(Idea *idea, const byte* key, word16 keySz, const byte *iv, int dir); + /*! \ingroup IDEA @@ -55,6 +56,7 @@ WOLFSSL_API int wc_IdeaSetKey(Idea *idea, const byte* key, word16 keySz, \sa wc_IdeaSetKey */ WOLFSSL_API int wc_IdeaSetIV(Idea *idea, const byte* iv); + /*! \ingroup IDEA @@ -87,6 +89,7 @@ WOLFSSL_API int wc_IdeaSetIV(Idea *idea, const byte* iv); \sa wc_IdeaCbcDecrypt */ WOLFSSL_API int wc_IdeaCipher(Idea *idea, byte* out, const byte* in); + /*! \ingroup IDEA @@ -122,6 +125,7 @@ WOLFSSL_API int wc_IdeaCipher(Idea *idea, byte* out, const byte* in); */ WOLFSSL_API int wc_IdeaCbcEncrypt(Idea *idea, byte* out, const byte* in, word32 len); + /*! \ingroup IDEA diff --git a/doc/dox_comments/header_files/logging.h b/doc/dox_comments/header_files/logging.h index 12a954233..ae5bfea11 100644 --- a/doc/dox_comments/header_files/logging.h +++ b/doc/dox_comments/header_files/logging.h @@ -33,6 +33,7 @@ \sa wolfSSL_Debugging_OFF */ WOLFSSL_API int wolfSSL_SetLoggingCb(wolfSSL_Logging_cb log_function); + /*! \ingroup Debug @@ -55,6 +56,7 @@ WOLFSSL_API int wolfSSL_SetLoggingCb(wolfSSL_Logging_cb log_function); \sa wolfSSL_SetLoggingCb */ WOLFSSL_API int wolfSSL_Debugging_ON(void); + /*! \ingroup Debug diff --git a/doc/dox_comments/header_files/md2.h b/doc/dox_comments/header_files/md2.h index f5251c199..e09d8ca27 100644 --- a/doc/dox_comments/header_files/md2.h +++ b/doc/dox_comments/header_files/md2.h @@ -25,6 +25,7 @@ \sa wc_Md2Final */ WOLFSSL_API void wc_InitMd2(Md2*); + /*! \ingroup MD2 @@ -57,6 +58,7 @@ WOLFSSL_API void wc_InitMd2(Md2*); \sa wc_InitMd2 */ WOLFSSL_API void wc_Md2Update(Md2*, const byte*, word32); + /*! \ingroup MD2 @@ -87,6 +89,7 @@ WOLFSSL_API void wc_Md2Update(Md2*, const byte*, word32); \sa wc_InitMd2 */ WOLFSSL_API void wc_Md2Final(Md2*, byte*); + /*! \ingroup MD2 diff --git a/doc/dox_comments/header_files/md4.h b/doc/dox_comments/header_files/md4.h index e7f25ff28..3696bdd19 100644 --- a/doc/dox_comments/header_files/md4.h +++ b/doc/dox_comments/header_files/md4.h @@ -25,6 +25,7 @@ \sa wc_Md4Final */ WOLFSSL_API void wc_InitMd4(Md4*); + /*! \ingroup MD4 @@ -57,6 +58,7 @@ WOLFSSL_API void wc_InitMd4(Md4*); \sa wc_InitMd4 */ WOLFSSL_API void wc_Md4Update(Md4*, const byte*, word32); + /*! \ingroup MD4 diff --git a/doc/dox_comments/header_files/md5.h b/doc/dox_comments/header_files/md5.h index d6d1ea69d..40bb71366 100644 --- a/doc/dox_comments/header_files/md5.h +++ b/doc/dox_comments/header_files/md5.h @@ -34,6 +34,7 @@ \sa wc_Md5Final */ WOLFSSL_API int wc_InitMd5(wc_Md5*); + /*! \ingroup MD5 @@ -75,6 +76,7 @@ WOLFSSL_API int wc_InitMd5(wc_Md5*); \sa wc_InitMd5 */ WOLFSSL_API int wc_Md5Update(wc_Md5*, const byte*, word32); + /*! \ingroup MD5 @@ -115,6 +117,7 @@ WOLFSSL_API int wc_Md5Update(wc_Md5*, const byte*, word32); \sa wc_Md5GetHash */ WOLFSSL_API int wc_Md5Final(wc_Md5*, byte*); + /*! \ingroup MD5 @@ -146,6 +149,7 @@ WOLFSSL_API int wc_Md5Final(wc_Md5*, byte*); \sa wc_Md5Final */ WOLFSSL_API void wc_Md5Free(wc_Md5*); + /*! \ingroup MD5 diff --git a/doc/dox_comments/header_files/memory.h b/doc/dox_comments/header_files/memory.h index bc45e596e..5833cb2d5 100644 --- a/doc/dox_comments/header_files/memory.h +++ b/doc/dox_comments/header_files/memory.h @@ -25,6 +25,7 @@ \sa XREALLOC */ WOLFSSL_API void* wolfSSL_Malloc(size_t size, void* heap, int type, const char* func, unsigned int line); + /*! \ingroup Memory @@ -55,6 +56,7 @@ WOLFSSL_API void* wolfSSL_Malloc(size_t size, void* heap, int type, const char* \sa XREALLOC */ WOLFSSL_API void wolfSSL_Free(void *ptr, void* heap, int type, const char* func, unsigned int line); + /*! \ingroup Memory @@ -84,6 +86,7 @@ WOLFSSL_API void wolfSSL_Free(void *ptr, void* heap, int type, const char* func \sa XREALLOC */ WOLFSSL_API void* wolfSSL_Realloc(void *ptr, size_t size, void* heap, int type, const char* func, unsigned int line); + /*! \ingroup Memory @@ -114,6 +117,7 @@ WOLFSSL_API void* wolfSSL_Realloc(void *ptr, size_t size, void* heap, int type, \sa wolfSSL_SetAllocators */ WOLFSSL_API void* wolfSSL_Malloc(size_t size, void* heap, int type); + /*! \ingroup Memory @@ -148,6 +152,7 @@ WOLFSSL_API void* wolfSSL_Malloc(size_t size, void* heap, int type); \sa wolfSSL_SetAllocators */ WOLFSSL_API void* wolfSSL_Realloc(void *ptr, size_t size, void* heap, int type); + /*! \ingroup Memory @@ -172,6 +177,7 @@ WOLFSSL_API void* wolfSSL_Realloc(void *ptr, size_t size, void* heap, int type); \sa wolfSSL_SetAllocators */ WOLFSSL_API void wolfSSL_Free(void *ptr, const char* func, unsigned int line); + /*! \ingroup Memory @@ -226,6 +232,7 @@ WOLFSSL_API void wolfSSL_Free(void *ptr, const char* func, unsigned int line); WOLFSSL_API int wolfSSL_SetAllocators(wolfSSL_Malloc_cb, wolfSSL_Free_cb, wolfSSL_Realloc_cb); + /*! \ingroup Memory @@ -258,7 +265,8 @@ WOLFSSL_API int wolfSSL_SetAllocators(wolfSSL_Malloc_cb, \sa wolfSSL_Malloc \sa wolfSSL_Free */ - WOLFSSL_API int wolfSSL_StaticBufferSz(byte* buffer, word32 sz, int flag); +WOLFSSL_API int wolfSSL_StaticBufferSz(byte* buffer, word32 sz, int flag); + /*! \ingroup Memory diff --git a/doc/dox_comments/header_files/pkcs7.h b/doc/dox_comments/header_files/pkcs7.h index 0bed36c0d..436506cc3 100644 --- a/doc/dox_comments/header_files/pkcs7.h +++ b/doc/dox_comments/header_files/pkcs7.h @@ -58,6 +58,7 @@ \sa wc_PKCS7_Free */ WOLFSSL_API int wc_PKCS7_InitWithCert(PKCS7* pkcs7, byte* cert, word32 certSz); + /*! \ingroup PKCS7 @@ -78,6 +79,7 @@ WOLFSSL_API int wc_PKCS7_InitWithCert(PKCS7* pkcs7, byte* cert, word32 certSz); \sa wc_PKCS7_InitWithCert */ WOLFSSL_API void wc_PKCS7_Free(PKCS7* pkcs7); + /*! \ingroup PKCS7 @@ -121,6 +123,7 @@ WOLFSSL_API void wc_PKCS7_Free(PKCS7* pkcs7); */ WOLFSSL_API int wc_PKCS7_EncodeData(PKCS7* pkcs7, byte* output, word32 outputSz); + /*! \ingroup PKCS7 @@ -193,6 +196,7 @@ WOLFSSL_API int wc_PKCS7_EncodeData(PKCS7* pkcs7, byte* output, */ WOLFSSL_API int wc_PKCS7_EncodeSignedData(PKCS7* pkcs7, byte* output, word32 outputSz); + /*! \ingroup PKCS7 @@ -269,6 +273,7 @@ WOLFSSL_API int wc_PKCS7_EncodeSignedData(PKCS7* pkcs7, */ WOLFSSL_API int wc_PKCS7_VerifySignedData(PKCS7* pkcs7, byte* pkiMsg, word32 pkiMsgSz); + /*! \ingroup PKCS7 @@ -322,6 +327,7 @@ WOLFSSL_API int wc_PKCS7_VerifySignedData(PKCS7* pkcs7, */ WOLFSSL_API int wc_PKCS7_EncodeEnvelopedData(PKCS7* pkcs7, byte* output, word32 outputSz); + /*! \ingroup PKCS7 diff --git a/doc/dox_comments/header_files/poly1305.h b/doc/dox_comments/header_files/poly1305.h index 8c59547cb..1d0fc579e 100644 --- a/doc/dox_comments/header_files/poly1305.h +++ b/doc/dox_comments/header_files/poly1305.h @@ -26,6 +26,7 @@ */ WOLFSSL_API int wc_Poly1305SetKey(Poly1305* poly1305, const byte* key, word32 kySz); + /*! \ingroup Poly1305 @@ -58,6 +59,7 @@ WOLFSSL_API int wc_Poly1305SetKey(Poly1305* poly1305, const byte* key, \sa wc_Poly1305Final */ WOLFSSL_API int wc_Poly1305Update(Poly1305* poly1305, const byte*, word32); + /*! \ingroup Poly1305 @@ -92,6 +94,7 @@ WOLFSSL_API int wc_Poly1305Update(Poly1305* poly1305, const byte*, word32); \sa wc_Poly1305Update */ WOLFSSL_API int wc_Poly1305Final(Poly1305* poly1305, byte* tag); + /*! \ingroup Poly1305 diff --git a/doc/dox_comments/header_files/pwdbased.h b/doc/dox_comments/header_files/pwdbased.h index 1104472f8..fa672194d 100644 --- a/doc/dox_comments/header_files/pwdbased.h +++ b/doc/dox_comments/header_files/pwdbased.h @@ -46,6 +46,7 @@ WOLFSSL_API int wc_PBKDF1(byte* output, const byte* passwd, int pLen, const byte* salt, int sLen, int iterations, int kLen, int typeH); + /*! \ingroup Password @@ -94,6 +95,7 @@ WOLFSSL_API int wc_PBKDF1(byte* output, const byte* passwd, int pLen, WOLFSSL_API int wc_PBKDF2(byte* output, const byte* passwd, int pLen, const byte* salt, int sLen, int iterations, int kLen, int typeH); + /*! \ingroup Password diff --git a/doc/dox_comments/header_files/rabbit.h b/doc/dox_comments/header_files/rabbit.h index 41601563b..6e3daf9cb 100644 --- a/doc/dox_comments/header_files/rabbit.h +++ b/doc/dox_comments/header_files/rabbit.h @@ -36,6 +36,7 @@ \sa wc_RabbitSetKey */ WOLFSSL_API int wc_RabbitProcess(Rabbit*, byte*, const byte*, word32); + /*! \ingroup Rabbit diff --git a/doc/dox_comments/header_files/random.h b/doc/dox_comments/header_files/random.h index 4c78ea9df..fa60855cb 100644 --- a/doc/dox_comments/header_files/random.h +++ b/doc/dox_comments/header_files/random.h @@ -25,6 +25,7 @@ \sa wc_FreeNetRandom */ WOLFSSL_API int wc_InitNetRandom(const char*, wnr_hmac_key, int); + /*! \ingroup Random @@ -47,6 +48,7 @@ WOLFSSL_API int wc_InitNetRandom(const char*, wnr_hmac_key, int); \sa wc_InitNetRandom */ WOLFSSL_API int wc_FreeNetRandom(void); + /*! \ingroup Random @@ -94,6 +96,7 @@ WOLFSSL_API int wc_FreeNetRandom(void); \sa wc_RNG_HealthTest */ WOLFSSL_API int wc_InitRng(WC_RNG*); + /*! \ingroup Random @@ -133,6 +136,7 @@ WOLFSSL_API int wc_InitRng(WC_RNG*); \sa wc_RNG_HealthTest */ WOLFSSL_API int wc_RNG_GenerateBlock(WC_RNG*, byte*, word32 sz); + /*! \ingroup Random @@ -172,6 +176,7 @@ WOLFSSL_API int wc_RNG_GenerateBlock(WC_RNG*, byte*, word32 sz); \sa wc_RNG_HealthTest */ WOLFSSL_API int wc_RNG_GenerateByte(WC_RNG*, byte*); + /*! \ingroup Random @@ -205,6 +210,7 @@ WOLFSSL_API int wc_RNG_GenerateByte(WC_RNG*, byte*); \sa wc_RNG_HealthTest */ WOLFSSL_API int wc_FreeRng(WC_RNG*); + /*! \ingroup Random diff --git a/doc/dox_comments/header_files/ripemd.h b/doc/dox_comments/header_files/ripemd.h index 24aaf022d..342ab527c 100644 --- a/doc/dox_comments/header_files/ripemd.h +++ b/doc/dox_comments/header_files/ripemd.h @@ -24,6 +24,7 @@ \sa wc_RipeMdFinal */ WOLFSSL_API int wc_InitRipeMd(RipeMd*); + /*! \ingroup RIPEMD @@ -59,6 +60,7 @@ WOLFSSL_API int wc_InitRipeMd(RipeMd*); \sa wc_RipeMdFinal */ WOLFSSL_API int wc_RipeMdUpdate(RipeMd*, const byte*, word32); + /*! \ingroup RIPEMD diff --git a/doc/dox_comments/header_files/rsa.h b/doc/dox_comments/header_files/rsa.h index 9626ea317..92d686a64 100644 --- a/doc/dox_comments/header_files/rsa.h +++ b/doc/dox_comments/header_files/rsa.h @@ -483,7 +483,7 @@ WOLFSSL_API int wc_RsaPublicKeyDecodeRaw(const byte* n, word32 nSz, \sa wc_MakeRsaKey \sa wc_InitRng */ - WOLFSSL_API int wc_RsaKeyToDer(RsaKey*, byte* output, word32 inLen); +WOLFSSL_API int wc_RsaKeyToDer(RsaKey*, byte* output, word32 inLen); /*! \ingroup RSA @@ -719,7 +719,7 @@ WOLFSSL_API int wc_RsaFlattenPublicKey(RsaKey*, byte*, word32*, byte*, \sa wc_RsaKeyToPublicDer \sa wc_RsaInitKey */ - WOLFSSL_API int wc_RsaKeyToPublicDer(RsaKey*, byte* output, word32 inLen); +WOLFSSL_API int wc_RsaKeyToPublicDer(RsaKey*, byte* output, word32 inLen); /*! \ingroup RSA @@ -790,4 +790,4 @@ WOLFSSL_API int wc_RsaFlattenPublicKey(RsaKey*, byte*, word32*, byte*, \sa none */ - WOLFSSL_API int wc_MakeRsaKey(RsaKey* key, int size, long e, WC_RNG* rng); +WOLFSSL_API int wc_MakeRsaKey(RsaKey* key, int size, long e, WC_RNG* rng); diff --git a/doc/dox_comments/header_files/sha.h b/doc/dox_comments/header_files/sha.h index 0b22d5939..57373c1c3 100644 --- a/doc/dox_comments/header_files/sha.h +++ b/doc/dox_comments/header_files/sha.h @@ -25,6 +25,7 @@ \sa wc_ShaFinal */ WOLFSSL_API int wc_InitSha(wc_Sha*); + /*! \ingroup SHA @@ -57,6 +58,7 @@ WOLFSSL_API int wc_InitSha(wc_Sha*); \sa wc_InitSha */ WOLFSSL_API int wc_ShaUpdate(wc_Sha*, const byte*, word32); + /*! \ingroup SHA @@ -88,6 +90,7 @@ WOLFSSL_API int wc_ShaUpdate(wc_Sha*, const byte*, word32); \sa wc_ShaGetHash */ WOLFSSL_API int wc_ShaFinal(wc_Sha*, byte*); + /*! \ingroup SHA @@ -111,6 +114,7 @@ WOLFSSL_API int wc_ShaFinal(wc_Sha*, byte*); \sa wc_ShaFinal */ WOLFSSL_API void wc_ShaFree(wc_Sha*); + /*! \ingroup SHA diff --git a/doc/dox_comments/header_files/sha256.h b/doc/dox_comments/header_files/sha256.h index 94996c79f..045539f1a 100644 --- a/doc/dox_comments/header_files/sha256.h +++ b/doc/dox_comments/header_files/sha256.h @@ -25,6 +25,7 @@ \sa wc_Sha256Final */ WOLFSSL_API int wc_InitSha256(wc_Sha256*); + /*! \ingroup SHA @@ -57,6 +58,7 @@ WOLFSSL_API int wc_InitSha256(wc_Sha256*); \sa wc_InitSha256 */ WOLFSSL_API int wc_Sha256Update(wc_Sha256*, const byte*, word32); + /*! \ingroup SHA @@ -88,6 +90,7 @@ WOLFSSL_API int wc_Sha256Update(wc_Sha256*, const byte*, word32); \sa wc_InitSha256 */ WOLFSSL_API int wc_Sha256Final(wc_Sha256*, byte*); + /*! \ingroup SHA @@ -119,6 +122,7 @@ WOLFSSL_API int wc_Sha256Final(wc_Sha256*, byte*); \sa wc_Sha256Final */ WOLFSSL_API void wc_Sha256Free(wc_Sha256*); + /*! \ingroup SHA @@ -147,6 +151,7 @@ WOLFSSL_API void wc_Sha256Free(wc_Sha256*); \sa wc_InitSha256 */ WOLFSSL_API int wc_Sha256GetHash(wc_Sha256*, byte*); + /*! \ingroup SHA @@ -171,6 +176,7 @@ WOLFSSL_API int wc_Sha256GetHash(wc_Sha256*, byte*); \sa wc_Sha224Final */ WOLFSSL_API int wc_InitSha224(wc_Sha224*); + /*! \ingroup SHA @@ -205,6 +211,7 @@ WOLFSSL_API int wc_InitSha224(wc_Sha224*); \sa wc_Sha224Hash */ WOLFSSL_API int wc_Sha224Update(wc_Sha224*, const byte*, word32); + /*! \ingroup SHA diff --git a/doc/dox_comments/header_files/sha512.h b/doc/dox_comments/header_files/sha512.h index 0fae9bf8b..210a95eb3 100644 --- a/doc/dox_comments/header_files/sha512.h +++ b/doc/dox_comments/header_files/sha512.h @@ -25,6 +25,7 @@ \sa wc_Sha512Final */ WOLFSSL_API int wc_InitSha512(wc_Sha512*); + /*! \ingroup SHA @@ -57,6 +58,7 @@ WOLFSSL_API int wc_InitSha512(wc_Sha512*); \sa wc_InitSha512 */ WOLFSSL_API int wc_Sha512Update(wc_Sha512*, const byte*, word32); + /*! \ingroup SHA @@ -87,6 +89,7 @@ WOLFSSL_API int wc_Sha512Update(wc_Sha512*, const byte*, word32); \sa wc_InitSha512 */ WOLFSSL_API int wc_Sha512Final(wc_Sha512*, byte*); + /*! \ingroup SHA @@ -114,6 +117,7 @@ WOLFSSL_API int wc_Sha512Final(wc_Sha512*, byte*); \sa wc_Sha384Final */ WOLFSSL_API int wc_InitSha384(wc_Sha384*); + /*! \ingroup SHA @@ -146,6 +150,7 @@ WOLFSSL_API int wc_InitSha384(wc_Sha384*); \sa wc_InitSha384 */ WOLFSSL_API int wc_Sha384Update(wc_Sha384*, const byte*, word32); + /*! \ingroup SHA diff --git a/doc/dox_comments/header_files/signature.h b/doc/dox_comments/header_files/signature.h index 65c4ee8de..6661d13f7 100644 --- a/doc/dox_comments/header_files/signature.h +++ b/doc/dox_comments/header_files/signature.h @@ -31,6 +31,7 @@ */ WOLFSSL_API int wc_SignatureGetSize(enum wc_SignatureType sig_type, const void* key, word32 key_len); + /*! \ingroup Signature @@ -80,6 +81,7 @@ WOLFSSL_API int wc_SignatureVerify( const byte* data, word32 data_len, const byte* sig, word32 sig_len, const void* key, word32 key_len); + /*! \ingroup Signature diff --git a/doc/dox_comments/header_files/srp.h b/doc/dox_comments/header_files/srp.h index 1829e0bb1..004e106a7 100644 --- a/doc/dox_comments/header_files/srp.h +++ b/doc/dox_comments/header_files/srp.h @@ -31,6 +31,7 @@ \sa wc_SrpSetUsername */ WOLFSSL_API int wc_SrpInit(Srp* srp, SrpType type, SrpSide side); + /*! \ingroup SRP @@ -51,6 +52,7 @@ WOLFSSL_API int wc_SrpInit(Srp* srp, SrpType type, SrpSide side); \sa wc_SrpInit */ WOLFSSL_API void wc_SrpTerm(Srp* srp); + /*! \ingroup SRP @@ -85,6 +87,7 @@ WOLFSSL_API void wc_SrpTerm(Srp* srp); \sa wc_SrpTerm */ WOLFSSL_API int wc_SrpSetUsername(Srp* srp, const byte* username, word32 size); + /*! \ingroup SRP @@ -133,6 +136,7 @@ wc_SrpSetUsername. WOLFSSL_API int wc_SrpSetParams(Srp* srp, const byte* N, word32 nSz, const byte* g, word32 gSz, const byte* salt, word32 saltSz); + /*! \ingroup SRP @@ -181,6 +185,7 @@ WOLFSSL_API int wc_SrpSetParams(Srp* srp, const byte* N, word32 nSz, \sa wc_SrpSetParams */ WOLFSSL_API int wc_SrpSetPassword(Srp* srp, const byte* password, word32 size); + /*! \ingroup SRP @@ -223,6 +228,7 @@ WOLFSSL_API int wc_SrpSetPassword(Srp* srp, const byte* password, word32 size); \sa wc_SrpGetVerifier */ WOLFSSL_API int wc_SrpSetVerifier(Srp* srp, const byte* verifier, word32 size); + /*! \ingroup SRP @@ -273,6 +279,7 @@ WOLFSSL_API int wc_SrpSetVerifier(Srp* srp, const byte* verifier, word32 size); \sa wc_SrpSetPassword */ WOLFSSL_API int wc_SrpGetVerifier(Srp* srp, byte* verifier, word32* size); + /*! \ingroup SRP @@ -322,6 +329,7 @@ WOLFSSL_API int wc_SrpGetVerifier(Srp* srp, byte* verifier, word32* size); \sa wc_SrpGetPublic */ WOLFSSL_API int wc_SrpSetPrivate(Srp* srp, const byte* priv, word32 size); + /*! \ingroup SRP @@ -376,6 +384,7 @@ WOLFSSL_API int wc_SrpSetPrivate(Srp* srp, const byte* priv, word32 size); \sa wc_SrpSetVerifier */ WOLFSSL_API int wc_SrpGetPublic(Srp* srp, byte* pub, word32* size); + /*! \ingroup SRP @@ -428,6 +437,7 @@ WOLFSSL_API int wc_SrpGetPublic(Srp* srp, byte* pub, word32* size); WOLFSSL_API int wc_SrpComputeKey(Srp* srp, byte* clientPubKey, word32 clientPubKeySz, byte* serverPubKey, word32 serverPubKeySz); + /*! \ingroup SRP @@ -459,6 +469,7 @@ WOLFSSL_API int wc_SrpComputeKey(Srp* srp, \sa wc_SrpComputeKey */ WOLFSSL_API int wc_SrpGetProof(Srp* srp, byte* proof, word32* size); + /*! \ingroup SRP diff --git a/doc/dox_comments/header_files/ssl.h b/doc/dox_comments/header_files/ssl.h index 4d7a5c948..6d457b537 100644 --- a/doc/dox_comments/header_files/ssl.h +++ b/doc/dox_comments/header_files/ssl.h @@ -19,6 +19,7 @@ \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_2_client_method_ex(void* heap); + /*! \ingroup Setup @@ -43,6 +44,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_2_client_method_ex(void* heap); \sa wolfSSL_free */ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv23_method(void); + /*! \ingroup Setup @@ -85,6 +87,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv23_method(void); */ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv3_server_method(void); + /*! \ingroup Setup @@ -126,6 +129,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv3_server_method(void); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv3_client_method(void); + /*! \ingroup Setup @@ -167,6 +171,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv3_client_method(void); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_server_method(void); + /*! \ingroup Setup @@ -208,6 +213,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_server_method(void); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_client_method(void); + /*! \ingroup Setup @@ -249,6 +255,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_client_method(void); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_server_method(void); + /*! \ingroup Setup @@ -290,6 +297,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_server_method(void); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_client_method(void); + /*! \ingroup Setup @@ -331,6 +339,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_client_method(void); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_server_method(void); + /*! \ingroup Setup @@ -372,6 +381,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_server_method(void); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_client_method(void); + /*! \ingroup Setup @@ -413,6 +423,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_client_method(void); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_client_method(void); + /*! \ingroup Setup @@ -454,6 +465,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_client_method(void); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_server_method(void); + /*! \brief This function creates and initializes a WOLFSSL_METHOD for the server side. @@ -472,6 +484,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_server_method(void); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_2_server_method(void); + /*! \ingroup Setup @@ -503,6 +516,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_2_server_method(void); \sa none */ WOLFSSL_API int wolfSSL_use_old_poly(WOLFSSL*, int); + /*! \brief The wolfSSL_dtls_import() function is used to parse in a serialized session state. This allows for picking up the connection after the @@ -543,6 +557,7 @@ WOLFSSL_API int wolfSSL_use_old_poly(WOLFSSL*, int); */ WOLFSSL_API int wolfSSL_dtls_import(WOLFSSL* ssl, unsigned char* buf, unsigned int sz); + /*! \brief The wolfSSL_CTX_dtls_set_export() function is used to set the callback function for exporting a session. It is allowed to @@ -581,6 +596,7 @@ WOLFSSL_API int wolfSSL_dtls_import(WOLFSSL* ssl, unsigned char* buf, */ WOLFSSL_API int wolfSSL_CTX_dtls_set_export(WOLFSSL_CTX* ctx, wc_dtls_export func); + /*! \brief The wolfSSL_dtls_set_export() function is used to set the callback function for exporting a session. It is allowed to pass in NULL as the @@ -615,6 +631,7 @@ WOLFSSL_API int wolfSSL_CTX_dtls_set_export(WOLFSSL_CTX* ctx, \sa wolfSSL_CTX_dtls_set_export */ WOLFSSL_API int wolfSSL_dtls_set_export(WOLFSSL* ssl, wc_dtls_export func); + /*! \brief The wolfSSL_dtls_export() function is used to serialize a WOLFSSL session into the provided buffer. Allows for less memory @@ -652,6 +669,7 @@ WOLFSSL_API int wolfSSL_dtls_set_export(WOLFSSL* ssl, wc_dtls_export func); */ WOLFSSL_API int wolfSSL_dtls_export(WOLFSSL* ssl, unsigned char* buf, unsigned int* sz); + /*! \brief This function is used to set aside static memory for a CTX. Memory set aside is then used for the CTX’s lifetime and for any SSL objects @@ -715,6 +733,7 @@ WOLFSSL_API int wolfSSL_CTX_load_static_memory(WOLFSSL_CTX** ctx, wolfSSL_method_func method, unsigned char* buf, unsigned int sz, int flag, int max); + /*! \brief This function does not change any of the connections behavior and is used only for gathering information about the static memory usage. @@ -750,6 +769,7 @@ WOLFSSL_API int wolfSSL_CTX_load_static_memory(WOLFSSL_CTX** ctx, */ WOLFSSL_API int wolfSSL_CTX_is_static_memory(WOLFSSL_CTX* ctx, WOLFSSL_MEM_STATS* mem_stats); + /*! \brief wolfSSL_is_static_memory is used to gather information about a SSL’s static memory usage. The return value indicates if static @@ -782,6 +802,7 @@ WOLFSSL_API int wolfSSL_CTX_is_static_memory(WOLFSSL_CTX* ctx, */ WOLFSSL_API int wolfSSL_is_static_memory(WOLFSSL* ssl, WOLFSSL_MEM_CONN_STATS* mem_stats); + /*! \ingroup CertsKeys @@ -823,6 +844,7 @@ WOLFSSL_API int wolfSSL_is_static_memory(WOLFSSL* ssl, \sa wolfSSL_use_certificate_buffer */ WOLFSSL_API int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX*, const char*, int); + /*! \ingroup CertsKeys @@ -858,6 +880,7 @@ WOLFSSL_API int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX*, const char*, int) \sa wolfSSL_use_PrivateKey_buffer */ WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX*, const char*, int); + /*! \ingroup CertsKeys @@ -918,6 +941,7 @@ WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX*, const char*, int); */ WOLFSSL_API int wolfSSL_CTX_load_verify_locations(WOLFSSL_CTX*, const char*, const char*); + /*! \ingroup Setup @@ -968,6 +992,7 @@ WOLFSSL_API int wolfSSL_CTX_load_verify_locations(WOLFSSL_CTX*, const char*, \sa wolfSSL_use_certificate_chain_file */ WOLFSSL_API int wolfSSL_CTX_trust_peer_cert(WOLFSSL_CTX*, const char*, int); + /*! \ingroup CertsKeys @@ -1008,6 +1033,7 @@ WOLFSSL_API int wolfSSL_CTX_trust_peer_cert(WOLFSSL_CTX*, const char*, int); */ WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file(WOLFSSL_CTX *, const char *file); + /*! \ingroup openSSL @@ -1053,6 +1079,7 @@ WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file(WOLFSSL_CTX *, \sa wolfSSL_use_PrivateKey_file */ WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey_file(WOLFSSL_CTX*, const char*, int); + /*! \ingroup IO @@ -1082,6 +1109,7 @@ WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey_file(WOLFSSL_CTX*, const char*, in \sa wolfSSL_CTX_get_verify_depth */ WOLFSSL_API long wolfSSL_get_verify_depth(WOLFSSL* ssl); + /*! \ingroup Setup @@ -1113,6 +1141,7 @@ WOLFSSL_API long wolfSSL_get_verify_depth(WOLFSSL* ssl); \sa wolfSSL_get_verify_depth */ WOLFSSL_API long wolfSSL_CTX_get_verify_depth(WOLFSSL_CTX* ctx); + /*! \ingroup openSSL @@ -1152,6 +1181,7 @@ WOLFSSL_API long wolfSSL_CTX_get_verify_depth(WOLFSSL_CTX* ctx); \sa wolfSSL_use_certificate_buffer */ WOLFSSL_API int wolfSSL_use_certificate_file(WOLFSSL*, const char*, int); + /*! \ingroup openSSL @@ -1191,6 +1221,7 @@ WOLFSSL_API int wolfSSL_use_certificate_file(WOLFSSL*, const char*, int); \sa wolfSSL_use_PrivateKey_buffer */ WOLFSSL_API int wolfSSL_use_PrivateKey_file(WOLFSSL*, const char*, int); + /*! \ingroup openSSL @@ -1229,6 +1260,7 @@ WOLFSSL_API int wolfSSL_use_PrivateKey_file(WOLFSSL*, const char*, int); \sa wolfSSL_use_certificate_chain_buffer */ WOLFSSL_API int wolfSSL_use_certificate_chain_file(WOLFSSL*, const char *file); + /*! \ingroup openSSL @@ -1274,6 +1306,7 @@ WOLFSSL_API int wolfSSL_use_certificate_chain_file(WOLFSSL*, const char *file); \sa wolfSSL_use_PrivateKey_file */ WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file(WOLFSSL*, const char*, int); + /*! \ingroup CertsKeys @@ -1319,8 +1352,9 @@ WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file(WOLFSSL*, const char*, int); \sa wolfSSL_CTX_load_verify_locations \sa wolfSSL_CTX_load_verify_buffer */ - WOLFSSL_API int wolfSSL_CTX_der_load_verify_locations(WOLFSSL_CTX*, +WOLFSSL_API int wolfSSL_CTX_der_load_verify_locations(WOLFSSL_CTX*, const char*, int); + /*! \ingroup CertsKeys @@ -1365,7 +1399,7 @@ WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file(WOLFSSL*, const char*, int); \sa wolfSSL_use_PrivateKey_buffer \sa wolfSSL_use_certificate_chain_buffer */ - WOLFSSL_API int wolfSSL_CTX_use_NTRUPrivateKey_file(WOLFSSL_CTX*, const char*); +WOLFSSL_API int wolfSSL_CTX_use_NTRUPrivateKey_file(WOLFSSL_CTX*, const char*); /*! \ingroup Setup @@ -1400,6 +1434,7 @@ WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file(WOLFSSL*, const char*, int); \sa wolfSSL_new */ WOLFSSL_API WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD*); + /*! \ingroup Setup @@ -1433,6 +1468,7 @@ WOLFSSL_API WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD*); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL* wolfSSL_new(WOLFSSL_CTX*); + /*! \ingroup Setup @@ -1464,6 +1500,7 @@ WOLFSSL_API WOLFSSL* wolfSSL_new(WOLFSSL_CTX*); \sa wolfSSL_SetIOWriteCtx */ WOLFSSL_API int wolfSSL_set_fd (WOLFSSL*, int); + /*! \ingroup IO @@ -1483,6 +1520,7 @@ WOLFSSL_API int wolfSSL_set_fd (WOLFSSL*, int); \sa wolfSSL_get_current_cipher */ WOLFSSL_API char* wolfSSL_get_cipher_list(int priority); + /*! \ingroup IO @@ -1514,6 +1552,7 @@ WOLFSSL_API char* wolfSSL_get_cipher_list(int priority); \sa ShowCiphers */ WOLFSSL_API int wolfSSL_get_ciphers(char*, int); + /*! \ingroup IO @@ -1546,6 +1585,7 @@ WOLFSSL_API int wolfSSL_get_ciphers(char*, int); \sa wolfSSL_get_cipher_name_internal */ WOLFSSL_API const char* wolfSSL_get_cipher_name(WOLFSSL* ssl); + /*! \ingroup IO @@ -1570,6 +1610,68 @@ WOLFSSL_API const char* wolfSSL_get_cipher_name(WOLFSSL* ssl); \sa wolfSSL_set_fd */ WOLFSSL_API int wolfSSL_get_fd(const WOLFSSL*); + +/*! + \ingroup Setup + + \brief This function informs the WOLFSSL object that the underlying + I/O is non-blocking. After an application creates a WOLFSSL object, + if it will be used with a non-blocking socket, call + wolfSSL_set_using_nonblock() on it. This lets the WOLFSSL object know + that receiving EWOULDBLOCK means that the recvfrom call would + block rather than that it timed out. + + \return none No return. + + \param ssl pointer to the SSL session, created with wolfSSL_new(). + \param nonblock value used to set non-blocking flag on WOLFSSL object. + Use 1 to specify non-blocking, otherwise 0. + + _Example_ + \code + WOLFSSL* ssl = 0; + ... + wolfSSL_set_using_nonblock(ssl, 1); + \endcode + + \sa wolfSSL_get_using_nonblock + \sa wolfSSL_dtls_got_timeout + \sa wolfSSL_dtls_get_current_timeout +*/ +WOLFSSL_API void wolfSSL_set_using_nonblock(WOLFSSL*, int); + +/*! + \ingroup IO + + \brief This function allows the application to determine if wolfSSL is + using non-blocking I/O. If wolfSSL is using non-blocking I/O, this + function will return 1, otherwise 0. After an application creates a + WOLFSSL object, if it will be used with a non-blocking socket, call + wolfSSL_set_using_nonblock() on it. This lets the WOLFSSL object know + that receiving EWOULDBLOCK means that the recvfrom call would block + rather than that it timed out. + + \return 0 underlying I/O is blocking. + \return 1 underlying I/O is non-blocking. + + \param ssl pointer to the SSL session, created with wolfSSL_new(). + + _Example_ + \code + int ret = 0; + WOLFSSL* ssl = 0; + ... + ret = wolfSSL_get_using_nonblock(ssl); + if (ret == 1) { + // underlying I/O is non-blocking + } + ... + \endcode + + \sa wolfSSL_set_session +*/ +WOLFSSL_API int wolfSSL_get_using_nonblock(WOLFSSL*); + /*! \ingroup IO @@ -1619,6 +1721,7 @@ WOLFSSL_API int wolfSSL_get_fd(const WOLFSSL*); \sa wolfSSL_recv */ WOLFSSL_API int wolfSSL_write(WOLFSSL*, const void*, int); + /*! \ingroup IO @@ -1676,6 +1779,7 @@ WOLFSSL_API int wolfSSL_write(WOLFSSL*, const void*, int); \sa wolfSSL_pending */ WOLFSSL_API int wolfSSL_read(WOLFSSL*, void*, int); + /*! \ingroup IO @@ -1729,6 +1833,7 @@ WOLFSSL_API int wolfSSL_read(WOLFSSL*, void*, int); \sa wolfSSL_read */ WOLFSSL_API int wolfSSL_peek(WOLFSSL*, void*, int); + /*! \ingroup IO @@ -1772,6 +1877,7 @@ WOLFSSL_API int wolfSSL_peek(WOLFSSL*, void*, int); \sa wolfSSL_connect */ WOLFSSL_API int wolfSSL_accept(WOLFSSL*); + /*! \brief This function is called on the client side and initiates an SSL/TLS handshake with a server. When this function is called, the @@ -1820,6 +1926,7 @@ WOLFSSL_API int wolfSSL_accept(WOLFSSL*); \sa wolfSSL_accept */ WOLFSSL_API int wolfSSL_connect_TLSv13(WOLFSSL*); + /*! \ingroup Setup @@ -1843,6 +1950,7 @@ WOLFSSL_API int wolfSSL_connect_TLSv13(WOLFSSL*); \sa wolfSSL_free */ WOLFSSL_API void wolfSSL_CTX_free(WOLFSSL_CTX*); + /*! \ingroup Setup @@ -1866,6 +1974,7 @@ WOLFSSL_API void wolfSSL_CTX_free(WOLFSSL_CTX*); \sa wolfSSL_CTX_free */ WOLFSSL_API void wolfSSL_free(WOLFSSL*); + /*! \ingroup TLS @@ -1911,6 +2020,7 @@ WOLFSSL_API void wolfSSL_free(WOLFSSL*); \sa wolfSSL_CTX_free */ WOLFSSL_API int wolfSSL_shutdown(WOLFSSL*); + /*! \ingroup IO @@ -1961,6 +2071,7 @@ WOLFSSL_API int wolfSSL_shutdown(WOLFSSL*); \sa wolfSSL_recv */ WOLFSSL_API int wolfSSL_send(WOLFSSL*, const void*, int sz, int flags); + /*! \ingroup IO @@ -2020,6 +2131,7 @@ WOLFSSL_API int wolfSSL_send(WOLFSSL*, const void*, int sz, int flags); \sa wolfSSL_pending */ WOLFSSL_API int wolfSSL_recv(WOLFSSL*, void*, int sz, int flags); + /*! \ingroup Debug @@ -2057,6 +2169,7 @@ WOLFSSL_API int wolfSSL_recv(WOLFSSL*, void*, int sz, int flags); \sa wolfSSL_load_error_strings */ WOLFSSL_API int wolfSSL_get_error(WOLFSSL*, int); + /*! \ingroup IO @@ -2083,6 +2196,7 @@ WOLFSSL_API int wolfSSL_get_error(WOLFSSL*, int); \sa wolfSSL_get_error */ WOLFSSL_API int wolfSSL_get_alert_history(WOLFSSL*, WOLFSSL_ALERT_HISTORY *); + /*! \ingroup Setup @@ -2121,6 +2235,7 @@ WOLFSSL_API int wolfSSL_get_alert_history(WOLFSSL*, WOLFSSL_ALERT_HISTORY *); \sa wolfSSL_get_session */ WOLFSSL_API int wolfSSL_set_session(WOLFSSL*, WOLFSSL_SESSION*); + /*! \ingroup IO @@ -2159,6 +2274,7 @@ WOLFSSL_API int wolfSSL_set_session(WOLFSSL*, WOLFSSL_SESSION*); \sa wolfSSL_set_session */ WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL*); + /*! \ingroup IO @@ -2186,6 +2302,7 @@ WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL*); \sa wolfSSL_set_session */ WOLFSSL_API void wolfSSL_flush_sessions(WOLFSSL_CTX*, long); + /*! \ingroup TLS @@ -2222,6 +2339,7 @@ WOLFSSL_API void wolfSSL_flush_sessions(WOLFSSL_CTX*, long); */ WOLFSSL_API int wolfSSL_SetServerID(WOLFSSL*, const unsigned char*, int, int); + /*! \ingroup IO @@ -2247,6 +2365,7 @@ WOLFSSL_API int wolfSSL_SetServerID(WOLFSSL*, const unsigned char*, \sa wolfSSL_GetSessionAtIndex */ WOLFSSL_API int wolfSSL_GetSessionIndex(WOLFSSL* ssl); + /*! \ingroup IO @@ -2277,6 +2396,7 @@ WOLFSSL_API int wolfSSL_GetSessionIndex(WOLFSSL* ssl); \sa wolfSSL_GetSessionIndex */ WOLFSSL_API int wolfSSL_GetSessionAtIndex(int index, WOLFSSL_SESSION* session); + /*! \ingroup IO @@ -2305,6 +2425,7 @@ WOLFSSL_API int wolfSSL_GetSessionAtIndex(int index, WOLFSSL_SESSION* session); */ WOLFSSL_API WOLFSSL_X509_CHAIN* wolfSSL_SESSION_get_peer_chain(WOLFSSL_SESSION* session); + /*! \ingroup Setup @@ -2352,6 +2473,7 @@ WOLFSSL_API */ WOLFSSL_API void wolfSSL_CTX_set_verify(WOLFSSL_CTX*, int, VerifyCallback verify_callback); + /*! \ingroup Setup @@ -2397,6 +2519,7 @@ WOLFSSL_API void wolfSSL_CTX_set_verify(WOLFSSL_CTX*, int, \sa wolfSSL_CTX_set_verify */ WOLFSSL_API void wolfSSL_set_verify(WOLFSSL*, int, VerifyCallback verify_callback); + /*! \ingroup CertsKeys @@ -2426,6 +2549,7 @@ WOLFSSL_API void wolfSSL_set_verify(WOLFSSL*, int, VerifyCallback verify_callbac \sa wolfSSL_CTX_set_verify */ WOLFSSL_API void wolfSSL_SetCertCbCtx(WOLFSSL*, void*); + /*! \ingroup IO @@ -2451,6 +2575,7 @@ WOLFSSL_API void wolfSSL_SetCertCbCtx(WOLFSSL*, void*); \sa wolfSSL_peek */ WOLFSSL_API int wolfSSL_pending(WOLFSSL*); + /*! \ingroup Debug @@ -2473,6 +2598,7 @@ WOLFSSL_API int wolfSSL_pending(WOLFSSL*); \sa wolfSSL_load_error_strings */ WOLFSSL_API void wolfSSL_load_error_strings(void); + /*! \ingroup TLS @@ -2501,6 +2627,7 @@ WOLFSSL_API void wolfSSL_load_error_strings(void); \sa wolfSSL_Cleanup */ WOLFSSL_API int wolfSSL_library_init(void); + /*! \ingroup Setup @@ -2533,6 +2660,7 @@ WOLFSSL_API int wolfSSL_library_init(void); \sa wolfSSL_CTX_set_timeout */ WOLFSSL_API long wolfSSL_CTX_set_session_cache_mode(WOLFSSL_CTX*, long); + /*! \brief This function sets the session secret callback function. The SessionSecretCb type has the signature: int (*SessionSecretCb)(WOLFSSL* ssl, @@ -2563,6 +2691,7 @@ WOLFSSL_API long wolfSSL_CTX_set_session_cache_mode(WOLFSSL_CTX*, long); \sa SessionSecretCb */ WOLFSSL_API int wolfSSL_set_session_secret_cb(WOLFSSL*, SessionSecretCb, void*); + /*! \ingroup IO @@ -2592,6 +2721,7 @@ WOLFSSL_API int wolfSSL_set_session_secret_cb(WOLFSSL*, SessionSecretCb, void*) \sa wolfSSL_memrestore_session_cache */ WOLFSSL_API int wolfSSL_save_session_cache(const char*); + /*! \ingroup IO @@ -2621,6 +2751,7 @@ WOLFSSL_API int wolfSSL_save_session_cache(const char*); \sa XFOPEN */ WOLFSSL_API int wolfSSL_restore_session_cache(const char*); + /*! \ingroup IO @@ -2649,6 +2780,7 @@ WOLFSSL_API int wolfSSL_restore_session_cache(const char*); \sa wolfSSL_get_session_cache_memsize */ WOLFSSL_API int wolfSSL_memsave_session_cache(void*, int); + /*! \ingroup IO @@ -2677,6 +2809,7 @@ WOLFSSL_API int wolfSSL_memsave_session_cache(void*, int); \sa wolfSSL_save_session_cache */ WOLFSSL_API int wolfSSL_memrestore_session_cache(const void*, int); + /*! \ingroup IO @@ -2700,6 +2833,7 @@ WOLFSSL_API int wolfSSL_memrestore_session_cache(const void*, int); \sa wolfSSL_memrestore_session_cache */ WOLFSSL_API int wolfSSL_get_session_cache_memsize(void); + /*! \ingroup CertsKeys @@ -2730,6 +2864,7 @@ WOLFSSL_API int wolfSSL_get_session_cache_memsize(void); \sa DoMemSaveCertCache */ WOLFSSL_API int wolfSSL_CTX_save_cert_cache(WOLFSSL_CTX*, const char*); + /*! \ingroup CertsKeys @@ -2762,6 +2897,7 @@ WOLFSSL_API int wolfSSL_CTX_save_cert_cache(WOLFSSL_CTX*, const char*); \sa XFOPEN */ WOLFSSL_API int wolfSSL_CTX_restore_cert_cache(WOLFSSL_CTX*, const char*); + /*! \ingroup CertsKeys @@ -2799,6 +2935,7 @@ WOLFSSL_API int wolfSSL_CTX_restore_cert_cache(WOLFSSL_CTX*, const char*); \sa CM_GetCertCacheMemSize */ WOLFSSL_API int wolfSSL_CTX_memsave_cert_cache(WOLFSSL_CTX*, void*, int, int*); + /*! \ingroup Setup @@ -2834,6 +2971,7 @@ WOLFSSL_API int wolfSSL_CTX_memsave_cert_cache(WOLFSSL_CTX*, void*, int, int*); \sa CM_MemRestoreCertCache */ WOLFSSL_API int wolfSSL_CTX_memrestore_cert_cache(WOLFSSL_CTX*, const void*, int); + /*! \ingroup CertsKeys @@ -2861,6 +2999,7 @@ WOLFSSL_API int wolfSSL_CTX_memrestore_cert_cache(WOLFSSL_CTX*, const void*, in \sa CM_GetCertCacheMemSize */ WOLFSSL_API int wolfSSL_CTX_get_cert_cache_memsize(WOLFSSL_CTX*); + /*! \ingroup Setup @@ -2899,6 +3038,7 @@ WOLFSSL_API int wolfSSL_CTX_get_cert_cache_memsize(WOLFSSL_CTX*); \sa wolfSSL_CTX_new */ WOLFSSL_API int wolfSSL_CTX_set_cipher_list(WOLFSSL_CTX*, const char*); + /*! \ingroup Setup @@ -2937,6 +3077,7 @@ WOLFSSL_API int wolfSSL_CTX_set_cipher_list(WOLFSSL_CTX*, const char*); \sa wolfSSL_new */ WOLFSSL_API int wolfSSL_set_cipher_list(WOLFSSL*, const char*); + /*! \brief This function informs the WOLFSSL DTLS object that the underlying UDP I/O is non-blocking. After an application creates a WOLFSSL object, @@ -3022,6 +3163,7 @@ WOLFSSL_API int wolfSSL_dtls_get_using_nonblock(WOLFSSL*); \sa wolfSSL_dtls_set_peer */ WOLFSSL_API int wolfSSL_dtls_get_current_timeout(WOLFSSL* ssl); + /*! \ingroup Setup @@ -3054,6 +3196,7 @@ WOLFSSL_API int wolfSSL_dtls_get_current_timeout(WOLFSSL* ssl); \sa wolfSSL_dtls_got_timeout */ WOLFSSL_API int wolfSSL_dtls_set_timeout_init(WOLFSSL* ssl, int); + /*! \brief This function sets the maximum dtls timeout. @@ -3081,6 +3224,7 @@ WOLFSSL_API int wolfSSL_dtls_set_timeout_init(WOLFSSL* ssl, int); \sa wolfSSL_dtls_got_timeout */ WOLFSSL_API int wolfSSL_dtls_set_timeout_max(WOLFSSL* ssl, int); + /*! \brief When using non-blocking sockets with DTLS, this function should be called on the WOLFSSL object when the controlling code thinks the @@ -3109,6 +3253,7 @@ WOLFSSL_API int wolfSSL_dtls_set_timeout_max(WOLFSSL* ssl, int); \sa wolfSSL_dtls */ WOLFSSL_API int wolfSSL_dtls_got_timeout(WOLFSSL* ssl); + /*! \brief This function is used to determine if the SSL session has been configured to use DTLS. @@ -3136,6 +3281,7 @@ WOLFSSL_API int wolfSSL_dtls_got_timeout(WOLFSSL* ssl); \sa wolfSSL_dtls_set_peer */ WOLFSSL_API int wolfSSL_dtls(WOLFSSL* ssl); + /*! \brief This function sets the DTLS peer, peer (sockaddr_in) with size of peerSz. @@ -3167,6 +3313,7 @@ WOLFSSL_API int wolfSSL_dtls(WOLFSSL* ssl); \sa wolfSSL_dtls */ WOLFSSL_API int wolfSSL_dtls_set_peer(WOLFSSL*, void*, unsigned int); + /*! \brief This function gets the sockaddr_in (of size peerSz) of the current DTLS peer. The function will compare peerSz to the actual DTLS peer size @@ -3203,6 +3350,7 @@ WOLFSSL_API int wolfSSL_dtls_set_peer(WOLFSSL*, void*, unsigned int); \sa wolfSSL_dtls */ WOLFSSL_API int wolfSSL_dtls_get_peer(WOLFSSL*, void*, unsigned int*); + /*! \ingroup Debug @@ -3239,6 +3387,7 @@ WOLFSSL_API int wolfSSL_dtls_get_peer(WOLFSSL*, void*, unsigned int*); \sa wolfSSL_load_error_strings */ WOLFSSL_API char* wolfSSL_ERR_error_string(unsigned long,char*); + /*! \ingroup Debug @@ -3272,6 +3421,7 @@ WOLFSSL_API char* wolfSSL_ERR_error_string(unsigned long,char*); */ WOLFSSL_API void wolfSSL_ERR_error_string_n(unsigned long e, char* buf, unsigned long sz); + /*! \ingroup TLS @@ -3307,6 +3457,7 @@ WOLFSSL_API void wolfSSL_ERR_error_string_n(unsigned long e, char* buf, \sa wolfSSL_SESSION_free */ WOLFSSL_API int wolfSSL_get_shutdown(const WOLFSSL*); + /*! \ingroup IO @@ -3333,6 +3484,7 @@ WOLFSSL_API int wolfSSL_get_shutdown(const WOLFSSL*); \sa wolfSSL_memsave_session_cache */ WOLFSSL_API int wolfSSL_session_reused(WOLFSSL*); + /*! \ingroup TLS @@ -3362,6 +3514,7 @@ WOLFSSL_API int wolfSSL_session_reused(WOLFSSL*); \sa wolfSSL_set_shutdown */ WOLFSSL_API int wolfSSL_is_init_finished(WOLFSSL*); + /*! \ingroup IO @@ -3393,6 +3546,7 @@ WOLFSSL_API int wolfSSL_is_init_finished(WOLFSSL*); \sa wolfSSL_lib_version */ WOLFSSL_API const char* wolfSSL_get_version(WOLFSSL*); + /*! \ingroup IO @@ -3424,6 +3578,7 @@ WOLFSSL_API const char* wolfSSL_get_version(WOLFSSL*); \sa wolfSSL_get_cipher_list */ WOLFSSL_API int wolfSSL_get_current_cipher_suite(WOLFSSL* ssl); + /*! \ingroup IO @@ -3455,6 +3610,7 @@ WOLFSSL_API int wolfSSL_get_current_cipher_suite(WOLFSSL* ssl); \sa wolfSSL_get_cipher_name */ WOLFSSL_API WOLFSSL_CIPHER* wolfSSL_get_current_cipher(WOLFSSL*); + /*! \ingroup IO @@ -3488,6 +3644,7 @@ WOLFSSL_API WOLFSSL_CIPHER* wolfSSL_get_current_cipher(WOLFSSL*); \sa wolfSSL_get_cipher_name */ WOLFSSL_API const char* wolfSSL_CIPHER_get_name(const WOLFSSL_CIPHER* cipher); + /*! \ingroup IO @@ -3516,6 +3673,7 @@ WOLFSSL_API const char* wolfSSL_CIPHER_get_name(const WOLFSSL_CIPHER* cipher); \sa wolfSSL_get_current_cipher */ WOLFSSL_API const char* wolfSSL_get_cipher(WOLFSSL*); + /*! \ingroup Setup @@ -3539,6 +3697,7 @@ WOLFSSL_API const char* wolfSSL_get_cipher(WOLFSSL*); \sa wolfSSL_free */ WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get1_session(WOLFSSL* ssl); + /*! \ingroup Setup @@ -3585,6 +3744,7 @@ WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get1_session(WOLFSSL* ssl); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD* wolfSSLv23_client_method(void); + /*! \ingroup IO @@ -3613,6 +3773,7 @@ WOLFSSL_API WOLFSSL_METHOD* wolfSSLv23_client_method(void); \sa wolfSSL_BIO_free */ WOLFSSL_API int wolfSSL_BIO_get_mem_data(WOLFSSL_BIO* bio,void* p); + /*! \ingroup IO @@ -3636,6 +3797,7 @@ WOLFSSL_API int wolfSSL_BIO_get_mem_data(WOLFSSL_BIO* bio,void* p); \sa wolfSSL_BIO_free */ WOLFSSL_API long wolfSSL_BIO_set_fd(WOLFSSL_BIO* b, int fd, int flag); + /*! \ingroup IO @@ -3656,6 +3818,7 @@ WOLFSSL_API long wolfSSL_BIO_set_fd(WOLFSSL_BIO* b, int fd, int flag); \sa wolfSSL_BIO_s_mem */ WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_socket(void); + /*! \ingroup IO @@ -3684,6 +3847,7 @@ WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_socket(void); \sa wolfSSL_BIO_free */ WOLFSSL_API int wolfSSL_BIO_set_write_buf_size(WOLFSSL_BIO *b, long size); + /*! \ingroup IO @@ -3717,6 +3881,7 @@ WOLFSSL_API int wolfSSL_BIO_set_write_buf_size(WOLFSSL_BIO *b, long size); \sa wolfSSL_BIO_free */ WOLFSSL_API int wolfSSL_BIO_make_bio_pair(WOLFSSL_BIO *b1, WOLFSSL_BIO *b2); + /*! \ingroup IO @@ -3740,6 +3905,7 @@ WOLFSSL_API int wolfSSL_BIO_make_bio_pair(WOLFSSL_BIO *b1, WOLFSSL_BIO *b2); \sa wolfSSL_BIO_new, wolfSSL_BIO_free */ WOLFSSL_API int wolfSSL_BIO_ctrl_reset_read_request(WOLFSSL_BIO *b); + /*! \ingroup IO @@ -3768,6 +3934,7 @@ WOLFSSL_API int wolfSSL_BIO_ctrl_reset_read_request(WOLFSSL_BIO *b); \sa wolfSSL_BIO_nwrite0 */ WOLFSSL_API int wolfSSL_BIO_nread0(WOLFSSL_BIO *bio, char **buf); + /*! \ingroup IO @@ -3801,6 +3968,7 @@ WOLFSSL_API int wolfSSL_BIO_nread0(WOLFSSL_BIO *bio, char **buf); \sa wolfSSL_BIO_nwrite */ WOLFSSL_API int wolfSSL_BIO_nread(WOLFSSL_BIO *bio, char **buf, int num); + /*! \ingroup IO @@ -3834,6 +4002,7 @@ WOLFSSL_API int wolfSSL_BIO_nread(WOLFSSL_BIO *bio, char **buf, int num); \sa wolfSSL_BIO_nread */ WOLFSSL_API int wolfSSL_BIO_nwrite(WOLFSSL_BIO *bio, char **buf, int num); + /*! \ingroup IO @@ -3857,6 +4026,7 @@ WOLFSSL_API int wolfSSL_BIO_nwrite(WOLFSSL_BIO *bio, char **buf, int num); \sa wolfSSL_BIO_free */ WOLFSSL_API int wolfSSL_BIO_reset(WOLFSSL_BIO *bio); + /*! \ingroup IO @@ -3887,6 +4057,7 @@ WOLFSSL_API int wolfSSL_BIO_reset(WOLFSSL_BIO *bio); \sa wolfSSL_BIO_free */ WOLFSSL_API int wolfSSL_BIO_seek(WOLFSSL_BIO *bio, int ofs); + /*! \ingroup IO @@ -3914,6 +4085,7 @@ WOLFSSL_API int wolfSSL_BIO_seek(WOLFSSL_BIO *bio, int ofs); \sa wolfSSL_BIO_free */ WOLFSSL_API int wolfSSL_BIO_write_filename(WOLFSSL_BIO *bio, char *name); + /*! \ingroup IO @@ -3940,6 +4112,7 @@ WOLFSSL_API int wolfSSL_BIO_write_filename(WOLFSSL_BIO *bio, char *name); \sa wolfSSL_BIO_free */ WOLFSSL_API long wolfSSL_BIO_set_mem_eof_return(WOLFSSL_BIO *bio, int v); + /*! \ingroup IO @@ -3967,6 +4140,7 @@ WOLFSSL_API long wolfSSL_BIO_set_mem_eof_return(WOLFSSL_BIO *bio, int v); \sa wolfSSL_BIO_s_mem */ WOLFSSL_API long wolfSSL_BIO_get_mem_ptr(WOLFSSL_BIO *bio, WOLFSSL_BUF_MEM **m); + /*! \ingroup CertsKeys @@ -3999,6 +4173,7 @@ WOLFSSL_API long wolfSSL_BIO_get_mem_ptr(WOLFSSL_BIO *bio, WOLFSSL_BUF_MEM **m); \sa wolfSSL_X509_version */ WOLFSSL_API char* wolfSSL_X509_NAME_oneline(WOLFSSL_X509_NAME*, char*, int); + /*! \ingroup CertsKeys @@ -4030,6 +4205,7 @@ WOLFSSL_API char* wolfSSL_X509_NAME_oneline(WOLFSSL_X509_NAME*, char*, int \sa wolfSSL_X509_NAME_oneline */ WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_get_issuer_name(WOLFSSL_X509*); + /*! \ingroup CertsKeys @@ -4058,6 +4234,7 @@ WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_get_issuer_name(WOLFSSL_X509*); \sa wolfSSL_get_peer_certificate */ WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_get_subject_name(WOLFSSL_X509*); + /*! \ingroup CertsKeys @@ -4088,6 +4265,7 @@ WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_get_subject_name(WOLFSSL_X509*); \sa wolfSSL_X509_get_isCA */ WOLFSSL_API int wolfSSL_X509_get_isCA(WOLFSSL_X509*); + /*! \ingroup CertsKeys @@ -4117,6 +4295,7 @@ WOLFSSL_API int wolfSSL_X509_get_isCA(WOLFSSL_X509*); */ WOLFSSL_API int wolfSSL_X509_NAME_get_text_by_NID( WOLFSSL_X509_NAME*, int, char*, int); + /*! \ingroup CertsKeys @@ -4150,6 +4329,7 @@ WOLFSSL_API int wolfSSL_X509_NAME_get_text_by_NID( \sa wolfSSL_X509_free */ WOLFSSL_API int wolfSSL_X509_get_signature_type(WOLFSSL_X509*); + /*! \ingroup CertsKeys @@ -4184,6 +4364,7 @@ WOLFSSL_API int wolfSSL_X509_get_signature_type(WOLFSSL_X509*); \sa wolfSSL_X509_get_device_type */ WOLFSSL_API int wolfSSL_X509_get_signature(WOLFSSL_X509*, unsigned char*, int*); + /*! \ingroup CertsKeys @@ -4208,6 +4389,7 @@ WOLFSSL_API int wolfSSL_X509_get_signature(WOLFSSL_X509*, unsigned char*, int*); */ WOLFSSL_API int wolfSSL_X509_STORE_add_cert( WOLFSSL_X509_STORE*, WOLFSSL_X509*); + /*! \ingroup CertsKeys @@ -4232,6 +4414,7 @@ WOLFSSL_API int wolfSSL_X509_STORE_add_cert( */ WOLFSSL_API WOLFSSL_STACK* wolfSSL_X509_STORE_CTX_get_chain( WOLFSSL_X509_STORE_CTX* ctx); + /*! \ingroup CertsKeys @@ -4261,6 +4444,7 @@ WOLFSSL_API WOLFSSL_STACK* wolfSSL_X509_STORE_CTX_get_chain( */ WOLFSSL_API int wolfSSL_X509_STORE_set_flags(WOLFSSL_X509_STORE* store, unsigned long flag); + /*! \ingroup Setup @@ -4293,6 +4477,7 @@ WOLFSSL_API int wolfSSL_X509_STORE_set_flags(WOLFSSL_X509_STORE* store, */ WOLFSSL_API WOLFSSL_BIGNUM *wolfSSL_ASN1_INTEGER_to_BN(const WOLFSSL_ASN1_INTEGER *ai, WOLFSSL_BIGNUM *bn); + /*! \ingroup Setup @@ -4319,6 +4504,7 @@ WOLFSSL_API WOLFSSL_BIGNUM *wolfSSL_ASN1_INTEGER_to_BN(const WOLFSSL_ASN1_INTEGE \sa wolfSSL_CTX_free */ WOLFSSL_API long wolfSSL_CTX_add_extra_chain_cert(WOLFSSL_CTX*, WOLFSSL_X509*); + /*! \ingroup Setup @@ -4344,6 +4530,7 @@ WOLFSSL_API long wolfSSL_CTX_add_extra_chain_cert(WOLFSSL_CTX*, WOLFSSL_X509*); \sa wolfSSL_CTX_set_read_ahead */ WOLFSSL_API int wolfSSL_CTX_get_read_ahead(WOLFSSL_CTX*); + /*! \ingroup Setup @@ -4369,6 +4556,7 @@ WOLFSSL_API int wolfSSL_CTX_get_read_ahead(WOLFSSL_CTX*); \sa wolfSSL_CTX_get_read_ahead */ WOLFSSL_API int wolfSSL_CTX_set_read_ahead(WOLFSSL_CTX*, int v); + /*! \ingroup Setup @@ -4395,6 +4583,7 @@ WOLFSSL_API int wolfSSL_CTX_set_read_ahead(WOLFSSL_CTX*, int v); \sa wolfSSL_CTX_free */ WOLFSSL_API long wolfSSL_CTX_set_tlsext_status_arg(WOLFSSL_CTX*, void* arg); + /*! \ingroup Setup @@ -4422,6 +4611,7 @@ WOLFSSL_API long wolfSSL_CTX_set_tlsext_status_arg(WOLFSSL_CTX*, void* arg); */ WOLFSSL_API long wolfSSL_CTX_set_tlsext_opaque_prf_input_callback_arg( WOLFSSL_CTX*, void* arg); + /*! \ingroup Setup @@ -4458,6 +4648,7 @@ WOLFSSL_API long wolfSSL_CTX_set_tlsext_opaque_prf_input_callback_arg( \sa wolfSSL_get_options */ WOLFSSL_API long wolfSSL_set_options(WOLFSSL *s, long op); + /*! \ingroup Setup @@ -4480,6 +4671,7 @@ WOLFSSL_API long wolfSSL_set_options(WOLFSSL *s, long op); \sa wolfSSL_set_options */ WOLFSSL_API long wolfSSL_get_options(const WOLFSSL *s); + /*! \ingroup Setup @@ -4505,6 +4697,7 @@ WOLFSSL_API long wolfSSL_get_options(const WOLFSSL *s); \sa wolfSSL_free */ WOLFSSL_API long wolfSSL_set_tlsext_debug_arg(WOLFSSL *s, void *arg); + /*! \ingroup openSSL @@ -4538,6 +4731,7 @@ WOLFSSL_API long wolfSSL_set_tlsext_debug_arg(WOLFSSL *s, void *arg); \sa wolfSSL_CTX_free */ WOLFSSL_API long wolfSSL_set_tlsext_status_type(WOLFSSL *s, int type); + /*! \ingroup Setup @@ -4562,6 +4756,7 @@ WOLFSSL_API long wolfSSL_set_tlsext_status_type(WOLFSSL *s, int type); \sa wolfSSL_free */ WOLFSSL_API long wolfSSL_get_verify_result(const WOLFSSL *ssl); + /*! \ingroup Debug @@ -4592,6 +4787,7 @@ WOLFSSL_API long wolfSSL_get_verify_result(const WOLFSSL *ssl); \sa wolfSSL_load_error_strings */ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); + /*! \brief The function sets the client_psk_cb member of the WOLFSSL_CTX structure. @@ -4619,8 +4815,9 @@ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); \sa wolfSSL_CTX_set_psk_server_callback \sa wolfSSL_CTX_set_psk_client_callback */ - WOLFSSL_API void wolfSSL_CTX_set_psk_client_callback(WOLFSSL_CTX*, +WOLFSSL_API void wolfSSL_CTX_set_psk_client_callback(WOLFSSL_CTX*, wc_psk_client_callback); + /*! \brief Sets the PSK client side callback. @@ -4649,8 +4846,9 @@ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); \sa wolfSSL_CTX_set_psk_server_callback \sa wolfSSL_set_psk_server_callback */ - WOLFSSL_API void wolfSSL_set_psk_client_callback(WOLFSSL*, +WOLFSSL_API void wolfSSL_set_psk_client_callback(WOLFSSL*, wc_psk_client_callback); + /*! \ingroup CertsKeys @@ -4678,7 +4876,8 @@ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); \sa wolfSSL_get_psk_identity */ - WOLFSSL_API const char* wolfSSL_get_psk_identity_hint(const WOLFSSL*); +WOLFSSL_API const char* wolfSSL_get_psk_identity_hint(const WOLFSSL*); + /*! \ingroup CertsKeys @@ -4708,7 +4907,8 @@ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); \sa wolfSSL_get_psk_identity_hint \sa wolfSSL_use_psk_identity_hint */ - WOLFSSL_API const char* wolfSSL_get_psk_identity(const WOLFSSL*); +WOLFSSL_API const char* wolfSSL_get_psk_identity(const WOLFSSL*); + /*! \ingroup CertsKeys @@ -4739,7 +4939,8 @@ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); \sa wolfSSL_use_psk_identity_hint */ - WOLFSSL_API int wolfSSL_CTX_use_psk_identity_hint(WOLFSSL_CTX*, const char*); +WOLFSSL_API int wolfSSL_CTX_use_psk_identity_hint(WOLFSSL_CTX*, const char*); + /*! \ingroup CertsKeys @@ -4766,7 +4967,8 @@ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); \sa wolfSSL_CTX_use_psk_identity_hint */ - WOLFSSL_API int wolfSSL_use_psk_identity_hint(WOLFSSL*, const char*); +WOLFSSL_API int wolfSSL_use_psk_identity_hint(WOLFSSL*, const char*); + /*! \brief This function sets the psk callback for the server side in the WOLFSSL_CTX structure. @@ -4800,8 +5002,9 @@ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); \sa wolfSSL_set_psk_server_callback \sa wolfSSL_CTX_set_psk_client_callback */ - WOLFSSL_API void wolfSSL_CTX_set_psk_server_callback(WOLFSSL_CTX*, +WOLFSSL_API void wolfSSL_CTX_set_psk_server_callback(WOLFSSL_CTX*, wc_psk_server_callback); + /*! \brief Sets the psk callback for the server side by setting the WOLFSSL structure options members. @@ -4834,8 +5037,9 @@ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); \sa wc_psk_server_callback \sa InitSuites */ - WOLFSSL_API void wolfSSL_set_psk_server_callback(WOLFSSL*, +WOLFSSL_API void wolfSSL_set_psk_server_callback(WOLFSSL*, wc_psk_server_callback); + /*! \ingroup Setup @@ -4866,7 +5070,8 @@ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); \sa none */ - WOLFSSL_API int wolfSSL_CTX_allow_anon_cipher(WOLFSSL_CTX*); +WOLFSSL_API int wolfSSL_CTX_allow_anon_cipher(WOLFSSL_CTX*); + /*! \ingroup Setup @@ -4906,6 +5111,7 @@ WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); \sa wolfSSL_CTX_new */ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv23_server_method(void); + /*! \ingroup Setup @@ -4929,6 +5135,7 @@ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv23_server_method(void); \sa wolfSSL_free */ WOLFSSL_API int wolfSSL_state(WOLFSSL* ssl); + /*! \ingroup CertsKeys @@ -4957,6 +5164,7 @@ WOLFSSL_API int wolfSSL_state(WOLFSSL* ssl); \sa wolfSSL_X509_get_isCA */ WOLFSSL_API WOLFSSL_X509* wolfSSL_get_peer_certificate(WOLFSSL* ssl); + /*! \ingroup Debug @@ -4986,6 +5194,7 @@ WOLFSSL_API WOLFSSL_X509* wolfSSL_get_peer_certificate(WOLFSSL* ssl); \sa wolfSSL_get_error */ WOLFSSL_API int wolfSSL_want_read(WOLFSSL*); + /*! \ingroup Debug @@ -5015,6 +5224,7 @@ WOLFSSL_API int wolfSSL_want_read(WOLFSSL*); \sa wolfSSL_get_error */ WOLFSSL_API int wolfSSL_want_write(WOLFSSL*); + /*! \ingroup Setup @@ -5046,6 +5256,7 @@ WOLFSSL_API int wolfSSL_want_write(WOLFSSL*); \sa none */ WOLFSSL_API int wolfSSL_check_domain_name(WOLFSSL* ssl, const char* dn); + /*! \ingroup TLS @@ -5069,6 +5280,7 @@ WOLFSSL_API int wolfSSL_check_domain_name(WOLFSSL* ssl, const char* dn); \sa wolfSSL_Cleanup */ WOLFSSL_API int wolfSSL_Init(void); + /*! \ingroup TLS @@ -5086,6 +5298,7 @@ WOLFSSL_API int wolfSSL_Init(void); \sa wolfSSL_Init */ WOLFSSL_API int wolfSSL_Cleanup(void); + /*! \ingroup IO @@ -5109,6 +5322,7 @@ WOLFSSL_API int wolfSSL_Cleanup(void); \sa word32_wolfSSL_lib_version_hex */ WOLFSSL_API const char* wolfSSL_lib_version(void); + /*! \ingroup IO @@ -5135,6 +5349,7 @@ WOLFSSL_API const char* wolfSSL_lib_version(void); \sa wolfSSL_lib_version */ WOLFSSL_API unsigned int wolfSSL_lib_version_hex(void); + /*! \ingroup IO @@ -5167,6 +5382,7 @@ WOLFSSL_API unsigned int wolfSSL_lib_version_hex(void); \sa SSL_accept */ WOLFSSL_API int wolfSSL_negotiate(WOLFSSL* ssl); + /*! \ingroup Setup @@ -5199,6 +5415,7 @@ WOLFSSL_API int wolfSSL_negotiate(WOLFSSL* ssl); \sa none */ WOLFSSL_API int wolfSSL_set_compression(WOLFSSL* ssl); + /*! \ingroup Setup @@ -5227,6 +5444,7 @@ WOLFSSL_API int wolfSSL_set_compression(WOLFSSL* ssl); \sa wolfSSL_set_session */ WOLFSSL_API int wolfSSL_set_timeout(WOLFSSL*, unsigned int); + /*! \ingroup Setup @@ -5256,6 +5474,7 @@ WOLFSSL_API int wolfSSL_set_timeout(WOLFSSL*, unsigned int); \sa wolfSSL_CTX_set_session_cache_mode */ WOLFSSL_API int wolfSSL_CTX_set_timeout(WOLFSSL_CTX*, unsigned int); + /*! \ingroup openSSL @@ -5279,6 +5498,7 @@ WOLFSSL_API int wolfSSL_CTX_set_timeout(WOLFSSL_CTX*, unsigned int); \sa wolfSSL_get_chain_cert_pem */ WOLFSSL_API WOLFSSL_X509_CHAIN* wolfSSL_get_peer_chain(WOLFSSL* ssl); + /*! \ingroup openSSL @@ -5302,6 +5522,7 @@ WOLFSSL_API WOLFSSL_X509_CHAIN* wolfSSL_get_peer_chain(WOLFSSL* ssl); \sa wolfSSL_get_chain_cert_pem */ WOLFSSL_API int wolfSSL_get_chain_count(WOLFSSL_X509_CHAIN* chain); + /*! \ingroup openSSL @@ -5327,6 +5548,7 @@ WOLFSSL_API int wolfSSL_get_chain_count(WOLFSSL_X509_CHAIN* chain); \sa wolfSSL_get_chain_cert_pem */ WOLFSSL_API int wolfSSL_get_chain_length(WOLFSSL_X509_CHAIN*, int idx); + /*! \ingroup openSSL @@ -5351,6 +5573,7 @@ WOLFSSL_API int wolfSSL_get_chain_length(WOLFSSL_X509_CHAIN*, int idx); \sa wolfSSL_get_chain_cert_pem */ WOLFSSL_API unsigned char* wolfSSL_get_chain_cert(WOLFSSL_X509_CHAIN*, int idx); + /*! \ingroup CertsKeys @@ -5383,6 +5606,7 @@ WOLFSSL_API unsigned char* wolfSSL_get_chain_cert(WOLFSSL_X509_CHAIN*, int idx); \sa CopyDecodedToX509 */ WOLFSSL_API WOLFSSL_X509* wolfSSL_get_chain_X509(WOLFSSL_X509_CHAIN*, int idx); + /*! \ingroup openSSL @@ -5408,6 +5632,7 @@ WOLFSSL_API WOLFSSL_X509* wolfSSL_get_chain_X509(WOLFSSL_X509_CHAIN*, int idx); */ WOLFSSL_API int wolfSSL_get_chain_cert_pem(WOLFSSL_X509_CHAIN*, int idx, unsigned char* buf, int inLen, int* outLen); + /*! \ingroup openSSL @@ -5425,6 +5650,7 @@ WOLFSSL_API int wolfSSL_get_chain_cert_pem(WOLFSSL_X509_CHAIN*, int idx, \sa SSL_get_session */ WOLFSSL_API const unsigned char* wolfSSL_get_sessionID(const WOLFSSL_SESSION* s); + /*! \ingroup openSSL @@ -5449,6 +5675,7 @@ WOLFSSL_API const unsigned char* wolfSSL_get_sessionID(const WOLFSSL_SESSION* s) \sa SSL_get_peer_certificate */ WOLFSSL_API int wolfSSL_X509_get_serial_number(WOLFSSL_X509*,unsigned char*,int*); + /*! \ingroup CertsKeys @@ -5481,6 +5708,7 @@ WOLFSSL_API int wolfSSL_X509_get_serial_number(WOLFSSL_X509*,unsigned char*,int */ WOLFSSL_API char* wolfSSL_X509_get_subjectCN(WOLFSSL_X509*); + /*! \ingroup CertsKeys @@ -5514,6 +5742,7 @@ WOLFSSL_API char* wolfSSL_X509_get_subjectCN(WOLFSSL_X509*); \sa wolfSSL_X509_get_subject_name */ WOLFSSL_API const unsigned char* wolfSSL_X509_get_der(WOLFSSL_X509*, int*); + /*! \ingroup CertsKeys @@ -5540,6 +5769,7 @@ WOLFSSL_API const unsigned char* wolfSSL_X509_get_der(WOLFSSL_X509*, int*); \sa none */ WOLFSSL_API const unsigned char* wolfSSL_X509_notAfter(WOLFSSL_X509*); + /*! \ingroup CertsKeys @@ -5567,6 +5797,7 @@ WOLFSSL_API const unsigned char* wolfSSL_X509_notAfter(WOLFSSL_X509*); \sa wolfSSL_get_peer_certificate */ WOLFSSL_API int wolfSSL_X509_version(WOLFSSL_X509*); + /*! \ingroup CertsKeys @@ -5598,8 +5829,9 @@ WOLFSSL_API int wolfSSL_X509_version(WOLFSSL_X509*); \sa XREWIND \sa XFSEEK */ - WOLFSSL_API WOLFSSL_X509* - wolfSSL_X509_d2i_fp(WOLFSSL_X509** x509, XFILE file); +WOLFSSL_API WOLFSSL_X509* + wolfSSL_X509_d2i_fp(WOLFSSL_X509** x509, FILE* file); + /*! \ingroup CertsKeys @@ -5629,6 +5861,7 @@ WOLFSSL_API int wolfSSL_X509_version(WOLFSSL_X509*); */ WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_load_certificate_file(const char* fname, int format); + /*! \ingroup CertsKeys @@ -5664,8 +5897,9 @@ WOLFSSL_API WOLFSSL_X509* \sa wolfSSL_X509_get_hw_serial_number \sa wolfSSL_X509_d2i */ - WOLFSSL_API unsigned char* +WOLFSSL_API unsigned char* wolfSSL_X509_get_device_type(WOLFSSL_X509*, unsigned char*, int*); + /*! \ingroup CertsKeys @@ -5697,8 +5931,9 @@ WOLFSSL_API WOLFSSL_X509* \sa wolfSSL_X509_get_hw_serial_number \sa wolfSSL_X509_get_device_type */ - WOLFSSL_API unsigned char* +WOLFSSL_API unsigned char* wolfSSL_X509_get_hw_type(WOLFSSL_X509*, unsigned char*, int*); + /*! \ingroup CertsKeys @@ -5732,8 +5967,9 @@ WOLFSSL_API WOLFSSL_X509* \sa wolfSSL_get_peer_certificate \sa wolfSSL_X509_version */ - WOLFSSL_API unsigned char* +WOLFSSL_API unsigned char* wolfSSL_X509_get_hw_serial_number(WOLFSSL_X509*, unsigned char*, int*); + /*! \ingroup IO @@ -5779,6 +6015,7 @@ WOLFSSL_API WOLFSSL_X509* \sa wolfSSL_accept */ WOLFSSL_API int wolfSSL_connect_cert(WOLFSSL* ssl); + /*! \ingroup openSSL @@ -5815,6 +6052,7 @@ WOLFSSL_API int wolfSSL_connect_cert(WOLFSSL* ssl); */ WOLFSSL_API WC_PKCS12* wolfSSL_d2i_PKCS12_bio(WOLFSSL_BIO* bio, WC_PKCS12** pkcs12); + /*! \ingroup openSSL @@ -5867,6 +6105,7 @@ WOLFSSL_API WC_PKCS12* wolfSSL_d2i_PKCS12_bio(WOLFSSL_BIO* bio, */ WOLFSSL_API int wolfSSL_PKCS12_parse(WC_PKCS12* pkcs12, const char* psw, WOLFSSL_EVP_PKEY** pkey, WOLFSSL_X509** cert, WOLF_STACK_OF(WOLFSSL_X509)** ca); + /*! \ingroup CertsKeys @@ -5898,6 +6137,7 @@ WOLFSSL_API int wolfSSL_PKCS12_parse(WC_PKCS12* pkcs12, const char* psw, */ WOLFSSL_API int wolfSSL_SetTmpDH(WOLFSSL*, const unsigned char* p, int pSz, const unsigned char* g, int gSz); + /*! \ingroup CertsKeys @@ -5948,6 +6188,7 @@ WOLFSSL_API int wolfSSL_SetTmpDH(WOLFSSL*, const unsigned char* p, int pSz, */ WOLFSSL_API int wolfSSL_SetTmpDH_buffer(WOLFSSL*, const unsigned char* b, long sz, int format); + /*! \ingroup CertsKeys @@ -5985,7 +6226,8 @@ WOLFSSL_API int wolfSSL_SetTmpDH_buffer(WOLFSSL*, const unsigned char* b, long \sa wolfSSL_SetTmpDH \sa wolfSSL_CTX_SetTmpDH */ - WOLFSSL_API int wolfSSL_SetTmpDH_file(WOLFSSL*, const char* f, int format); +WOLFSSL_API int wolfSSL_SetTmpDH_file(WOLFSSL*, const char* f, int format); + /*! \ingroup CertsKeys @@ -6030,6 +6272,7 @@ WOLFSSL_API int wolfSSL_SetTmpDH_buffer(WOLFSSL*, const unsigned char* b, long */ WOLFSSL_API int wolfSSL_CTX_SetTmpDH(WOLFSSL_CTX*, const unsigned char* p, int pSz, const unsigned char* g, int gSz); + /*! \ingroup CertsKeys @@ -6074,6 +6317,7 @@ WOLFSSL_API int wolfSSL_CTX_SetTmpDH(WOLFSSL_CTX*, const unsigned char* p, */ WOLFSSL_API int wolfSSL_CTX_SetTmpDH_buffer(WOLFSSL_CTX*, const unsigned char* b, long sz, int format); + /*! \ingroup CertsKeys @@ -6127,8 +6371,9 @@ WOLFSSL_API int wolfSSL_CTX_SetTmpDH_buffer(WOLFSSL_CTX*, const unsigned char* \sa AllocDer \sa PemToDer */ - WOLFSSL_API int wolfSSL_CTX_SetTmpDH_file(WOLFSSL_CTX*, const char* f, +WOLFSSL_API int wolfSSL_CTX_SetTmpDH_file(WOLFSSL_CTX*, const char* f, int format); + /*! \ingroup CertsKeys @@ -6156,6 +6401,7 @@ WOLFSSL_API int wolfSSL_CTX_SetTmpDH_buffer(WOLFSSL_CTX*, const unsigned char* \sa wolfSSL_CTX_SetTMpDH_file */ WOLFSSL_API int wolfSSL_CTX_SetMinDhKey_Sz(WOLFSSL_CTX*, unsigned short); + /*! \ingroup CertsKeys @@ -6182,6 +6428,7 @@ WOLFSSL_API int wolfSSL_CTX_SetMinDhKey_Sz(WOLFSSL_CTX*, unsigned short); \sa wolfSSL_GetDhKey_Sz */ WOLFSSL_API int wolfSSL_SetMinDhKey_Sz(WOLFSSL*, unsigned short); + /*! \ingroup CertsKeys @@ -6216,6 +6463,7 @@ WOLFSSL_API int wolfSSL_SetMinDhKey_Sz(WOLFSSL*, unsigned short); \sa wolfSSL_CTX_SetTmpDH_file */ WOLFSSL_API int wolfSSL_GetDhKey_Sz(WOLFSSL*); + /*! \ingroup CertsKeys @@ -6246,6 +6494,7 @@ WOLFSSL_API int wolfSSL_GetDhKey_Sz(WOLFSSL*); \sa wolfSSL_SetMinRsaKey_Sz */ WOLFSSL_API int wolfSSL_CTX_SetMinRsaKey_Sz(WOLFSSL_CTX*, short); + /*! \ingroup CertsKeys @@ -6274,6 +6523,7 @@ WOLFSSL_API int wolfSSL_CTX_SetMinRsaKey_Sz(WOLFSSL_CTX*, short); \sa wolfSSL_CTX_SetMinRsaKey_Sz */ WOLFSSL_API int wolfSSL_SetMinRsaKey_Sz(WOLFSSL*, short); + /*! \ingroup CertsKeys @@ -6303,6 +6553,7 @@ WOLFSSL_API int wolfSSL_SetMinRsaKey_Sz(WOLFSSL*, short); \sa wolfSSL_SetMinEccKey_Sz */ WOLFSSL_API int wolfSSL_CTX_SetMinEccKey_Sz(WOLFSSL_CTX*, short); + /*! \ingroup CertsKeys @@ -6334,6 +6585,7 @@ WOLFSSL_API int wolfSSL_CTX_SetMinEccKey_Sz(WOLFSSL_CTX*, short); \sa wolfSSL_SetMinRsaKey_Sz */ WOLFSSL_API int wolfSSL_SetMinEccKey_Sz(WOLFSSL*, short); + /*! \ingroup CertsKeys @@ -6369,6 +6621,7 @@ WOLFSSL_API int wolfSSL_SetMinEccKey_Sz(WOLFSSL*, short); */ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, const char* label); + /*! \ingroup IO @@ -6410,8 +6663,9 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_write */ - WOLFSSL_API int wolfSSL_writev(WOLFSSL* ssl, const struct iovec* iov, +WOLFSSL_API int wolfSSL_writev(WOLFSSL* ssl, const struct iovec* iov, int iovcnt); + /*! \ingroup Setup @@ -6442,7 +6696,8 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa FreeSignerTable \sa UnlockMutex */ - WOLFSSL_API int wolfSSL_CTX_UnloadCAs(WOLFSSL_CTX*); +WOLFSSL_API int wolfSSL_CTX_UnloadCAs(WOLFSSL_CTX*); + /*! \ingroup Setup @@ -6473,7 +6728,8 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_CTX_trust_peer_buffer \sa wolfSSL_CTX_trust_peer_cert */ - WOLFSSL_API int wolfSSL_CTX_Unload_trust_peers(WOLFSSL_CTX*); +WOLFSSL_API int wolfSSL_CTX_Unload_trust_peers(WOLFSSL_CTX*); + /*! \ingroup Setup @@ -6525,8 +6781,9 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_use_PrivateKey_file \sa wolfSSL_use_certificate_chain_file */ - WOLFSSL_API int wolfSSL_CTX_trust_peer_buffer(WOLFSSL_CTX*, +WOLFSSL_API int wolfSSL_CTX_trust_peer_buffer(WOLFSSL_CTX*, const unsigned char*, long, int); + /*! \ingroup CertsKeys @@ -6577,8 +6834,9 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_use_PrivateKey_buffer \sa wolfSSL_use_certificate_chain_buffer */ - WOLFSSL_API int wolfSSL_CTX_load_verify_buffer(WOLFSSL_CTX*, +WOLFSSL_API int wolfSSL_CTX_load_verify_buffer(WOLFSSL_CTX*, const unsigned char*, long, int); + /*! \ingroup CertsKeys @@ -6624,8 +6882,9 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_use_PrivateKey_buffer \sa wolfSSL_use_certificate_chain_buffer */ - WOLFSSL_API int wolfSSL_CTX_use_certificate_buffer(WOLFSSL_CTX*, +WOLFSSL_API int wolfSSL_CTX_use_certificate_buffer(WOLFSSL_CTX*, const unsigned char*, long, int); + /*! \ingroup CertsKeys @@ -6673,8 +6932,9 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_use_PrivateKey_buffer \sa wolfSSL_use_certificate_chain_buffer */ - WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX*, +WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX*, const unsigned char*, long, int); + /*! \ingroup CertsKeys @@ -6721,8 +6981,9 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_use_PrivateKey_buffer \sa wolfSSL_use_certificate_chain_buffer */ - WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_buffer(WOLFSSL_CTX*, +WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_buffer(WOLFSSL_CTX*, const unsigned char*, long); + /*! \ingroup CertsKeys @@ -6768,8 +7029,9 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_use_PrivateKey_buffer \sa wolfSSL_use_certificate_chain_buffer */ - WOLFSSL_API int wolfSSL_use_certificate_buffer(WOLFSSL*, const unsigned char*, +WOLFSSL_API int wolfSSL_use_certificate_buffer(WOLFSSL*, const unsigned char*, long, int); + /*! \ingroup CertsKeys @@ -6817,8 +7079,9 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_use_certificate_buffer \sa wolfSSL_use_certificate_chain_buffer */ - WOLFSSL_API int wolfSSL_use_PrivateKey_buffer(WOLFSSL*, const unsigned char*, +WOLFSSL_API int wolfSSL_use_PrivateKey_buffer(WOLFSSL*, const unsigned char*, long, int); + /*! \ingroup CertsKeys @@ -6863,8 +7126,9 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_use_certificate_buffer \sa wolfSSL_use_PrivateKey_buffer */ - WOLFSSL_API int wolfSSL_use_certificate_chain_buffer(WOLFSSL*, +WOLFSSL_API int wolfSSL_use_certificate_chain_buffer(WOLFSSL*, const unsigned char*, long); + /*! \ingroup CertsKeys @@ -6887,7 +7151,8 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_CTX_UnloadCAs */ - WOLFSSL_API int wolfSSL_UnloadCertsKeys(WOLFSSL*); +WOLFSSL_API int wolfSSL_UnloadCertsKeys(WOLFSSL*); + /*! \ingroup Setup @@ -6912,6 +7177,7 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, \sa wolfSSL_CTX_new */ WOLFSSL_API int wolfSSL_CTX_set_group_messages(WOLFSSL_CTX*); + /*! \ingroup Setup @@ -6936,6 +7202,7 @@ WOLFSSL_API int wolfSSL_CTX_set_group_messages(WOLFSSL_CTX*); \sa wolfSSL_new */ WOLFSSL_API int wolfSSL_set_group_messages(WOLFSSL*); + /*! \brief This function sets the fuzzer callback. @@ -6965,6 +7232,7 @@ WOLFSSL_API int wolfSSL_set_group_messages(WOLFSSL*); \sa CallbackFuzzer */ WOLFSSL_API void wolfSSL_SetFuzzerCb(WOLFSSL* ssl, CallbackFuzzer cbf, void* fCtx); + /*! \brief This function sets a new dtls cookie secret. @@ -7000,6 +7268,7 @@ WOLFSSL_API void wolfSSL_SetFuzzerCb(WOLFSSL* ssl, CallbackFuzzer cbf, void* fCt WOLFSSL_API int wolfSSL_DTLS_SetCookieSecret(WOLFSSL*, const unsigned char*, unsigned int); + /*! \ingroup Setup @@ -7032,6 +7301,7 @@ WOLFSSL_API int wolfSSL_DTLS_SetCookieSecret(WOLFSSL*, \sa SetMinVersionHelper */ WOLFSSL_API int wolfSSL_CTX_SetMinVersion(WOLFSSL_CTX* ctx, int version); + /*! \ingroup TLS @@ -7063,6 +7333,7 @@ WOLFSSL_API int wolfSSL_CTX_SetMinVersion(WOLFSSL_CTX* ctx, int version); \sa SetMinVersionHelper */ WOLFSSL_API int wolfSSL_SetMinVersion(WOLFSSL* ssl, int version); + /*! \brief This function returns the size of the WOLFSSL object and will be dependent on build options and settings. If SHOW_SIZES has been defined @@ -7106,6 +7377,7 @@ WOLFSSL_API int wolfSSL_GetObjectSize(void); /* object size based on build */ \sa wolfSSL_GetMaxOutputSize */ WOLFSSL_API int wolfSSL_GetOutputSize(WOLFSSL*, int); + /*! \brief Returns the maximum record layer size for plaintext data. This will correspond to either the maximum SSL/TLS record size as specified @@ -7129,6 +7401,7 @@ WOLFSSL_API int wolfSSL_GetOutputSize(WOLFSSL*, int); \sa wolfSSL_GetOutputSize */ WOLFSSL_API int wolfSSL_GetMaxOutputSize(WOLFSSL*); + /*! \ingroup Setup @@ -7188,6 +7461,7 @@ WOLFSSL_API int wolfSSL_SetVersion(WOLFSSL* ssl, int version); \sa wolfSSL_GetMacEncryptCtx */ WOLFSSL_API void wolfSSL_CTX_SetMacEncryptCb(WOLFSSL_CTX*, CallbackMacEncrypt); + /*! \brief Allows caller to set the Atomic User Record Processing Mac/Encrypt Callback Context to ctx. @@ -7205,6 +7479,7 @@ WOLFSSL_API void wolfSSL_CTX_SetMacEncryptCb(WOLFSSL_CTX*, CallbackMacEncrypt); \sa wolfSSL_GetMacEncryptCtx */ WOLFSSL_API void wolfSSL_SetMacEncryptCtx(WOLFSSL* ssl, void *ctx); + /*! \brief Allows caller to retrieve the Atomic User Record Processing Mac/Encrypt Callback Context previously stored with @@ -7225,6 +7500,7 @@ WOLFSSL_API void wolfSSL_SetMacEncryptCtx(WOLFSSL* ssl, void *ctx); \sa wolfSSL_SetMacEncryptCtx */ WOLFSSL_API void* wolfSSL_GetMacEncryptCtx(WOLFSSL* ssl); + /*! \brief Allows caller to set the Atomic User Record Processing Decrypt/Verify Callback. The callback should return 0 for success @@ -7251,6 +7527,7 @@ WOLFSSL_API void* wolfSSL_GetMacEncryptCtx(WOLFSSL* ssl); */ WOLFSSL_API void wolfSSL_CTX_SetDecryptVerifyCb(WOLFSSL_CTX*, CallbackDecryptVerify); + /*! \brief Allows caller to set the Atomic User Record Processing Decrypt/Verify Callback Context to ctx. @@ -7268,6 +7545,7 @@ WOLFSSL_API void wolfSSL_CTX_SetDecryptVerifyCb(WOLFSSL_CTX*, \sa wolfSSL_GetDecryptVerifyCtx */ WOLFSSL_API void wolfSSL_SetDecryptVerifyCtx(WOLFSSL* ssl, void *ctx); + /*! \brief Allows caller to retrieve the Atomic User Record Processing Decrypt/Verify Callback Context previously stored with @@ -7288,6 +7566,7 @@ WOLFSSL_API void wolfSSL_SetDecryptVerifyCtx(WOLFSSL* ssl, void *ctx); \sa wolfSSL_SetDecryptVerifyCtx */ WOLFSSL_API void* wolfSSL_GetDecryptVerifyCtx(WOLFSSL* ssl); + /*! \brief Allows retrieval of the Hmac/Mac secret from the handshake process. The verify parameter specifies whether this is for verification of a @@ -7308,6 +7587,7 @@ WOLFSSL_API void* wolfSSL_GetDecryptVerifyCtx(WOLFSSL* ssl); \sa wolfSSL_GetHmacSize */ WOLFSSL_API const unsigned char* wolfSSL_GetMacSecret(WOLFSSL*, int); + /*! \brief Allows retrieval of the client write key from the handshake process. @@ -7326,6 +7606,7 @@ WOLFSSL_API const unsigned char* wolfSSL_GetMacSecret(WOLFSSL*, int); \sa wolfSSL_GetClientWriteIV */ WOLFSSL_API const unsigned char* wolfSSL_GetClientWriteKey(WOLFSSL*); + /*! \brief Allows retrieval of the client write IV (initialization vector) from the handshake process. @@ -7345,6 +7626,7 @@ WOLFSSL_API const unsigned char* wolfSSL_GetClientWriteKey(WOLFSSL*); \sa wolfSSL_GetClientWriteKey() */ WOLFSSL_API const unsigned char* wolfSSL_GetClientWriteIV(WOLFSSL*); + /*! \brief Allows retrieval of the server write key from the handshake process. @@ -7363,6 +7645,7 @@ WOLFSSL_API const unsigned char* wolfSSL_GetClientWriteIV(WOLFSSL*); \sa wolfSSL_GetServerWriteIV */ WOLFSSL_API const unsigned char* wolfSSL_GetServerWriteKey(WOLFSSL*); + /*! \brief Allows retrieval of the server write IV (initialization vector) from the handshake process. @@ -7377,6 +7660,7 @@ WOLFSSL_API const unsigned char* wolfSSL_GetServerWriteKey(WOLFSSL*); \sa wolfSSL_GetClientWriteKey */ WOLFSSL_API const unsigned char* wolfSSL_GetServerWriteIV(WOLFSSL*); + /*! \brief Allows retrieval of the key size from the handshake process. @@ -7394,6 +7678,7 @@ WOLFSSL_API const unsigned char* wolfSSL_GetServerWriteIV(WOLFSSL*); \sa wolfSSL_GetServerWriteKey */ WOLFSSL_API int wolfSSL_GetKeySize(WOLFSSL*); + /*! \ingroup CertsKeys @@ -7423,6 +7708,7 @@ WOLFSSL_API int wolfSSL_GetKeySize(WOLFSSL*); \sa wolfSSL_GetServerWriteIV */ WOLFSSL_API int wolfSSL_GetIVSize(WOLFSSL*); + /*! \brief Allows retrieval of the side of this WOLFSSL connection. @@ -7442,6 +7728,7 @@ WOLFSSL_API int wolfSSL_GetIVSize(WOLFSSL*); \sa wolfSSL_GetServerWriteKey */ WOLFSSL_API int wolfSSL_GetSide(WOLFSSL*); + /*! \brief Allows caller to determine if the negotiated protocol version is at least TLS version 1.1 or greater. @@ -7460,6 +7747,7 @@ WOLFSSL_API int wolfSSL_GetSide(WOLFSSL*); \sa wolfSSL_GetSide */ WOLFSSL_API int wolfSSL_IsTLSv1_1(WOLFSSL*); + /*! \brief Allows caller to determine the negotiated bulk cipher algorithm from the handshake. @@ -7481,6 +7769,7 @@ WOLFSSL_API int wolfSSL_IsTLSv1_1(WOLFSSL*); \sa wolfSSL_GetKeySize */ WOLFSSL_API int wolfSSL_GetBulkCipher(WOLFSSL*); + /*! \brief Allows caller to determine the negotiated cipher block size from the handshake. @@ -7500,6 +7789,7 @@ WOLFSSL_API int wolfSSL_GetBulkCipher(WOLFSSL*); \sa wolfSSL_GetKeySize */ WOLFSSL_API int wolfSSL_GetCipherBlockSize(WOLFSSL*); + /*! \brief Allows caller to determine the negotiated aead mac size from the handshake. For cipher type WOLFSSL_AEAD_TYPE. @@ -7519,6 +7809,7 @@ WOLFSSL_API int wolfSSL_GetCipherBlockSize(WOLFSSL*); \sa wolfSSL_GetKeySize */ WOLFSSL_API int wolfSSL_GetAeadMacSize(WOLFSSL*); + /*! \brief Allows caller to determine the negotiated (h)mac size from the handshake. For cipher types except WOLFSSL_AEAD_TYPE. @@ -7538,6 +7829,7 @@ WOLFSSL_API int wolfSSL_GetAeadMacSize(WOLFSSL*); \sa wolfSSL_GetHmacType */ WOLFSSL_API int wolfSSL_GetHmacSize(WOLFSSL*); + /*! \brief Allows caller to determine the negotiated (h)mac type from the handshake. For cipher types except WOLFSSL_AEAD_TYPE. @@ -7558,6 +7850,7 @@ WOLFSSL_API int wolfSSL_GetHmacSize(WOLFSSL*); \sa wolfSSL_GetHmacSize */ WOLFSSL_API int wolfSSL_GetHmacType(WOLFSSL*); + /*! \brief Allows caller to determine the negotiated cipher type from the handshake. @@ -7577,6 +7870,7 @@ WOLFSSL_API int wolfSSL_GetHmacType(WOLFSSL*); \sa wolfSSL_GetHmacType */ WOLFSSL_API int wolfSSL_GetCipherType(WOLFSSL*); + /*! \brief Allows caller to set the Hmac Inner vector for message sending/receiving. The result is written to inner which should @@ -7600,6 +7894,7 @@ WOLFSSL_API int wolfSSL_GetCipherType(WOLFSSL*); */ WOLFSSL_API int wolfSSL_SetTlsHmacInner(WOLFSSL*, unsigned char*, unsigned int, int, int); + /*! \brief Allows caller to set the Public Key Callback for ECC Signing. The callback should return 0 for success or < 0 for an error. @@ -7625,6 +7920,7 @@ WOLFSSL_API int wolfSSL_SetTlsHmacInner(WOLFSSL*, unsigned char \sa wolfSSL_GetEccSignCtx */ WOLFSSL_API void wolfSSL_CTX_SetEccSignCb(WOLFSSL_CTX*, CallbackEccSign); + /*! \brief Allows caller to set the Public Key Ecc Signing Callback Context to ctx. @@ -7642,6 +7938,7 @@ WOLFSSL_API void wolfSSL_CTX_SetEccSignCb(WOLFSSL_CTX*, CallbackEccSign); \sa wolfSSL_GetEccSignCtx */ WOLFSSL_API void wolfSSL_SetEccSignCtx(WOLFSSL* ssl, void *ctx); + /*! \brief Allows caller to retrieve the Public Key Ecc Signing Callback Context previously stored with wolfSSL_SetEccSignCtx(). @@ -7661,6 +7958,7 @@ WOLFSSL_API void wolfSSL_SetEccSignCtx(WOLFSSL* ssl, void *ctx); \sa wolfSSL_SetEccSignCtx */ WOLFSSL_API void* wolfSSL_GetEccSignCtx(WOLFSSL* ssl); + /*! \brief Allows caller to set the Public Key Callback for ECC Verification. The callback should return 0 for success or < 0 for an error. @@ -7686,6 +7984,7 @@ WOLFSSL_API void* wolfSSL_GetEccSignCtx(WOLFSSL* ssl); \sa wolfSSL_GetEccVerifyCtx */ WOLFSSL_API void wolfSSL_CTX_SetEccVerifyCb(WOLFSSL_CTX*, CallbackEccVerify); + /*! \brief Allows caller to set the Public Key Ecc Verification Callback Context to ctx. @@ -7703,6 +8002,7 @@ WOLFSSL_API void wolfSSL_CTX_SetEccVerifyCb(WOLFSSL_CTX*, CallbackEccVerify); \sa wolfSSL_GetEccVerifyCtx */ WOLFSSL_API void wolfSSL_SetEccVerifyCtx(WOLFSSL* ssl, void *ctx); + /*! \brief Allows caller to retrieve the Public Key Ecc Verification Callback Context previously stored with wolfSSL_SetEccVerifyCtx(). @@ -7722,6 +8022,7 @@ WOLFSSL_API void wolfSSL_SetEccVerifyCtx(WOLFSSL* ssl, void *ctx); \sa wolfSSL_SetEccVerifyCtx */ WOLFSSL_API void* wolfSSL_GetEccVerifyCtx(WOLFSSL* ssl); + /*! \brief Allows caller to set the Public Key Callback for RSA Signing. The callback should return 0 for success or < 0 for an error. @@ -7747,6 +8048,7 @@ WOLFSSL_API void* wolfSSL_GetEccVerifyCtx(WOLFSSL* ssl); \sa wolfSSL_GetRsaSignCtx */ WOLFSSL_API void wolfSSL_CTX_SetRsaSignCb(WOLFSSL_CTX*, CallbackRsaSign); + /*! \brief Allows caller to set the Public Key RSA Signing Callback Context to ctx. @@ -7764,6 +8066,7 @@ WOLFSSL_API void wolfSSL_CTX_SetRsaSignCb(WOLFSSL_CTX*, CallbackRsaSign); \sa wolfSSL_GetRsaSignCtx */ WOLFSSL_API void wolfSSL_SetRsaSignCtx(WOLFSSL* ssl, void *ctx); + /*! \brief Allows caller to retrieve the Public Key RSA Signing Callback Context previously stored with wolfSSL_SetRsaSignCtx(). @@ -7784,6 +8087,7 @@ WOLFSSL_API void wolfSSL_SetRsaSignCtx(WOLFSSL* ssl, void *ctx); \sa wolfSSL_SetRsaSignCtx */ WOLFSSL_API void* wolfSSL_GetRsaSignCtx(WOLFSSL* ssl); + /*! \brief Allows caller to set the Public Key Callback for RSA Verification. The callback should return the number of plaintext bytes for success or @@ -7802,6 +8106,7 @@ WOLFSSL_API void* wolfSSL_GetRsaSignCtx(WOLFSSL* ssl); \sa wolfSSL_GetRsaVerifyCtx */ WOLFSSL_API void wolfSSL_CTX_SetRsaVerifyCb(WOLFSSL_CTX*, CallbackRsaVerify); + /*! \brief Allows caller to set the Public Key RSA Verification Callback Context to ctx. @@ -7819,6 +8124,7 @@ WOLFSSL_API void wolfSSL_CTX_SetRsaVerifyCb(WOLFSSL_CTX*, CallbackRsaVerify); \sa wolfSSL_GetRsaVerifyCtx */ WOLFSSL_API void wolfSSL_SetRsaVerifyCtx(WOLFSSL* ssl, void *ctx); + /*! \brief Allows caller to retrieve the Public Key RSA Verification Callback Context previously stored with wolfSSL_SetRsaVerifyCtx(). @@ -7838,6 +8144,7 @@ WOLFSSL_API void wolfSSL_SetRsaVerifyCtx(WOLFSSL* ssl, void *ctx); \sa wolfSSL_SetRsaVerifyCtx */ WOLFSSL_API void* wolfSSL_GetRsaVerifyCtx(WOLFSSL* ssl); + /*! \brief Allows caller to set the Public Key Callback for RSA Public Encrypt. The callback should return 0 for success or < 0 for an error. @@ -7863,6 +8170,7 @@ WOLFSSL_API void* wolfSSL_GetRsaVerifyCtx(WOLFSSL* ssl); \sa wolfSSL_GetRsaEncCtx */ WOLFSSL_API void wolfSSL_CTX_SetRsaEncCb(WOLFSSL_CTX*, CallbackRsaEnc); + /*! \brief Allows caller to set the Public Key RSA Public Encrypt Callback Context to ctx. @@ -7880,6 +8188,7 @@ WOLFSSL_API void wolfSSL_CTX_SetRsaEncCb(WOLFSSL_CTX*, CallbackRsaEnc); \sa wolfSSL_GetRsaEncCtx */ WOLFSSL_API void wolfSSL_SetRsaEncCtx(WOLFSSL* ssl, void *ctx); + /*! \brief Allows caller to retrieve the Public Key RSA Public Encrypt Callback Context previously stored with wolfSSL_SetRsaEncCtx(). @@ -7899,6 +8208,7 @@ WOLFSSL_API void wolfSSL_SetRsaEncCtx(WOLFSSL* ssl, void *ctx); \sa wolfSSL_SetRsaEncCtx */ WOLFSSL_API void* wolfSSL_GetRsaEncCtx(WOLFSSL* ssl); + /*! \brief Allows caller to set the Public Key Callback for RSA Private Decrypt. The callback should return the number of plaintext bytes @@ -7923,6 +8233,7 @@ WOLFSSL_API void* wolfSSL_GetRsaEncCtx(WOLFSSL* ssl); \sa wolfSSL_GetRsaDecCtx */ WOLFSSL_API void wolfSSL_CTX_SetRsaDecCb(WOLFSSL_CTX*, CallbackRsaDec); + /*! \brief Allows caller to set the Public Key RSA Private Decrypt Callback Context to ctx. @@ -7940,6 +8251,7 @@ WOLFSSL_API void wolfSSL_CTX_SetRsaDecCb(WOLFSSL_CTX*, CallbackRsaDec); \sa wolfSSL_GetRsaDecCtx */ WOLFSSL_API void wolfSSL_SetRsaDecCtx(WOLFSSL* ssl, void *ctx); + /*! \brief Allows caller to retrieve the Public Key RSA Private Decrypt Callback Context previously stored with wolfSSL_SetRsaDecCtx(). @@ -7959,6 +8271,7 @@ WOLFSSL_API void wolfSSL_SetRsaDecCtx(WOLFSSL* ssl, void *ctx); \sa wolfSSL_SetRsaDecCtx */ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); + /*! \brief This function registers a callback with the SSL context (WOLFSSL_CTX) to be called when a new CA certificate is loaded @@ -7991,7 +8304,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CTX_load_verify_locations */ - WOLFSSL_API void wolfSSL_CTX_SetCACb(WOLFSSL_CTX*, CallbackCACache); +WOLFSSL_API void wolfSSL_CTX_SetCACb(WOLFSSL_CTX*, CallbackCACache); + /*! \ingroup CertManager \brief Allocates and initializes a new Certificate Manager context. @@ -8006,7 +8320,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerFree */ - WOLFSSL_API WOLFSSL_CERT_MANAGER* wolfSSL_CertManagerNew_ex(void* heap); +WOLFSSL_API WOLFSSL_CERT_MANAGER* wolfSSL_CertManagerNew_ex(void* heap); + /*! \ingroup CertManager \brief Allocates and initializes a new Certificate Manager context. @@ -8032,7 +8347,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerFree */ - WOLFSSL_API WOLFSSL_CERT_MANAGER* wolfSSL_CertManagerNew(void); +WOLFSSL_API WOLFSSL_CERT_MANAGER* wolfSSL_CertManagerNew(void); + /*! \ingroup CertManager \brief Frees all resources associated with the Certificate Manager @@ -8054,7 +8370,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerNew */ - WOLFSSL_API void wolfSSL_CertManagerFree(WOLFSSL_CERT_MANAGER*); +WOLFSSL_API void wolfSSL_CertManagerFree(WOLFSSL_CERT_MANAGER*); + /*! \ingroup CertManager \brief Specifies the locations for CA certificate loading into the @@ -8095,8 +8412,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerVerify */ - WOLFSSL_API int wolfSSL_CertManagerLoadCA(WOLFSSL_CERT_MANAGER*, const char* f, +WOLFSSL_API int wolfSSL_CertManagerLoadCA(WOLFSSL_CERT_MANAGER*, const char* f, const char* d); + /*! \ingroup CertManager \brief Loads the CA Buffer by calling wolfSSL_CTX_load_verify_buffer and @@ -8131,8 +8449,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa ProcessBuffer \sa cm_pick_method */ - WOLFSSL_API int wolfSSL_CertManagerLoadCABuffer(WOLFSSL_CERT_MANAGER*, +WOLFSSL_API int wolfSSL_CertManagerLoadCABuffer(WOLFSSL_CERT_MANAGER*, const unsigned char* in, long sz, int format); + /*! \ingroup CertManager \brief This function unloads the CA signer list. @@ -8159,7 +8478,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa FreeSignerTable \sa UnlockMutex */ - WOLFSSL_API int wolfSSL_CertManagerUnloadCAs(WOLFSSL_CERT_MANAGER* cm); +WOLFSSL_API int wolfSSL_CertManagerUnloadCAs(WOLFSSL_CERT_MANAGER* cm); + /*! \ingroup CertManager \brief The function will free the Trusted Peer linked list and unlocks @@ -8187,7 +8507,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa UnLockMutex */ - WOLFSSL_API int wolfSSL_CertManagerUnload_trust_peers(WOLFSSL_CERT_MANAGER* cm); +WOLFSSL_API int wolfSSL_CertManagerUnload_trust_peers(WOLFSSL_CERT_MANAGER* cm); + /*! \ingroup CertManager \brief Specifies the certificate to verify with the Certificate Manager @@ -8237,8 +8558,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerLoadCA \sa wolfSSL_CertManagerVerifyBuffer */ - WOLFSSL_API int wolfSSL_CertManagerVerify(WOLFSSL_CERT_MANAGER*, const char* f, +WOLFSSL_API int wolfSSL_CertManagerVerify(WOLFSSL_CERT_MANAGER*, const char* f, int format); + /*! \ingroup CertManager \brief Specifies the certificate buffer to verify with the Certificate @@ -8292,8 +8614,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerLoadCA \sa wolfSSL_CertManagerVerify */ - WOLFSSL_API int wolfSSL_CertManagerVerifyBuffer(WOLFSSL_CERT_MANAGER* cm, +WOLFSSL_API int wolfSSL_CertManagerVerifyBuffer(WOLFSSL_CERT_MANAGER* cm, const unsigned char* buff, long sz, int format); + /*! \brief Check CRL if the option is enabled and compares the cert to the CRL list. @@ -8323,8 +8646,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerSetCRL_CB \sa InitDecodedCert */ - WOLFSSL_API int wolfSSL_CertManagerCheckCRL(WOLFSSL_CERT_MANAGER*, +WOLFSSL_API int wolfSSL_CertManagerCheckCRL(WOLFSSL_CERT_MANAGER*, unsigned char*, int sz); + /*! \ingroup CertManager \brief Turns on Certificate Revocation List checking when verifying @@ -8364,8 +8688,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerDisableCRL */ - WOLFSSL_API int wolfSSL_CertManagerEnableCRL(WOLFSSL_CERT_MANAGER*, +WOLFSSL_API int wolfSSL_CertManagerEnableCRL(WOLFSSL_CERT_MANAGER*, int options); + /*! \ingroup CertManager \brief Turns off Certificate Revocation List checking when verifying @@ -8397,7 +8722,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerEnableCRL */ - WOLFSSL_API int wolfSSL_CertManagerDisableCRL(WOLFSSL_CERT_MANAGER*); +WOLFSSL_API int wolfSSL_CertManagerDisableCRL(WOLFSSL_CERT_MANAGER*); + /*! \ingroup CertManager \brief Error checks and passes through to LoadCRL() in order to load the @@ -8430,8 +8756,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerEnableCRL \sa wolfSSL_LoadCRL */ - WOLFSSL_API int wolfSSL_CertManagerLoadCRL(WOLFSSL_CERT_MANAGER*, +WOLFSSL_API int wolfSSL_CertManagerLoadCRL(WOLFSSL_CERT_MANAGER*, const char*, int, int); + /*! \ingroup CertManager \brief The function loads the CRL file by calling BufferLoadCRL. @@ -8466,8 +8793,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa BufferLoadCRL \sa wolfSSL_CertManagerEnableCRL */ - WOLFSSL_API int wolfSSL_CertManagerLoadCRLBuffer(WOLFSSL_CERT_MANAGER*, +WOLFSSL_API int wolfSSL_CertManagerLoadCRLBuffer(WOLFSSL_CERT_MANAGER*, const unsigned char*, long sz, int); + /*! \ingroup CertManager \brief This function sets the CRL Certificate Manager callback. If @@ -8505,8 +8833,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa CbMissingCRL \sa wolfSSL_SetCRL_Cb */ - WOLFSSL_API int wolfSSL_CertManagerSetCRL_Cb(WOLFSSL_CERT_MANAGER*, +WOLFSSL_API int wolfSSL_CertManagerSetCRL_Cb(WOLFSSL_CERT_MANAGER*, CbMissingCRL); + /*! \ingroup CertManager \brief The function enables the WOLFSSL_CERT_MANAGER’s member, ocspEnabled @@ -8540,8 +8869,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa ParseCertRelative \sa CheckCertOCSP */ - WOLFSSL_API int wolfSSL_CertManagerCheckOCSP(WOLFSSL_CERT_MANAGER*, +WOLFSSL_API int wolfSSL_CertManagerCheckOCSP(WOLFSSL_CERT_MANAGER*, unsigned char*, int sz); + /*! \ingroup CertManager \brief Turns on OCSP if it’s turned off and if compiled with the @@ -8574,8 +8904,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerNew */ - WOLFSSL_API int wolfSSL_CertManagerEnableOCSP(WOLFSSL_CERT_MANAGER*, +WOLFSSL_API int wolfSSL_CertManagerEnableOCSP(WOLFSSL_CERT_MANAGER*, int options); + /*! \ingroup CertManager \brief Disables OCSP certificate revocation. @@ -8600,7 +8931,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_DisableCRL */ - WOLFSSL_API int wolfSSL_CertManagerDisableOCSP(WOLFSSL_CERT_MANAGER*); +WOLFSSL_API int wolfSSL_CertManagerDisableOCSP(WOLFSSL_CERT_MANAGER*); + /*! \ingroup CertManager \brief The function copies the url to the ocspOverrideURL member of the @@ -8629,8 +8961,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa ocspOverrideURL \sa wolfSSL_SetOCSP_OverrideURL */ - WOLFSSL_API int wolfSSL_CertManagerSetOCSPOverrideURL(WOLFSSL_CERT_MANAGER*, +WOLFSSL_API int wolfSSL_CertManagerSetOCSPOverrideURL(WOLFSSL_CERT_MANAGER*, const char*); + /*! \ingroup CertManager \brief The function sets the OCSP callback in the WOLFSSL_CERT_MANAGER. @@ -8662,8 +8995,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_DisableOCSP \sa wolfSSL_SetOCSP_Cb */ - WOLFSSL_API int wolfSSL_CertManagerSetOCSP_Cb(WOLFSSL_CERT_MANAGER*, +WOLFSSL_API int wolfSSL_CertManagerSetOCSP_Cb(WOLFSSL_CERT_MANAGER*, CbOCSPIO, CbOCSPRespFree, void*); + /*! \ingroup CertManager \brief This function turns on OCSP stapling if it is not turned on as well @@ -8692,8 +9026,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CTX_EnableOCSPStapling */ - WOLFSSL_API int wolfSSL_CertManagerEnableOCSPStapling( +WOLFSSL_API int wolfSSL_CertManagerEnableOCSPStapling( WOLFSSL_CERT_MANAGER* cm); + /*! \brief Enables CRL certificate revocation. @@ -8721,7 +9056,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerEnableCRL \sa InitCRL */ - WOLFSSL_API int wolfSSL_EnableCRL(WOLFSSL* ssl, int options); +WOLFSSL_API int wolfSSL_EnableCRL(WOLFSSL* ssl, int options); + /*! \brief Disables CRL certificate revocation. @@ -8744,7 +9080,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerDisableCRL \sa wolfSSL_CertManagerDisableOCSP */ - WOLFSSL_API int wolfSSL_DisableCRL(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_DisableCRL(WOLFSSL* ssl); + /*! \brief A wrapper function that ends up calling LoadCRL to load the certificate for revocation checking. @@ -8777,7 +9114,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerEnableCRL \sa LoadCRL */ - WOLFSSL_API int wolfSSL_LoadCRL(WOLFSSL*, const char*, int, int); +WOLFSSL_API int wolfSSL_LoadCRL(WOLFSSL*, const char*, int, int); + /*! \brief Sets the CRL callback in the WOLFSSL_CERT_MANAGER structure. @@ -8808,7 +9146,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa CbMissingCRL \sa wolfSSL_CertManagerSetCRL_Cb */ - WOLFSSL_API int wolfSSL_SetCRL_Cb(WOLFSSL*, CbMissingCRL); +WOLFSSL_API int wolfSSL_SetCRL_Cb(WOLFSSL*, CbMissingCRL); + /*! \brief This function enables OCSP certificate verification. @@ -8839,7 +9178,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerEnableOCSP */ - WOLFSSL_API int wolfSSL_EnableOCSP(WOLFSSL*, int options); +WOLFSSL_API int wolfSSL_EnableOCSP(WOLFSSL*, int options); + /*! \brief Disables the OCSP certificate revocation option. @@ -8861,7 +9201,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerDisableOCSP */ - WOLFSSL_API int wolfSSL_DisableOCSP(WOLFSSL*); +WOLFSSL_API int wolfSSL_DisableOCSP(WOLFSSL*); + /*! \brief This function sets the ocspOverrideURL member in the WOLFSSL_CERT_MANAGER structure. @@ -8889,7 +9230,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerSetOCSPOverrideURL */ - WOLFSSL_API int wolfSSL_SetOCSP_OverrideURL(WOLFSSL*, const char*); +WOLFSSL_API int wolfSSL_SetOCSP_OverrideURL(WOLFSSL*, const char*); + /*! \brief This function sets the OCSP callback in the WOLFSSL_CERT_MANAGER structure. @@ -8932,7 +9274,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa CbOCSPIO \sa CbOCSPRespFree */ - WOLFSSL_API int wolfSSL_SetOCSP_Cb(WOLFSSL*, CbOCSPIO, CbOCSPRespFree, void*); +WOLFSSL_API int wolfSSL_SetOCSP_Cb(WOLFSSL*, CbOCSPIO, CbOCSPRespFree, void*); + /*! \brief Enables CRL certificate verification through the CTX. @@ -8962,7 +9305,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa InitCRL \sa wolfSSL_CTX_DisableCRL */ - WOLFSSL_API int wolfSSL_CTX_EnableCRL(WOLFSSL_CTX* ctx, int options); +WOLFSSL_API int wolfSSL_CTX_EnableCRL(WOLFSSL_CTX* ctx, int options); + /*! \brief This function disables CRL verification in the CTX structure. @@ -8986,7 +9330,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerDisableCRL */ - WOLFSSL_API int wolfSSL_CTX_DisableCRL(WOLFSSL_CTX* ctx); +WOLFSSL_API int wolfSSL_CTX_DisableCRL(WOLFSSL_CTX* ctx); + /*! \brief This function loads CRL into the WOLFSSL_CTX structure through wolfSSL_CertManagerLoadCRL(). @@ -9016,7 +9361,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerLoadCRL \sa LoadCRL */ - WOLFSSL_API int wolfSSL_CTX_LoadCRL(WOLFSSL_CTX*, const char*, int, int); +WOLFSSL_API int wolfSSL_CTX_LoadCRL(WOLFSSL_CTX*, const char*, int, int); + /*! \brief This function will set the callback argument to the cbMissingCRL member of the WOLFSSL_CERT_MANAGER structure by calling @@ -9051,7 +9397,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerSetCRL_Cb \sa CbMissingCRL */ - WOLFSSL_API int wolfSSL_CTX_SetCRL_Cb(WOLFSSL_CTX*, CbMissingCRL); +WOLFSSL_API int wolfSSL_CTX_SetCRL_Cb(WOLFSSL_CTX*, CbMissingCRL); + /*! \brief This function sets options to configure behavior of OCSP functionality in wolfSSL. The value of options if formed by or’ing @@ -9079,7 +9426,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CTX_OCSP_set_override_url */ - WOLFSSL_API int wolfSSL_CTX_EnableOCSP(WOLFSSL_CTX*, int options); +WOLFSSL_API int wolfSSL_CTX_EnableOCSP(WOLFSSL_CTX*, int options); + /*! \brief This function disables OCSP certificate revocation checking by affecting the ocspEnabled member of the WOLFSSL_CERT_MANAGER structure. @@ -9104,7 +9452,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_DisableOCSP \sa wolfSSL_CertManagerDisableOCSP */ - WOLFSSL_API int wolfSSL_CTX_DisableOCSP(WOLFSSL_CTX*); +WOLFSSL_API int wolfSSL_CTX_DisableOCSP(WOLFSSL_CTX*); + /*! \brief This function manually sets the URL for OCSP to use. By default, OCSP will use the URL found in the individual certificate unless the @@ -9127,7 +9476,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CTX_OCSP_set_options */ - WOLFSSL_API int wolfSSL_CTX_SetOCSP_OverrideURL(WOLFSSL_CTX*, const char*); +WOLFSSL_API int wolfSSL_CTX_SetOCSP_OverrideURL(WOLFSSL_CTX*, const char*); + /*! \brief Sets the callback for the OCSP in the WOLFSSL_CTX structure. @@ -9163,8 +9513,9 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa CbOCSPIO \sa CbOCSPRespFree */ - WOLFSSL_API int wolfSSL_CTX_SetOCSP_Cb(WOLFSSL_CTX*, +WOLFSSL_API int wolfSSL_CTX_SetOCSP_Cb(WOLFSSL_CTX*, CbOCSPIO, CbOCSPRespFree, void*); + /*! \brief This function enables OCSP stapling by calling wolfSSL_CertManagerEnableOCSPStapling(). @@ -9195,7 +9546,8 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_CertManagerEnableOCSPStapling \sa InitOCSP */ - WOLFSSL_API int wolfSSL_CTX_EnableOCSPStapling(WOLFSSL_CTX*); +WOLFSSL_API int wolfSSL_CTX_EnableOCSPStapling(WOLFSSL_CTX*); + /*! \ingroup CertsKeys @@ -9221,6 +9573,7 @@ WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); \sa wolfSSL_FreeArrays */ WOLFSSL_API void wolfSSL_KeepArrays(WOLFSSL*); + /*! \ingroup CertsKeys @@ -9245,6 +9598,7 @@ WOLFSSL_API void wolfSSL_KeepArrays(WOLFSSL*); \sa wolfSSL_KeepArrays */ WOLFSSL_API void wolfSSL_FreeArrays(WOLFSSL*); + /*! \brief This function enables the use of Server Name Indication in the SSL object passed in the 'ssl' parameter. It means that the SNI extension will @@ -9288,6 +9642,7 @@ WOLFSSL_API void wolfSSL_FreeArrays(WOLFSSL*); */ WOLFSSL_API int wolfSSL_UseSNI(WOLFSSL* ssl, unsigned char type, const void* data, unsigned short size); + /*! \brief This function enables the use of Server Name Indication for SSL objects created from the SSL context passed in the 'ctx' parameter. It @@ -9326,6 +9681,7 @@ WOLFSSL_API int wolfSSL_UseSNI(WOLFSSL* ssl, unsigned char type, */ WOLFSSL_API int wolfSSL_CTX_UseSNI(WOLFSSL_CTX* ctx, unsigned char type, const void* data, unsigned short size); + /*! \brief This function is called on the server side to configure the behavior of the SSL session using Server Name Indication in the SSL @@ -9374,6 +9730,7 @@ WOLFSSL_API int wolfSSL_CTX_UseSNI(WOLFSSL_CTX* ctx, unsigned char type, */ WOLFSSL_API void wolfSSL_SNI_SetOptions(WOLFSSL* ssl, unsigned char type, unsigned char options); + /*! \brief This function is called on the server side to configure the behavior of the SSL sessions using Server Name Indication for SSL objects created @@ -9418,6 +9775,7 @@ WOLFSSL_API void wolfSSL_SNI_SetOptions(WOLFSSL* ssl, unsigned char type, */ WOLFSSL_API void wolfSSL_CTX_SNI_SetOptions(WOLFSSL_CTX* ctx, unsigned char type, unsigned char options); + /*! \brief This function is called on the server side to retrieve the Server Name Indication provided by the client from the Client Hello message sent @@ -9459,6 +9817,7 @@ WOLFSSL_API void wolfSSL_CTX_SNI_SetOptions(WOLFSSL_CTX* ctx, WOLFSSL_API int wolfSSL_SNI_GetFromBuffer( const unsigned char* clientHello, unsigned int helloSz, unsigned char type, unsigned char* sni, unsigned int* inOutSz); + /*! \ingroup IO @@ -9489,6 +9848,7 @@ WOLFSSL_API int wolfSSL_SNI_GetFromBuffer( \sa TLSX_Find */ WOLFSSL_API unsigned char wolfSSL_SNI_Status(WOLFSSL* ssl, unsigned char type); + /*! \brief This function is called on the server side to retrieve the Server Name Indication provided by the client in a SSL session. @@ -9528,6 +9888,7 @@ WOLFSSL_API unsigned char wolfSSL_SNI_Status(WOLFSSL* ssl, unsigned char type); */ WOLFSSL_API unsigned short wolfSSL_SNI_GetRequest(WOLFSSL *ssl, unsigned char type, void** data); + /*! \ingroup Setup @@ -9570,6 +9931,7 @@ WOLFSSL_API unsigned short wolfSSL_SNI_GetRequest(WOLFSSL *ssl, WOLFSSL_API int wolfSSL_UseALPN(WOLFSSL* ssl, char *protocol_name_list, unsigned int protocol_name_listSz, unsigned char options); + /*! \ingroup TLS @@ -9610,6 +9972,7 @@ WOLFSSL_API int wolfSSL_UseALPN(WOLFSSL* ssl, char *protocol_name_list, */ WOLFSSL_API int wolfSSL_ALPN_GetProtocol(WOLFSSL* ssl, char **protocol_name, unsigned short *size); + /*! \ingroup TLS @@ -9652,6 +10015,7 @@ WOLFSSL_API int wolfSSL_ALPN_GetProtocol(WOLFSSL* ssl, char **protocol_name, */ WOLFSSL_API int wolfSSL_ALPN_GetPeerProtocol(WOLFSSL* ssl, char **list, unsigned short *listSz); + /*! \brief This function is called on the client side to enable the use of Maximum Fragment Length in the SSL object passed in the 'ssl' parameter. @@ -9693,6 +10057,7 @@ WOLFSSL_API int wolfSSL_ALPN_GetPeerProtocol(WOLFSSL* ssl, char **list, \sa wolfSSL_CTX_UseMaxFragment */ WOLFSSL_API int wolfSSL_UseMaxFragment(WOLFSSL* ssl, unsigned char mfl); + /*! \brief This function is called on the client side to enable the use of Maximum Fragment Length for SSL objects created from the SSL context @@ -9729,6 +10094,7 @@ WOLFSSL_API int wolfSSL_UseMaxFragment(WOLFSSL* ssl, unsigned char mfl); \sa wolfSSL_UseMaxFragment */ WOLFSSL_API int wolfSSL_CTX_UseMaxFragment(WOLFSSL_CTX* ctx, unsigned char mfl); + /*! \brief This function is called on the client side to enable the use of Truncated HMAC in the SSL object passed in the 'ssl' parameter. It @@ -9765,6 +10131,7 @@ WOLFSSL_API int wolfSSL_CTX_UseMaxFragment(WOLFSSL_CTX* ctx, unsigned char mfl); \sa wolfSSL_CTX_UseMaxFragment */ WOLFSSL_API int wolfSSL_UseTruncatedHMAC(WOLFSSL* ssl); + /*! \brief This function is called on the client side to enable the use of Truncated HMAC for SSL objects created from the SSL context passed in @@ -9796,6 +10163,7 @@ WOLFSSL_API int wolfSSL_UseTruncatedHMAC(WOLFSSL* ssl); \sa wolfSSL_UseMaxFragment */ WOLFSSL_API int wolfSSL_CTX_UseTruncatedHMAC(WOLFSSL_CTX* ctx); + /*! \brief Stapling eliminates the need to contact the CA. Stapling lowers the cost of certificate revocation check presented in OCSP. @@ -9830,6 +10198,7 @@ WOLFSSL_API int wolfSSL_CTX_UseTruncatedHMAC(WOLFSSL_CTX* ctx); */ WOLFSSL_API int wolfSSL_UseOCSPStapling(WOLFSSL* ssl, unsigned char status_type, unsigned char options); + /*! \brief This function requests the certificate status during the handshake. @@ -9870,6 +10239,7 @@ WOLFSSL_API int wolfSSL_UseOCSPStapling(WOLFSSL* ssl, */ WOLFSSL_API int wolfSSL_CTX_UseOCSPStapling(WOLFSSL_CTX* ctx, unsigned char status_type, unsigned char options); + /*! \brief The function sets the status type and options for OCSP. @@ -9899,6 +10269,7 @@ WOLFSSL_API int wolfSSL_CTX_UseOCSPStapling(WOLFSSL_CTX* ctx, */ WOLFSSL_API int wolfSSL_UseOCSPStaplingV2(WOLFSSL* ssl, unsigned char status_type, unsigned char options); + /*! \brief Creates and initializes the certificate status request for OCSP Stapling. @@ -9933,6 +10304,7 @@ WOLFSSL_API int wolfSSL_UseOCSPStaplingV2(WOLFSSL* ssl, */ WOLFSSL_API int wolfSSL_CTX_UseOCSPStaplingV2(WOLFSSL_CTX* ctx, unsigned char status_type, unsigned char options); + /*! \brief This function is called on the client side to enable the use of Supported Elliptic Curves Extension in the SSL object passed in the 'ssl' @@ -9975,6 +10347,7 @@ WOLFSSL_API int wolfSSL_CTX_UseOCSPStaplingV2(WOLFSSL_CTX* ctx, \sa wolfSSL_CTX_UseSupportedCurve */ WOLFSSL_API int wolfSSL_UseSupportedCurve(WOLFSSL* ssl, unsigned short name); + /*! \brief This function is called on the client side to enable the use of Supported Elliptic Curves Extension for SSL objects created from the SSL @@ -10013,6 +10386,7 @@ WOLFSSL_API int wolfSSL_UseSupportedCurve(WOLFSSL* ssl, unsigned short name); */ WOLFSSL_API int wolfSSL_CTX_UseSupportedCurve(WOLFSSL_CTX* ctx, unsigned short name); + /*! \ingroup IO @@ -10045,6 +10419,7 @@ WOLFSSL_API int wolfSSL_CTX_UseSupportedCurve(WOLFSSL_CTX* ctx, \sa TLSX_UseSecureRenegotiation */ WOLFSSL_API int wolfSSL_UseSecureRenegotiation(WOLFSSL* ssl); + /*! \ingroup IO @@ -10079,6 +10454,7 @@ WOLFSSL_API int wolfSSL_UseSecureRenegotiation(WOLFSSL* ssl); \sa wc_InitMd5 */ WOLFSSL_API int wolfSSL_Rehandshake(WOLFSSL* ssl); + /*! \ingroup IO @@ -10110,6 +10486,7 @@ WOLFSSL_API int wolfSSL_Rehandshake(WOLFSSL* ssl); \sa TLSX_UseSessionTicket */ WOLFSSL_API int wolfSSL_UseSessionTicket(WOLFSSL* ssl); + /*! \ingroup Setup @@ -10137,6 +10514,7 @@ WOLFSSL_API int wolfSSL_UseSessionTicket(WOLFSSL* ssl); \sa TLSX_UseSessionTicket */ WOLFSSL_API int wolfSSL_CTX_UseSessionTicket(WOLFSSL_CTX* ctx); + /*! \ingroup IO @@ -10169,6 +10547,7 @@ WOLFSSL_API int wolfSSL_CTX_UseSessionTicket(WOLFSSL_CTX* ctx); \sa wolfSSL_set_SessionTicket */ WOLFSSL_API int wolfSSL_get_SessionTicket(WOLFSSL*, unsigned char*, unsigned int*); + /*! \ingroup IO @@ -10202,6 +10581,7 @@ WOLFSSL_API int wolfSSL_get_SessionTicket(WOLFSSL*, unsigned char*, unsigned int \sa wolfSSL_set_SessionTicket_cb */ WOLFSSL_API int wolfSSL_set_SessionTicket(WOLFSSL*, const unsigned char*, unsigned int); + /*! \brief This function sets the session ticket callback. The type CallbackSessionTicket is a function pointer with the signature of: @@ -10231,6 +10611,7 @@ WOLFSSL_API int wolfSSL_set_SessionTicket(WOLFSSL*, const unsigned char*, unsign */ WOLFSSL_API int wolfSSL_set_SessionTicket_cb(WOLFSSL*, CallbackSessionTicket, void*); + /*! \brief This function sets the session ticket key encrypt callback function for a server to support session tickets as specified in RFC 5077. @@ -10283,6 +10664,7 @@ WOLFSSL_API int wolfSSL_set_SessionTicket_cb(WOLFSSL*, */ WOLFSSL_API int wolfSSL_CTX_set_TicketEncCb(WOLFSSL_CTX* ctx, SessionTicketEncCb); + /*! \brief This function sets the session ticket hint relayed to the client. For server side use. @@ -10302,6 +10684,7 @@ WOLFSSL_API int wolfSSL_CTX_set_TicketEncCb(WOLFSSL_CTX* ctx, \sa wolfSSL_CTX_set_TicketEncCb */ WOLFSSL_API int wolfSSL_CTX_set_TicketHint(WOLFSSL_CTX* ctx, int); + /*! \brief This function sets the session ticket encrypt user context for the callback. For server side use. @@ -10322,6 +10705,7 @@ WOLFSSL_API int wolfSSL_CTX_set_TicketHint(WOLFSSL_CTX* ctx, int); \sa wolfSSL_CTX_set_TicketEncCb */ WOLFSSL_API int wolfSSL_CTX_set_TicketEncCtx(WOLFSSL_CTX* ctx, void*); + /*! \ingroup IO @@ -10350,6 +10734,7 @@ WOLFSSL_API int wolfSSL_CTX_set_TicketEncCtx(WOLFSSL_CTX* ctx, void*); \sa wolfSSL_UseSupportedQSH */ WOLFSSL_API int wolfSSL_isQSH(WOLFSSL* ssl); + /*! \ingroup Setup @@ -10384,6 +10769,7 @@ WOLFSSL_API int wolfSSL_isQSH(WOLFSSL* ssl); \sa TLSX_UseQSHScheme */ WOLFSSL_API int wolfSSL_UseSupportedQSH(WOLFSSL* ssl, unsigned short name); + /*! \ingroup CertsKeys @@ -10411,7 +10797,8 @@ WOLFSSL_API int wolfSSL_UseSupportedQSH(WOLFSSL* ssl, unsigned short name); \sa wolfSSL_UseSupportedQSH \sa wolfSSL_isQSH */ - WOLFSSL_API int wolfSSL_UseClientQSHKeys(WOLFSSL* ssl, unsigned char flag); +WOLFSSL_API int wolfSSL_UseClientQSHKeys(WOLFSSL* ssl, unsigned char flag); + /*! \brief This function sets the handshake done callback. The hsDoneCb and hsDoneCtx members of the WOLFSSL structure are set in this function. @@ -10440,6 +10827,7 @@ WOLFSSL_API int wolfSSL_UseSupportedQSH(WOLFSSL* ssl, unsigned short name); \sa HandShakeDoneCb */ WOLFSSL_API int wolfSSL_SetHsDoneCb(WOLFSSL*, HandShakeDoneCb, void*); + /*! \ingroup IO @@ -10465,6 +10853,7 @@ WOLFSSL_API int wolfSSL_SetHsDoneCb(WOLFSSL*, HandShakeDoneCb, void*); \sa wolfSSL_get_session_stats */ WOLFSSL_API int wolfSSL_PrintSessionStats(void); + /*! \ingroup IO @@ -10498,6 +10887,7 @@ WOLFSSL_API int wolfSSL_get_session_stats(unsigned int* active, unsigned int* total, unsigned int* peak, unsigned int* maxSessions); + /*! \ingroup TLS @@ -10548,6 +10938,7 @@ int wolfSSL_MakeTlsMasterSecret(unsigned char* ms, unsigned int msLen, const unsigned char* pms, unsigned int pmsLen, const unsigned char* cr, const unsigned char* sr, int tls1_2, int hash_type); + /*! \ingroup CertsKeys @@ -10595,6 +10986,7 @@ int wolfSSL_DeriveTlsKeys(unsigned char* key_data, unsigned int keyLen, const unsigned char* ms, unsigned int msLen, const unsigned char* sr, const unsigned char* cr, int tls1_2, int hash_type); + /*! \brief wolfSSL_connect_ex() is an extension that allows a HandShake Callback to be set. This can be useful in @@ -10628,6 +11020,7 @@ int wolfSSL_DeriveTlsKeys(unsigned char* key_data, unsigned int keyLen, */ WOLFSSL_API int wolfSSL_connect_ex(WOLFSSL*, HandShakeCallBack, TimeoutCallBack, Timeval); + /*! \brief wolfSSL_accept_ex() is an extension that allows a HandShake Callback to be set. This can be useful in embedded systems for debugging support @@ -10659,6 +11052,7 @@ WOLFSSL_API int wolfSSL_connect_ex(WOLFSSL*, HandShakeCallBack, TimeoutCallBack, */ WOLFSSL_API int wolfSSL_accept_ex(WOLFSSL*, HandShakeCallBack, TimeoutCallBack, Timeval); + /*! \ingroup IO @@ -10687,6 +11081,7 @@ WOLFSSL_API int wolfSSL_accept_ex(WOLFSSL*, HandShakeCallBack, TimeoutCallBack, \sa wolfSSL_BIO_free */ WOLFSSL_API long wolfSSL_BIO_set_fp(WOLFSSL_BIO *bio, XFILE fp, int c); + /*! \ingroup IO @@ -10714,6 +11109,7 @@ WOLFSSL_API long wolfSSL_BIO_set_fp(WOLFSSL_BIO *bio, XFILE fp, int c); \sa wolfSSL_BIO_free */ WOLFSSL_API long wolfSSL_BIO_get_fp(WOLFSSL_BIO *bio, XFILE* fp); + /*! \ingroup Setup @@ -10739,6 +11135,7 @@ WOLFSSL_API long wolfSSL_BIO_get_fp(WOLFSSL_BIO *bio, XFILE* fp); \sa wolfSSL_free */ WOLFSSL_API int wolfSSL_check_private_key(const WOLFSSL* ssl); + /*! \ingroup CertsKeys @@ -10771,6 +11168,7 @@ WOLFSSL_API int wolfSSL_check_private_key(const WOLFSSL* ssl); */ WOLFSSL_API void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c, int* idx); + /*! \ingroup CertsKeys @@ -10799,6 +11197,7 @@ WOLFSSL_API void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, */ WOLFSSL_API int wolfSSL_X509_digest(const WOLFSSL_X509* x509, const WOLFSSL_EVP_MD* digest, unsigned char* buf, unsigned int* len); + /*! \ingroup Setup @@ -10824,6 +11223,7 @@ WOLFSSL_API int wolfSSL_X509_digest(const WOLFSSL_X509* x509, \sa wolfSSL_free */ WOLFSSL_API int wolfSSL_use_certificate(WOLFSSL* ssl, WOLFSSL_X509* x509); + /*! \ingroup Setup @@ -10853,6 +11253,7 @@ WOLFSSL_API int wolfSSL_use_certificate(WOLFSSL* ssl, WOLFSSL_X509* x509); */ WOLFSSL_API int wolfSSL_use_certificate_ASN1(WOLFSSL* ssl, unsigned char* der, int derSz); + /*! \ingroup CertsKeys @@ -10879,6 +11280,7 @@ WOLFSSL_API int wolfSSL_use_certificate_ASN1(WOLFSSL* ssl, unsigned char* der, \sa wolfSSL_free */ WOLFSSL_API int wolfSSL_use_PrivateKey(WOLFSSL* ssl, WOLFSSL_EVP_PKEY* pkey); + /*! \ingroup CertsKeys @@ -10912,6 +11314,7 @@ WOLFSSL_API int wolfSSL_use_PrivateKey(WOLFSSL* ssl, WOLFSSL_EVP_PKEY* pkey); */ WOLFSSL_API int wolfSSL_use_PrivateKey_ASN1(int pri, WOLFSSL* ssl, unsigned char* der, long derSz); + /*! \ingroup CertsKeys @@ -10944,6 +11347,7 @@ WOLFSSL_API int wolfSSL_use_PrivateKey_ASN1(int pri, WOLFSSL* ssl, */ WOLFSSL_API int wolfSSL_use_RSAPrivateKey_ASN1(WOLFSSL* ssl, unsigned char* der, long derSz); + /*! \ingroup CertsKeys @@ -10968,6 +11372,7 @@ WOLFSSL_API int wolfSSL_use_RSAPrivateKey_ASN1(WOLFSSL* ssl, unsigned char* der, \sa none */ WOLFSSL_API WOLFSSL_DH *wolfSSL_DSA_dup_DH(const WOLFSSL_DSA *r); + /*! \ingroup Setup @@ -11001,6 +11406,7 @@ WOLFSSL_API WOLFSSL_DH *wolfSSL_DSA_dup_DH(const WOLFSSL_DSA *r); */ WOLFSSL_API int wolfSSL_SESSION_get_master_key(const WOLFSSL_SESSION* ses, unsigned char* out, int outSz); + /*! \ingroup Setup @@ -11026,6 +11432,7 @@ WOLFSSL_API int wolfSSL_SESSION_get_master_key(const WOLFSSL_SESSION* ses, \sa wolfSSL_free */ WOLFSSL_API int wolfSSL_SESSION_get_master_key_length(const WOLFSSL_SESSION* ses); + /*! \ingroup Setup @@ -11052,6 +11459,7 @@ WOLFSSL_API int wolfSSL_SESSION_get_master_key_length(const WOLFSSL_SESSION* ses */ WOLFSSL_API void wolfSSL_CTX_set_cert_store(WOLFSSL_CTX* ctx, WOLFSSL_X509_STORE* str); + /*! \ingroup CertsKeys @@ -11079,6 +11487,7 @@ WOLFSSL_API void wolfSSL_CTX_set_cert_store(WOLFSSL_CTX* ctx, \sa none */ WOLFSSL_X509* wolfSSL_d2i_X509_bio(WOLFSSL_BIO* bio, WOLFSSL_X509** x509); + /*! \ingroup Setup @@ -11105,6 +11514,7 @@ WOLFSSL_X509* wolfSSL_d2i_X509_bio(WOLFSSL_BIO* bio, WOLFSSL_X509** x509); \sa wolfSSL_CTX_set_cert_store */ WOLFSSL_API WOLFSSL_X509_STORE* wolfSSL_CTX_get_cert_store(WOLFSSL_CTX* ctx); + /*! \ingroup IO @@ -11131,6 +11541,7 @@ WOLFSSL_API WOLFSSL_X509_STORE* wolfSSL_CTX_get_cert_store(WOLFSSL_CTX* ctx); \sa wolfSSL_BIO_new */ WOLFSSL_API size_t wolfSSL_BIO_ctrl_pending(WOLFSSL_BIO *b); + /*! \ingroup Setup @@ -11164,6 +11575,7 @@ WOLFSSL_API size_t wolfSSL_BIO_ctrl_pending(WOLFSSL_BIO *b); */ WOLFSSL_API size_t wolfSSL_get_server_random(const WOLFSSL *ssl, unsigned char *out, size_t outlen); + /*! \ingroup Setup @@ -11197,6 +11609,7 @@ WOLFSSL_API size_t wolfSSL_get_server_random(const WOLFSSL *ssl, */ WOLFSSL_API size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, size_t outSz); + /*! \ingroup Setup @@ -11220,6 +11633,7 @@ WOLFSSL_API size_t wolfSSL_get_client_random(const WOLFSSL* ssl, \sa wolfSSL_CTX_free */ WOLFSSL_API pem_password_cb* wolfSSL_CTX_get_default_passwd_cb(WOLFSSL_CTX *ctx); + /*! \ingroup Setup @@ -11244,6 +11658,7 @@ WOLFSSL_API pem_password_cb* wolfSSL_CTX_get_default_passwd_cb(WOLFSSL_CTX *ctx) \sa wolfSSL_CTX_free */ WOLFSSL_API void *wolfSSL_CTX_get_default_passwd_cb_userdata(WOLFSSL_CTX *ctx); + /*! \ingroup CertsKeys @@ -11273,6 +11688,7 @@ WOLFSSL_API void *wolfSSL_CTX_get_default_passwd_cb_userdata(WOLFSSL_CTX *ctx); */ WOLFSSL_API WOLFSSL_X509 *wolfSSL_PEM_read_bio_X509_AUX (WOLFSSL_BIO *bp, WOLFSSL_X509 **x, pem_password_cb *cb, void *u); + /*! \ingroup CertsKeys @@ -11300,6 +11716,7 @@ WOLFSSL_API WOLFSSL_X509 *wolfSSL_PEM_read_bio_X509_AUX \sa wolfSSL_BN_bn2bin */ WOLFSSL_API long wolfSSL_CTX_set_tmp_dh(WOLFSSL_CTX*, WOLFSSL_DH*); + /*! \ingroup CertsKeys @@ -11329,6 +11746,7 @@ WOLFSSL_API long wolfSSL_CTX_set_tmp_dh(WOLFSSL_CTX*, WOLFSSL_DH*); */ WOLFSSL_API WOLFSSL_DSA *wolfSSL_PEM_read_bio_DSAparams(WOLFSSL_BIO *bp, WOLFSSL_DSA **x, pem_password_cb *cb, void *u); + /*! \ingroup Debug @@ -11350,6 +11768,7 @@ WOLFSSL_API WOLFSSL_DSA *wolfSSL_PEM_read_bio_DSAparams(WOLFSSL_BIO *bp, \sa wolfSSL_ERR_print_errors_fp */ WOLFSSL_API unsigned long wolfSSL_ERR_peek_last_error(void); + /*! \ingroup CertsKeys @@ -11377,6 +11796,7 @@ WOLFSSL_API unsigned long wolfSSL_ERR_peek_last_error(void); \sa wolfSSL_X509_get_isCA */ WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_get_peer_cert_chain(const WOLFSSL*); + /*! \ingroup Setup @@ -11398,6 +11818,7 @@ WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_get_peer_cert_chain(const WOLFS \sa wolfSSL_free */ WOLFSSL_API long wolfSSL_CTX_clear_options(WOLFSSL_CTX*, long); + /*! \ingroup IO @@ -11424,6 +11845,7 @@ WOLFSSL_API long wolfSSL_CTX_clear_options(WOLFSSL_CTX*, long); \sa wolfSSL_get_jobject */ WOLFSSL_API int wolfSSL_set_jobject(WOLFSSL* ssl, void* objPtr); + /*! \ingroup IO @@ -11450,6 +11872,7 @@ WOLFSSL_API int wolfSSL_set_jobject(WOLFSSL* ssl, void* objPtr); \sa wolfSSL_set_jobject */ WOLFSSL_API void* wolfSSL_get_jobject(WOLFSSL* ssl); + /*! \ingroup Setup @@ -11474,6 +11897,7 @@ WOLFSSL_API void* wolfSSL_get_jobject(WOLFSSL* ssl); \sa wolfSSL_set_msg_callback_arg */ WOLFSSL_API int wolfSSL_set_msg_callback(WOLFSSL *ssl, SSL_Msg_Cb cb); + /*! \ingroup Setup @@ -11498,6 +11922,7 @@ WOLFSSL_API int wolfSSL_set_msg_callback(WOLFSSL *ssl, SSL_Msg_Cb cb); \sa wolfSSL_set_msg_callback */ WOLFSSL_API int wolfSSL_set_msg_callback_arg(WOLFSSL *ssl, void* arg); + /*! \ingroup CertsKeys @@ -11524,6 +11949,7 @@ WOLFSSL_API int wolfSSL_set_msg_callback_arg(WOLFSSL *ssl, void* arg); \sa wolfSSL_X509_get_subject_name */ WOLFSSL_API char* wolfSSL_X509_get_next_altname(WOLFSSL_X509*); + /*! \ingroup CertsKeys @@ -11550,6 +11976,7 @@ WOLFSSL_API char* wolfSSL_X509_get_next_altname(WOLFSSL_X509*); \sa wolfSSL_X509_notAfter */ WOLFSSL_API const unsigned char* wolfSSL_X509_notBefore(WOLFSSL_X509*); + /*! \ingroup IO diff --git a/doc/dox_comments/header_files/types.h b/doc/dox_comments/header_files/types.h index 21efafa1c..7dcf81c8a 100644 --- a/doc/dox_comments/header_files/types.h +++ b/doc/dox_comments/header_files/types.h @@ -46,7 +46,8 @@ \sa wolfSSL_Free \sa wolfSSL_SetAllocators */ - WOLFSSL_API void* XMALLOC(size_t n, void* heap, int type); +WOLFSSL_API void* XMALLOC(size_t n, void* heap, int type); + /*! \ingroup Memory @@ -91,7 +92,8 @@ \sa wolfSSL_Free \sa wolfSSL_SetAllocators */ - WOLFSSL_API void* XREALLOC(void *p, size_t n, void* heap, int type); +WOLFSSL_API void* XREALLOC(void *p, size_t n, void* heap, int type); + /*! \ingroup Memory @@ -138,7 +140,8 @@ \sa wolfSSL_Free \sa wolfSSL_SetAllocators */ - WOLFSSL_API void XFREE(void *p, void* heap, int type); +WOLFSSL_API void XFREE(void *p, void* heap, int type); + /*! \ingroup Math @@ -166,4 +169,4 @@ \sa CheckRunTimeFastMath */ - WOLFSSL_API word32 CheckRunTimeSettings(void); +WOLFSSL_API word32 CheckRunTimeSettings(void); diff --git a/doc/dox_comments/header_files/wc_encrypt.h b/doc/dox_comments/header_files/wc_encrypt.h index e11711181..285e45a4e 100644 --- a/doc/dox_comments/header_files/wc_encrypt.h +++ b/doc/dox_comments/header_files/wc_encrypt.h @@ -45,6 +45,7 @@ WOLFSSL_API int wc_AesCbcDecryptWithKey(byte* out, const byte* in, word32 inSz, const byte* key, word32 keySz, const byte* iv); + /*! \ingroup 3DES @@ -86,6 +87,7 @@ WOLFSSL_API int wc_AesCbcDecryptWithKey(byte* out, const byte* in, word32 inSz, WOLFSSL_API int wc_Des_CbcDecryptWithKey(byte* out, const byte* in, word32 sz, const byte* key, const byte* iv); + /*! \ingroup 3DES @@ -124,6 +126,7 @@ WOLFSSL_API int wc_Des_CbcDecryptWithKey(byte* out, WOLFSSL_API int wc_Des_CbcEncryptWithKey(byte* out, const byte* in, word32 sz, const byte* key, const byte* iv); + /*! \ingroup 3DES @@ -165,6 +168,7 @@ WOLFSSL_API int wc_Des_CbcEncryptWithKey(byte* out, WOLFSSL_API int wc_Des3_CbcEncryptWithKey(byte* out, const byte* in, word32 sz, const byte* key, const byte* iv); + /*! \ingroup 3DES diff --git a/doc/dox_comments/header_files/wolfio.h b/doc/dox_comments/header_files/wolfio.h index 291da309c..79d0effcb 100644 --- a/doc/dox_comments/header_files/wolfio.h +++ b/doc/dox_comments/header_files/wolfio.h @@ -39,7 +39,8 @@ \sa TranslateReturnCode \sa RECV_FUNCTION */ - WOLFSSL_API int EmbedReceive(WOLFSSL* ssl, char* buf, int sz, void* ctx); +WOLFSSL_API int EmbedReceive(WOLFSSL* ssl, char* buf, int sz, void* ctx); + /*! \brief This function is the send embedded callback. @@ -78,7 +79,8 @@ \sa InitSSL_Ctx \sa LastError */ - WOLFSSL_API int EmbedSend(WOLFSSL* ssl, char* buf, int sz, void* ctx); +WOLFSSL_API int EmbedSend(WOLFSSL* ssl, char* buf, int sz, void* ctx); + /*! \brief This function is the receive embedded callback. @@ -114,7 +116,8 @@ \sa RECVFROM_FUNCTION \sa Setsockopt */ - WOLFSSL_API int EmbedReceiveFrom(WOLFSSL* ssl, char* buf, int sz, void*); +WOLFSSL_API int EmbedReceiveFrom(WOLFSSL* ssl, char* buf, int sz, void*); + /*! \brief This function is the send embedded callback. @@ -154,7 +157,8 @@ \sa EmbedSend \sa EmbedReceive */ - WOLFSSL_API int EmbedSendTo(WOLFSSL* ssl, char* buf, int sz, void* ctx); +WOLFSSL_API int EmbedSendTo(WOLFSSL* ssl, char* buf, int sz, void* ctx); + /*! \brief This function is the DTLS Generate Cookie callback. @@ -189,8 +193,9 @@ \sa XMEMCPY \sa XMEMSET */ - WOLFSSL_API int EmbedGenerateCookie(WOLFSSL* ssl, unsigned char* buf, +WOLFSSL_API int EmbedGenerateCookie(WOLFSSL* ssl, unsigned char* buf, int sz, void*); + /*! \brief This function frees the response buffer. @@ -209,7 +214,8 @@ \sa XFREE */ - WOLFSSL_API void EmbedOcspRespFree(void*, unsigned char*); +WOLFSSL_API void EmbedOcspRespFree(void*, unsigned char*); + /*! \brief This function registers a receive callback for wolfSSL to get input data. By default, wolfSSL uses EmbedReceive() as the callback which uses @@ -244,6 +250,7 @@ \sa wolfSSL_SetIOWriteCtx */ WOLFSSL_API void wolfSSL_CTX_SetIORecv(WOLFSSL_CTX*, CallbackIORecv); + /*! \brief This function registers a context for the SSL session’s receive callback function. By default, wolfSSL sets the file descriptor passed to @@ -274,6 +281,7 @@ WOLFSSL_API void wolfSSL_CTX_SetIORecv(WOLFSSL_CTX*, CallbackIORecv); \sa wolfSSL_SetIOWriteCtx */ WOLFSSL_API void wolfSSL_SetIOReadCtx( WOLFSSL* ssl, void *ctx); + /*! \brief This function registers a context for the SSL session’s send callback function. By default, wolfSSL sets the file descriptor passed to @@ -304,6 +312,7 @@ WOLFSSL_API void wolfSSL_SetIOReadCtx( WOLFSSL* ssl, void *ctx); \sa wolfSSL_SetIOReadCtx */ WOLFSSL_API void wolfSSL_SetIOWriteCtx(WOLFSSL* ssl, void *ctx); + /*! \ingroup IO @@ -333,6 +342,7 @@ WOLFSSL_API void wolfSSL_SetIOWriteCtx(WOLFSSL* ssl, void *ctx); \sa wolfSSL_CTX_SetIOSend */ WOLFSSL_API void* wolfSSL_GetIOReadCtx( WOLFSSL* ssl); + /*! \ingroup IO @@ -361,6 +371,7 @@ WOLFSSL_API void* wolfSSL_GetIOReadCtx( WOLFSSL* ssl); \sa wolfSSL_CTX_SetIOSend */ WOLFSSL_API void* wolfSSL_GetIOWriteCtx(WOLFSSL* ssl); + /*! \brief This function sets the flags for the receive callback to use for the given SSL session. The receive callback could be either the default @@ -402,6 +413,7 @@ WOLFSSL_API void* wolfSSL_GetIOWriteCtx(WOLFSSL* ssl); \sa wolfSSL_SetIOReadCtx */ WOLFSSL_API void wolfSSL_SetIOReadFlags( WOLFSSL* ssl, int flags); + /*! \brief This function sets the flags for the send callback to use for the given SSL session. The send callback could be either the default wolfSSL @@ -436,6 +448,7 @@ WOLFSSL_API void wolfSSL_SetIOReadFlags( WOLFSSL* ssl, int flags); \sa wolfSSL_SetIOReadCtx */ WOLFSSL_API void wolfSSL_SetIOWriteFlags(WOLFSSL* ssl, int flags); + /*! \ingroup IO @@ -467,8 +480,9 @@ WOLFSSL_API void wolfSSL_SetIOWriteFlags(WOLFSSL* ssl, int flags); \sa NetX_Send \sa NetX_Receive */ - WOLFSSL_API void wolfSSL_SetIO_NetX(WOLFSSL* ssl, NX_TCP_SOCKET* nxsocket, +WOLFSSL_API void wolfSSL_SetIO_NetX(WOLFSSL* ssl, NX_TCP_SOCKET* nxsocket, ULONG waitoption); + /*! \brief This function sets the callback for the CBIOCookie member of the WOLFSSL_CTX structure. The CallbackGenCookie type is a function pointer @@ -495,7 +509,8 @@ WOLFSSL_API void wolfSSL_SetIOWriteFlags(WOLFSSL* ssl, int flags); \sa CallbackGenCookie */ - WOLFSSL_API void wolfSSL_CTX_SetGenCookie(WOLFSSL_CTX*, CallbackGenCookie); +WOLFSSL_API void wolfSSL_CTX_SetGenCookie(WOLFSSL_CTX*, CallbackGenCookie); + /*! \ingroup Setup @@ -523,4 +538,4 @@ WOLFSSL_API void wolfSSL_SetIOWriteFlags(WOLFSSL* ssl, int flags); \sa wolfSSL_SetCookieCtx \sa wolfSSL_CTX_SetGenCookie */ - WOLFSSL_API void* wolfSSL_GetCookieCtx(WOLFSSL* ssl); +WOLFSSL_API void* wolfSSL_GetCookieCtx(WOLFSSL* ssl); diff --git a/src/ssl.c b/src/ssl.c index 1a168697c..2d0ff101a 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -16174,8 +16174,11 @@ WOLFSSL_EVP_PKEY* wolfSSL_X509_get_pubkey(WOLFSSL_X509* x509) } if (GetTimeString(x509->notBefore + 2, ASN_UTC_TIME, tmp, sizeof(tmp)) != WOLFSSL_SUCCESS) { - WOLFSSL_MSG("Error getting not before date"); - return WOLFSSL_FAILURE; + if (GetTimeString(x509->notBefore + 2, ASN_GENERALIZED_TIME, + tmp, sizeof(tmp)) != WOLFSSL_SUCCESS) { + WOLFSSL_MSG("Error getting not before date"); + return WOLFSSL_FAILURE; + } } tmp[sizeof(tmp) - 1] = '\0'; /* make sure null terminated */ if (wolfSSL_BIO_write(bio, tmp, (int)XSTRLEN(tmp)) <= 0) { @@ -16187,8 +16190,11 @@ WOLFSSL_EVP_PKEY* wolfSSL_X509_get_pubkey(WOLFSSL_X509* x509) } if (GetTimeString(x509->notAfter + 2,ASN_UTC_TIME, tmp, sizeof(tmp)) != WOLFSSL_SUCCESS) { - WOLFSSL_MSG("Error getting not before date"); - return WOLFSSL_FAILURE; + if (GetTimeString(x509->notAfter + 2,ASN_GENERALIZED_TIME, + tmp, sizeof(tmp)) != WOLFSSL_SUCCESS) { + WOLFSSL_MSG("Error getting not before date"); + return WOLFSSL_FAILURE; + } } tmp[sizeof(tmp) - 1] = '\0'; /* make sure null terminated */ if (wolfSSL_BIO_write(bio, tmp, (int)XSTRLEN(tmp)) <= 0) {