Ssl Namespace Reference

Namespaces

 CipherSuites
 Standard cipher suite options The actual suites are implementation-specific.
 

Classes

class  CallbackValidator
 Validator class wrapping a user-provided callback delegate, plus optional parameter. More...
 
class  Certificate
 Implemented by SSL adapter to handle certificate operations. More...
 
class  Connection
 Implemented by SSL adapter to handle a connection. More...
 
class  Context
 Implemented by SSL adapter to create and manage SSL connections. More...
 
class  Factory
 Implemented by SSL adapter. More...
 
union  Fingerprint
 Various types of fingerprint. More...
 
class  FingerprintValidator
 Class template to validate any kind of fingerprint. More...
 
class  InputBuffer
 Wraps a pbuf for reading in chunks. More...
 
class  KeyCertPair
 Class to manage an SSL key certificate with optional password. More...
 
struct  Options
 Configurable options. More...
 
class  Session
 Handles all SSL activity for a TCP connection. More...
 
class  SessionId
 Manages buffer to store SSL Session ID. More...
 
class  Validator
 Base validator class. More...
 
class  ValidatorList
 Performs certificate validation. More...
 

Typedefs

using ValidatorCallback = Delegate< bool(const Certificate *certificate, void *data)>
 Validator callback function. More...
 

Enumerations

enum  Alert { Alert::Invalid = -1, Alert::XX }
 Alert codes defined by the standard. More...
 
enum  CipherSuite : uint16_t { CipherSuite::XX }
 Cipher suite identifier. More...
 
enum  MaxBufferSize {
  MaxBufferSize::Default = 0, MaxBufferSize::B512, MaxBufferSize::K1, MaxBufferSize::K2,
  MaxBufferSize::K4, MaxBufferSize::K8, MaxBufferSize::K16
}
 Indicate to SSL how much memory (approximately) to commit for buffers. More...
 

Functions

String getAlertString (Alert alert)
 
String toString (Certificate::RDN rdn)
 Obtain a string describing the given name component. More...
 
String toString (CipherSuite id)
 Gets the name of the cipher suite. More...
 
size_t maxBufferSizeToBytes (MaxBufferSize value)
 
String toString (const Options &options)
 
String toString (const SessionId &id)
 

Variables

Factoryfactory
 Provided by ssl adapter, NULL if SSL is disabled. More...
 

Typedef Documentation

◆ ValidatorCallback

using Ssl::ValidatorCallback = typedef Delegate<bool(const Certificate* certificate, void* data)>

Validator callback function.

Parameters
sslContains certificate to validate (may be NULL)
dataData for the callback to use
Return values
booltrue if validation succeeded
Note
Callback must ALWAYS release any allocated memory before returning. If called with certificate = NULL then just release memory and return false.

Enumeration Type Documentation

◆ Alert

enum Ssl::Alert
strong

Alert codes defined by the standard.

See also
See https://tools.ietf.org/html/rfc8446#page-85
Enumerator
Invalid 

Not an alert code.

XX 

◆ CipherSuite

enum Ssl::CipherSuite : uint16_t
strong

Cipher suite identifier.

The TLS standard specifies codes using two 8-bit values. We combine these into a single 16-bit value in MSB-LSB order.

For example:

TLS_RSA_WITH_AES_128_CBC_SHA = { 0x00, 0x2F } = 0x002F

See also
Refer to CipherSuite.h for defined values.
Enumerator
XX 

◆ MaxBufferSize

enum Ssl::MaxBufferSize
strong

Indicate to SSL how much memory (approximately) to commit for buffers.

A remote SSL server may require data transfers in large (16K) fragments, so restricting buffer sizes may cause connections to such servers to fail.

This must be balanced against other requirements for RAM by the application, therefore this setting can be used to restrict RAM usage.

Note
The ordinal value of this enumeration corresponds to SSL fragment size as defined in Maximum Fragment Length Negotiation https://tools.ietf.org/html/rfc6066
Enumerator
Default 

Let SSL implementation decide.

B512 

512 bytes

K1 

1024 bytes

K2 
K4 
K8 
K16 

Function Documentation

◆ getAlertString()

String Ssl::getAlertString ( Alert  alert)

◆ maxBufferSizeToBytes()

size_t Ssl::maxBufferSizeToBytes ( MaxBufferSize  value)

◆ toString() [1/4]

String Ssl::toString ( Certificate::RDN  rdn)

Obtain a string describing the given name component.

◆ toString() [2/4]

String Ssl::toString ( CipherSuite  id)

Gets the name of the cipher suite.

Parameters
idSuite identifier
Return values
String

◆ toString() [3/4]

String Ssl::toString ( const Options options)

◆ toString() [4/4]

String Ssl::toString ( const SessionId id)

Variable Documentation

◆ factory

Factory* Ssl::factory

Provided by ssl adapter, NULL if SSL is disabled.