diff --git a/.gitignore b/.gitignore index 21abc5c6f..0acb0eea3 100644 --- a/.gitignore +++ b/.gitignore @@ -313,3 +313,8 @@ wolfcrypt/src/port/intel/qat_test # Arduino Generated Files /IDE/ARDUINO/wolfSSL scripts/memtest.txt + +# Doxygen generated files +doc/doxygen_warnings +doc/html +doc/pdf diff --git a/doc/dox_comments/header_files/dh.h b/doc/dox_comments/header_files/dh.h index d38d37af9..ba29346d4 100644 --- a/doc/dox_comments/header_files/dh.h +++ b/doc/dox_comments/header_files/dh.h @@ -271,3 +271,130 @@ WOLFSSL_API int wc_DhSetKey(DhKey* key, const byte* p, word32 pSz, const byte* g */ WOLFSSL_API int wc_DhParamsLoad(const byte* input, word32 inSz, byte* p, word32* pInOutSz, byte* g, word32* gInOutSz); + +/*! + \ingroup Diffie-Hellman + + \brief This function returns ... and requires that HAVE_FFDHE_2048 be + defined. + + \sa wc_Dh_ffdhe3072_Get + \sa wc_Dh_ffdhe4096_Get + \sa wc_Dh_ffdhe6144_Get + \sa wc_Dh_ffdhe8192_Get +*/ +WOLFSSL_API const DhParams* wc_Dh_ffdhe2048_Get(void); + +/*! + \ingroup Diffie-Hellman + + \brief This function returns ... and requires that HAVE_FFDHE_3072 be + defined. + + \sa wc_Dh_ffdhe2048_Get + \sa wc_Dh_ffdhe4096_Get + \sa wc_Dh_ffdhe6144_Get + \sa wc_Dh_ffdhe8192_Get +*/ +WOLFSSL_API const DhParams* wc_Dh_ffdhe3072_Get(void); + +/*! + \ingroup Diffie-Hellman + + \brief This function returns ... and requires that HAVE_FFDHE_4096 be + defined. + + \sa wc_Dh_ffdhe2048_Get + \sa wc_Dh_ffdhe3072_Get + \sa wc_Dh_ffdhe6144_Get + \sa wc_Dh_ffdhe8192_Get +*/ +WOLFSSL_API const DhParams* wc_Dh_ffdhe4096_Get(void); + +/*! + \ingroup Diffie-Hellman + + \brief This function returns ... and requires that HAVE_FFDHE_6144 be + defined. + + \sa wc_Dh_ffdhe2048_Get + \sa wc_Dh_ffdhe3072_Get + \sa wc_Dh_ffdhe4096_Get + \sa wc_Dh_ffdhe8192_Get +*/ +WOLFSSL_API const DhParams* wc_Dh_ffdhe6144_Get(void); + +/*! + \ingroup Diffie-Hellman + + \brief This function returns ... and requires that HAVE_FFDHE_8192 be + defined. + + \sa wc_Dh_ffdhe2048_Get + \sa wc_Dh_ffdhe3072_Get + \sa wc_Dh_ffdhe4096_Get + \sa wc_Dh_ffdhe6144_Get +*/ +WOLFSSL_API const DhParams* wc_Dh_ffdhe8192_Get(void); + +/*! + \ingroup Diffie-Hellman + + \brief Checks DH keys for pair-wise consistency per process in SP 800-56Ar3, + section 5.6.2.1.4, method (b) for FFC. +*/ +WOLFSSL_API int wc_DhCheckKeyPair(DhKey* key, const byte* pub, word32 pubSz, + const byte* priv, word32 privSz); + +/*! + \ingroup Diffie-Hellman + + \brief Check DH private key for invalid numbers +*/ +WOLFSSL_API int wc_DhCheckPrivKey(DhKey* key, const byte* priv, word32 pubSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhCheckPrivKey_ex(DhKey* key, const byte* priv, word32 pubSz, + const byte* prime, word32 primeSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhCheckPubKey(DhKey* key, const byte* pub, word32 pubSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhCheckPubKey_ex(DhKey* key, const byte* pub, word32 pubSz, + const byte* prime, word32 primeSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhExportParamsRaw(DhKey* dh, byte* p, word32* pSz, + byte* q, word32* qSz, byte* g, word32* gSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhGenerateParams(WC_RNG *rng, int modSz, DhKey *dh); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhSetCheckKey(DhKey* key, const byte* p, word32 pSz, + const byte* g, word32 gSz, const byte* q, word32 qSz, + int trusted, WC_RNG* rng); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhSetKey_ex(DhKey* key, const byte* p, word32 pSz, + const byte* g, word32 gSz, const byte* q, word32 qSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_FreeDhKey(DhKey* key); diff --git a/doc/dox_comments/header_files/doxygen_groups.h b/doc/dox_comments/header_files/doxygen_groups.h index e5a4975cf..86e225298 100644 --- a/doc/dox_comments/header_files/doxygen_groups.h +++ b/doc/dox_comments/header_files/doxygen_groups.h @@ -18,6 +18,7 @@ \defgroup MD4 Algorithms - MD4 \defgroup MD5 Algorithms - MD5 \defgroup PKCS7 Algorithms - PKCS7 + \defgroup PKCS11 Algorithms - PKCS11 \defgroup Password Algorithms - Password Based \defgroup Poly1305 Algorithms - Poly1305 \defgroup RIPEMD Algorithms - RIPEMD diff --git a/doc/dox_comments/header_files/doxygen_pages.h b/doc/dox_comments/header_files/doxygen_pages.h index e6c4a2c9e..741b396bf 100644 --- a/doc/dox_comments/header_files/doxygen_pages.h +++ b/doc/dox_comments/header_files/doxygen_pages.h @@ -12,41 +12,45 @@ */ /*! \page wolfcrypt_API wolfCrypt API Reference - - \ref ASN - - \ref Base_Encoding - - \ref Compression - - \ref Error - - \ref Keys - - \ref Logging - - \ref Math - - \ref Random - - \ref Signature - - \ref wolfCrypt - - - \ref DES - - \ref AES - - \ref ARC4 - - \ref BLAKE2 - - \ref Camellia - - \ref ChaCha - - \ref ChaCha20Poly1305 - - \ref Curve25519 - - \ref DSA - - \ref Diffie-Hellman - - \ref ECC - - \ref ED25519 - - \ref HC128 - - \ref HMAC - - \ref IDEA - - \ref MD2 - - \ref MD4 - - \ref MD5 - - \ref Password - - \ref PKCS7 - - \ref Poly1305 - - \ref Rabbit - - \ref RIPEMD - - \ref RSA - - \ref SHA - - \ref SRP + + */ diff --git a/doc/dox_comments/header_files/pkcs11.h b/doc/dox_comments/header_files/pkcs11.h new file mode 100644 index 000000000..784b13217 --- /dev/null +++ b/doc/dox_comments/header_files/pkcs11.h @@ -0,0 +1,43 @@ +/*! + \ingroup PKCS11 +*/ +WOLFSSL_API int wc_Pkcs11_Initialize(Pkcs11Dev* dev, const char* library, + void* heap); + +/*! + \ingroup PKCS11 +*/ +WOLFSSL_API void wc_Pkcs11_Finalize(Pkcs11Dev* dev); + +/*! + \ingroup PKCS11 +*/ +WOLFSSL_API int wc_Pkcs11Token_Init(Pkcs11Token* token, Pkcs11Dev* dev, + int slotId, const char* tokenName, const unsigned char *userPin, + int userPinSz); + +/*! + \ingroup PKCS11 +*/ +WOLFSSL_API void wc_Pkcs11Token_Final(Pkcs11Token* token); + +/*! + \ingroup PKCS11 + */ +WOLFSSL_API int wc_Pkcs11Token_Open(Pkcs11Token* token, int readWrite); + +/*! + \ingroup PKCS11 + */ +WOLFSSL_API void wc_Pkcs11Token_Close(Pkcs11Token* token); + +/*! + \ingroup PKCS11 + */ +WOLFSSL_API int wc_Pkcs11StoreKey(Pkcs11Token* token, int type, int clear, + +/*! + \ingroup PKCS11 + */ +WOLFSSL_API int wc_Pkcs11_CryptoDevCb(int devId, wc_CryptoInfo* info, + void* ctx); diff --git a/doc/dox_comments/header_files/ssl.h b/doc/dox_comments/header_files/ssl.h index 72312307c..c0a88c101 100644 --- a/doc/dox_comments/header_files/ssl.h +++ b/doc/dox_comments/header_files/ssl.h @@ -907,6 +907,10 @@ WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX*, const char*, int); read, or is corrupted. \return MEMORY_E will be returned if an out of memory condition occurs. \return ASN_INPUT_E will be returned if Base16 decoding fails on the file. + \return ASN_BEFORE_DATE_E will be returned if the current date is before the + before date. + \return ASN_AFTER_DATE_E will be returned if the current date is after the + after date. \return BUFFER_E will be returned if a chain buffer is bigger than the receiving buffer. \return BAD_PATH_ERROR will be returned if opendir() fails when trying diff --git a/doc/formats/html/header.html b/doc/formats/html/header.html index 693f31d79..171abf524 100644 --- a/doc/formats/html/header.html +++ b/doc/formats/html/header.html @@ -5,6 +5,7 @@ + $projectname: $title $title diff --git a/doc/formats/html/mainpage.dox b/doc/formats/html/mainpage.dox index a34554192..82151eed8 100644 --- a/doc/formats/html/mainpage.dox +++ b/doc/formats/html/mainpage.dox @@ -5,17 +5,17 @@ \mainpage This Documentation Covers %wolfSSL, %wolfCrypt, and %CertManager API \section apiRef API Reference - - - Complete API Reference
- wolfSSL Data Structures
- Useful guides/documentation
+ Complete API Reference
+ wolfSSL API Reference
+ wolfCrypt API Reference
+ wolfSSL Data Structures
+ Useful guides/documentation

\subsection website Useful Links - https://wolfssl.com/wolfSSL/Home.html - Main website
- https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-17-wolfssl-api-reference.html - %wolfSSL Manual
- https://www.wolfssl.com/docs/wolfssl-manual/ch18/ - wolfCrypt Manual
+ https://www.wolfssl.com/ - Main website
+ https://www.wolfssl.com/docs/wolfssl-manual/ - %wolfSSL Manual
+ https://www.wolfssl.com/docs/wolfssl-manual/ch10/ - wolfCrypt Usage Reference
https://github.com/wolfssl/wolfssl.git - Git repository */