This package includes the SharkSSL lite library and header files.

Dependents:   WebSocket-Client-Example SharkMQ-LED-Demo

Embed: (wiki syntax)

« Back to documentation index

SharkSslInfoAndCodes

SharkSslInfoAndCodes

Data Structures

struct  SharkSsl
 A SharkSsl object is the coordinator for managing SharkSslCon objects (See SharkSsl_constructor for details). More...

Modules

 Supported Ciphersuites
 

Supported Ciphersuites and values returned by SharkSslCon_getCiphersuite.


 SSL and TLS protocol version
 

Return values from function SharkSslCon_getProtocol.


 Peer's certificate information
 

Certificate information returned by SharkSslCon_getCertInfo.


Typedefs

typedef const U8 * SharkSslCert
 The SharkSSL Certificate is in a binary format optimized for speed and size.
typedef const U8 * SharkSslCAList
 The SharkSSL Certificate Authority (CA) List is in a binary format optimized for speed and size.
typedef const U8 * SharkSslPSKTable
 The SharkSSL PSK table is in an optimized binary format.
typedef struct SharkSslCon SharkSslCon
 SharkSslCon is an opaque handle returned by function SharkSsl_createCon.
typedef struct SharkSsl SharkSsl
 A SharkSsl object is the coordinator for managing SharkSslCon objects (See SharkSsl_constructor for details).

Enumerations

enum  SharkSsl_Role { SharkSsl_Unspecified, SharkSsl_Server, SharkSsl_Client }
 

Select one of client or server mode when creating a SharkSsl object.

More...
enum  sharkssl_RSA_RetVal {
  SHARKSSL_RSA_OK = 0, SHARKSSL_RSA_ALLOCATION_ERROR = -3000, SHARKSSL_RSA_INTERNAL_ERROR = -3100, SHARKSSL_RSA_WRONG_PARAMETERS,
  SHARKSSL_RSA_WRONG_KEY_FORMAT, SHARKSSL_RSA_WRONG_KEY_LENGTH, SHARKSSL_RSA_INPUT_DATA_LENGTH_TOO_BIG, SHARKSSL_RSA_INPUT_DATA_LENGTH_AND_KEY_LENGTH_MISMATCH,
  SHARKSSL_RSA_PKCS1_PADDING_ERROR
}
 

Return values from functions sharkssl_RSA_public_encrypt, sharkssl_RSA_private_decrypt, sharkssl_RSA_public_decrypt, sharkssl_RSA_private_encrypt.

More...
enum  sharkssl_ECDSA_RetVal {
  SHARKSSL_ECDSA_OK = 0, SHARKSSL_ECDSA_ALLOCATION_ERROR = -3200, SHARKSSL_ECDSA_INTERNAL_ERROR = -3300, SHARKSSL_ECDSA_WRONG_PARAMETERS,
  SHARKSSL_ECDSA_WRONG_KEY_FORMAT, SHARKSSL_ECDSA_KEY_NOT_PRIVATE, SHARKSSL_ECDSA_KEY_NOT_PUBLIC, SHARKSSL_ECDSA_SIGLEN_TOO_SMALL,
  SHARKSSL_ECDSA_VERIFICATION_FAIL, SHARKSSL_ECDSA_WRONG_SIGNATURE
}
 

Return values from functions sharkssl_ECDSA_sign_hash, sharkssl_ECDSA_verify_hash.

More...
enum  SharkSslConTrust {
  SharkSslConTrust_NotSSL = 10, SharkSslConTrust_None, SharkSslConTrust_Cert, SharkSslConTrust_Cn,
  SharkSslConTrust_CertCn
}
 

SharkSslCon_trusted return values

More...

Typedef Documentation

typedef struct SharkSsl SharkSsl

A SharkSsl object is the coordinator for managing SharkSslCon objects (See SharkSsl_constructor for details).

typedef const U8* SharkSslCAList

The SharkSSL Certificate Authority (CA) List is in a binary format optimized for speed and size.

The list can be created by calling SharkSslCertStore_assemble or by using the command line tool [SharkSSLParseCAList](SharkSSLParseCAList).

Definition at line 408 of file SharkSSL.h.

typedef const U8* SharkSslCert

The SharkSSL Certificate is in a binary format optimized for speed and size.

The certificate can be created by calling sharkssl_PEM or by using the command line tool [SharkSslParseCert](SharkSslParseCert)

Definition at line 400 of file SharkSSL.h.

typedef struct SharkSslCon SharkSslCon

SharkSslCon is an opaque handle returned by function SharkSsl_createCon.

The lifetime of a SharkSslCon object is as follows:

  • Create a network connection and create a SharkSslCon object by calling SharkSsl_createCon
  • When you are ready to close the connection: close the network connection and call function SharkSsl_terminateCon
See also:
SharkSsl

Definition at line 470 of file SharkSSL.h.

typedef const U8* SharkSslPSKTable

The SharkSSL PSK table is in an optimized binary format.

The table can be created by using the command line tool [SharkSslParsePSKTable](SharkSSLParsePSKTable).

Definition at line 423 of file SharkSSL.h.


Enumeration Type Documentation

Return values from functions sharkssl_ECDSA_sign_hash, sharkssl_ECDSA_verify_hash.

Enumerator:
SHARKSSL_ECDSA_OK 

OK.

SHARKSSL_ECDSA_ALLOCATION_ERROR 

ALLOCATION_ERROR.

SHARKSSL_ECDSA_INTERNAL_ERROR 

INTERNAL_ERROR.

SHARKSSL_ECDSA_WRONG_PARAMETERS 

WRONG_PARAMETERS.

SHARKSSL_ECDSA_WRONG_KEY_FORMAT 

WRONG_KEY_FORMAT.

SHARKSSL_ECDSA_KEY_NOT_PRIVATE 

KEY_IS_NOT_PRIVATE.

SHARKSSL_ECDSA_KEY_NOT_PUBLIC 

KEY_IS_NOT_PUBLIC.

SHARKSSL_ECDSA_SIGLEN_TOO_SMALL 

SIGLEN_TOO_SMALL.

SHARKSSL_ECDSA_VERIFICATION_FAIL 

VERIFICATION_FAIL.

SHARKSSL_ECDSA_WRONG_SIGNATURE 

WRONG SIGNATURE.

Definition at line 1887 of file SharkSSL.h.

Select one of client or server mode when creating a SharkSsl object.

__Note:__ A SharkSsl instance in server mode requires that you install at a minimum one certificate by calling function SharkSsl_addCertificate.

Enumerator:
SharkSsl_Unspecified 

Invalid value

SharkSsl_Server 

Select SSL server mode

SharkSsl_Client 

Select SSL client mode

Definition at line 380 of file SharkSSL.h.

Return values from functions sharkssl_RSA_public_encrypt, sharkssl_RSA_private_decrypt, sharkssl_RSA_public_decrypt, sharkssl_RSA_private_encrypt.

Enumerator:
SHARKSSL_RSA_OK 

OK.

SHARKSSL_RSA_ALLOCATION_ERROR 

ALLOCATION_ERROR.

SHARKSSL_RSA_INTERNAL_ERROR 

INTERNAL_ERROR.

SHARKSSL_RSA_WRONG_PARAMETERS 

WRONG_PARAMETERS.

SHARKSSL_RSA_WRONG_KEY_FORMAT 

WRONG_KEY_FORMAT.

SHARKSSL_RSA_WRONG_KEY_LENGTH 

WRONG_KEY_LENGTH.

SHARKSSL_RSA_INPUT_DATA_LENGTH_TOO_BIG 

INPUT_DATA_LENGTH_TOO_BIG.

SHARKSSL_RSA_INPUT_DATA_LENGTH_AND_KEY_LENGTH_MISMATCH 

INPUT_DATA_LENGTH_AND_KEY_LENGTH_MISMATCH.

SHARKSSL_RSA_PKCS1_PADDING_ERROR 

PKCS1_PADDING_ERROR.

Definition at line 1592 of file SharkSSL.h.

SharkSslCon_trusted return values

Enumerator:
SharkSslConTrust_NotSSL 

Not a secure connection (SSL handshake not completed).

SharkSslConTrust_None 

The SSL certificate is not trusted and the subject's common name does not matches the host name of the URL.

SharkSslConTrust_Cert 

Domain mismatch: The SSL certificate is trusted but the subject's common name does not matches the host name of the URL.

SharkSslConTrust_Cn 

The subject's common name matches the host name of the URL, but the certificate is not trusted.

This is typical for expired certificates.

SharkSslConTrust_CertCn 

The peer's SSL certificate is trusted and the subject's common name matches the host name of the URL.

Definition at line 52 of file SharkSslEx.h.