SharkSSL™ Embedded SSL/TLS Stack
|
Typedefs | |
typedef U8 * | SharkSslRSAKey |
SharkSslRSAKey is an alias for the SharkSslCert type and is a private/public key converted by sharkssl_PEM_to_RSAKey or the command line tool SharkSslParseKey. | |
Functions | |
SHARKSSL_API SharkSslRSAKey | sharkssl_PEM_to_RSAKey (const char *PEMKey, const char *passphrase) |
Convert an RSA private or public key in PEM format to the SharkSslRSAKey format. More... | |
SHARKSSL_API SharkSslKey | sharkssl_PEM_extractPublicKey (const char *certPEM) |
Extract the public key form a certificate in PEM format. More... | |
SHARKSSL_API void | SharkSslRSAKey_free (SharkSslRSAKey key) |
Release a SharkSslRSAKey allocated by functions sharkssl_PEM_to_RSAKey and sharkssl_PEM_extractPublicKey. | |
SHARKSSL_API sharkssl_RSA_RetVal | sharkssl_RSA_public_encrypt (U16 len, U8 *in, U8 *out, SharkSslRSAKey key, U8 padding) |
Encrypt data using the public key or private key. More... | |
SHARKSSL_API sharkssl_RSA_RetVal | sharkssl_RSA_private_decrypt (U16 len, U8 *in, U8 *out, SharkSslRSAKey privkey, U8 padding) |
Decrypt ciphertext using the private key. More... | |
SHARKSSL_API sharkssl_RSA_RetVal | sharkssl_RSA_private_encrypt (U16 len, U8 *in, U8 *out, SharkSslRSAKey privkey, U8 padding) |
Sign a message digest using the private key. More... | |
SHARKSSL_API sharkssl_RSA_RetVal | sharkssl_RSA_public_decrypt (U16 len, U8 *in, U8 *out, SharkSslRSAKey key, U8 padding) |
Bring back a message digest using the public key or private key. More... | |
SHARKSSL_API SharkSslKey sharkssl_PEM_extractPublicKey | ( | const char * | certPEM | ) |
Extract the public key form a certificate in PEM format.
Note: the converted value must be released by calling SharkSslKey_free, when no longer needed.
example:
SHARKSSL_API SharkSslRSAKey sharkssl_PEM_to_RSAKey | ( | const char * | PEMKey, |
const char * | passphrase | ||
) |
Convert an RSA private or public key in PEM format to the SharkSslRSAKey format.
Note: the converted value must be released by calling SharkSslRSAKey_free, when no longer needed.
example:
SHARKSSL_API sharkssl_RSA_RetVal sharkssl_RSA_private_decrypt | ( | U16 | len, |
U8 * | in, | ||
U8 * | out, | ||
SharkSslRSAKey | privkey, | ||
U8 | padding | ||
) |
Decrypt ciphertext using the private key.
len | is the length/size of parameter 'in'. This length must be exactly SharkSslRSAKey_size (key). |
in | the ciphertext |
out | the decrypted ciphertext is copied to this buffer. The size of this buffer must be no less than SharkSslRSAKey_size (key) |
privkey | is the private key in SharkSslRSAKey format. |
padding | is one of SHARKSSL_RSA_PKCS1_PADDING or SHARKSSL_RSA_NO_PADDING |
SHARKSSL_API sharkssl_RSA_RetVal sharkssl_RSA_private_encrypt | ( | U16 | len, |
U8 * | in, | ||
U8 * | out, | ||
SharkSslRSAKey | privkey, | ||
U8 | padding | ||
) |
Sign a message digest using the private key.
in | commonly, an algorithm identifier followed by a message digest |
len | is the length/size of parameter 'in'. This length must be exactly SharkSslRSAKey_size (key) when selecting SHARKSSL_RSA_NO_PADDING or a value between 1 and (SharkSslRSAKey_size (key) - 11) when selecting SHARKSSL_RSA_PKCS1_PADDING. |
out | the signature is copied to this buffer. The size of this buffer must be no less than SharkSslRSAKey_size (key) |
privkey | is the private key in SharkSslRSAKey format. |
padding | is one of SHARKSSL_RSA_PKCS1_PADDING or SHARKSSL_RSA_NO_PADDING |
SHARKSSL_API sharkssl_RSA_RetVal sharkssl_RSA_public_decrypt | ( | U16 | len, |
U8 * | in, | ||
U8 * | out, | ||
SharkSslRSAKey | key, | ||
U8 | padding | ||
) |
Bring back a message digest using the public key or private key.
The private key includes the public key an can for this reason be used for this operation.
in | the RSA signature. Please notice that the RSA signature is modified by this function and must for this reason be in RAM. |
len | is the length/size of parameter 'in'. This length must be exactly SharkSslRSAKey_size (key). |
out | the message digest is copied to this buffer. The size of this buffer must be no less than SharkSslRSAKey_size (key) |
key | is the public key in SharkSslRSAKey format. |
padding | is one of SHARKSSL_RSA_PKCS1_PADDING or SHARKSSL_RSA_NO_PADDING |
SHARKSSL_API sharkssl_RSA_RetVal sharkssl_RSA_public_encrypt | ( | U16 | len, |
U8 * | in, | ||
U8 * | out, | ||
SharkSslRSAKey | key, | ||
U8 | padding | ||
) |
Encrypt data using the public key or private key.
The private key includes the public key an can for this reason be used for encrypting the data.
in | the plaintext |
len | is the length/size of parameter 'in'. This length must be exactly SharkSslRSAKey_size (key) when selecting SHARKSSL_RSA_NO_PADDING or a value between 1 and (SharkSslRSAKey_size (key) - 11) when selecting SHARKSSL_RSA_PKCS1_PADDING. |
out | the encrypted ciphertext is copied to this buffer. The size of this buffer must be no less than SharkSslRSAKey_size (key) |
key | is the public key in SharkSslRSAKey format. |
padding | is one of SHARKSSL_RSA_PKCS1_PADDING or SHARKSSL_RSA_NO_PADDING |