forked from wolfSSL/wolfssl
added doxygen for curve25519 DER functions
This commit is contained in:
@ -1557,6 +1557,137 @@ int wc_EccPublicKeyToDer(ecc_key* key, byte* output,
|
||||
int wc_EccPublicKeyToDer_ex(ecc_key* key, byte* output,
|
||||
word32 inLen, int with_AlgCurve, int comp);
|
||||
|
||||
|
||||
/*!
|
||||
\ingroup ASN
|
||||
|
||||
\brief This function decodes a Curve25519 private key (only) from a DER
|
||||
encoded buffer
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returns if input, inOutIdx or key is null
|
||||
\return ASN_PARSE_E Returns if there is an error parsing the DER encoded
|
||||
data
|
||||
\return ECC_BAD_ARG_E Returns if the key length is not CURVE25519_KEYSIZE or
|
||||
the DER key contains other issues despite being properly formatted.
|
||||
\return BUFFER_E Returns if the input buffer is too small to contain a
|
||||
valid DER encoded key.
|
||||
|
||||
\param input Pointer to buffer containing DER encoded private key
|
||||
\param inOutIdx Index to start reading input buffer from. On output,
|
||||
index is set to last position parsed of input buffer.
|
||||
\param key Pointer to curve25519_key structure to store decoded key
|
||||
\param inSz Size of input DER buffer
|
||||
*/
|
||||
int wc_Curve25519PrivateKeyDecode(const byte* input, word32* inOutIdx,
|
||||
curve25519_key* key, word32 inSz);
|
||||
|
||||
/*!
|
||||
\ingroup ASN
|
||||
|
||||
\brief This function decodes a Curve25519 public key (only) from a DER
|
||||
encoded buffer.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returns if input, inOutIdx or key is null
|
||||
\return ASN_PARSE_E Returns if there is an error parsing the DER encoded
|
||||
data
|
||||
\return ECC_BAD_ARG_E Returns if the key length is not CURVE25519_KEYSIZE or
|
||||
the DER key contains other issues despite being properly formatted.
|
||||
\return BUFFER_E Returns if the input buffer is too small to contain a
|
||||
valid DER encoded key.
|
||||
|
||||
\param input Pointer to buffer containing DER encoded public key
|
||||
\param inOutIdx Index to start reading input buffer from. On output,
|
||||
index is set to last position parsed of input buffer.
|
||||
\param key Pointer to curve25519_key structure to store decoded key
|
||||
\param inSz Size of input DER buffer
|
||||
*/
|
||||
int wc_Curve25519PublicKeyDecode(const byte* input, word32* inOutIdx,
|
||||
curve25519_key* key, word32 inSz);
|
||||
|
||||
/*!
|
||||
\ingroup ASN
|
||||
|
||||
\brief This function decodes a Curve25519 key from a DER encoded buffer. It
|
||||
can decode either a private key, a public key, or both.
|
||||
|
||||
\return 0 Success
|
||||
\return BAD_FUNC_ARG Returns if input, inOutIdx or key is null
|
||||
\return ASN_PARSE_E Returns if there is an error parsing the DER encoded
|
||||
data
|
||||
\return ECC_BAD_ARG_E Returns if the key length is not CURVE25519_KEYSIZE or
|
||||
the DER key contains other issues despite being properly formatted.
|
||||
\return BUFFER_E Returns if the input buffer is too small to contain a
|
||||
valid DER encoded key.
|
||||
|
||||
\param input Pointer to buffer containing DER encoded key
|
||||
\param inOutIdx Index to start reading input buffer from. On output,
|
||||
index is set to last position parsed of input buffer.
|
||||
\param key Pointer to curve25519_key structure to store decoded key
|
||||
\param inSz Size of input DER buffer
|
||||
*/
|
||||
int wc_Curve25519KeyDecode(const byte* input, word32* inOutIdx,
|
||||
curve25519_key* key, word32 inSz);
|
||||
|
||||
/*!
|
||||
\ingroup ASN
|
||||
|
||||
\brief This function encodes a Curve25519 private key to DER format. If the
|
||||
input key structure contains a public key, it will be ignored.
|
||||
|
||||
\return >0 Success, length of DER encoding
|
||||
\return BAD_FUNC_ARG Returns if key or output is null
|
||||
\return MEMORY_E Returns if there is an allocation failure
|
||||
\return BUFFER_E Returns if output buffer is too small
|
||||
|
||||
\param key Pointer to curve25519_key structure containing private key to
|
||||
encode
|
||||
\param output Buffer to hold DER encoding
|
||||
\param inLen Size of output buffer
|
||||
*/
|
||||
int wc_Curve25519PrivateKeyToDer(curve25519_key* key, byte* output,
|
||||
word32 inLen);
|
||||
|
||||
/*!
|
||||
\ingroup ASN
|
||||
|
||||
\brief This function encodes a Curve25519 public key to DER format. If the
|
||||
input key structure contains a private key, it will be ignored.
|
||||
|
||||
\return >0 Success, length of DER encoding
|
||||
\return BAD_FUNC_ARG Returns if key or output is null
|
||||
\return MEMORY_E Returns if there is an allocation failure
|
||||
\return BUFFER_E Returns if output buffer is too small
|
||||
|
||||
\param key Pointer to curve25519_key structure containing public key to
|
||||
encode
|
||||
\param output Buffer to hold DER encoding
|
||||
\param inLen Size of output buffer
|
||||
\param withAlg Whether to include algorithm identifier
|
||||
*/
|
||||
int wc_Curve25519PublicKeyToDer(curve25519_key* key, byte* output, word32 inLen,
|
||||
int withAlg);
|
||||
|
||||
/*!
|
||||
\ingroup ASN
|
||||
|
||||
\brief This function encodes a Curve25519 key to DER format. It can encode
|
||||
either a private key, a public key, or both.
|
||||
|
||||
\return >0 Success, length of DER encoding
|
||||
\return BAD_FUNC_ARG Returns if key or output is null
|
||||
\return MEMORY_E Returns if there is an allocation failure
|
||||
\return BUFFER_E Returns if output buffer is too small
|
||||
|
||||
\param key Pointer to curve25519_key structure containing key to encode
|
||||
\param output Buffer to hold DER encoding
|
||||
\param inLen Size of output buffer
|
||||
\param withAlg Whether to include algorithm identifier
|
||||
*/
|
||||
int wc_Curve25519KeyToDer(curve25519_key* key, byte* output, word32 inLen,
|
||||
int withAlg);
|
||||
|
||||
/*!
|
||||
\ingroup ASN
|
||||
|
||||
|
Reference in New Issue
Block a user