SharkSSL C/C++ Reference
TLS, cryptography, certificates, and PSA integration

Detailed Description

Macros

#define SHARKSSL_PSA_CONSUMER_SECRET_HANDLES   0
 Select 1 to use an external PSA Crypto provider for TLS operations. More...
 
#define SHARKSSL_PSA_CONSUMER_STRICT_IDENTITY   0
 Select 1 to require a PSA signing key for every local TLS identity. More...
 

Macro Definition Documentation

◆ SHARKSSL_PSA_CONSUMER_SECRET_HANDLES

#define SHARKSSL_PSA_CONSUMER_SECRET_HANDLES   0

Select 1 to use an external PSA Crypto provider for TLS operations.

Select 1 to enable standalone AES through the external PSA provider. Link SharkSslPSAConsumerAES.c when enabled. Enable standalone ChaCha20 through the external PSA provider. Select 1 to keep TLS 1.3 handshake and traffic secrets in PSA key handles. Requires SHARKSSL_PSA_CONSUMER=1, TLS 1.3, and a provider supporting HKDF derivation from key handles, including a key handle as the HKDF salt. TLS 1.2 uses PSA master and record key handles independently of this option. The default consumer path remains available for other PSA providers.

◆ SHARKSSL_PSA_CONSUMER_STRICT_IDENTITY

#define SHARKSSL_PSA_CONSUMER_STRICT_IDENTITY   0

Select 1 to require a PSA signing key for every local TLS identity.

Certificate blobs must contain only the public key. The provider key's public half and signing policy are checked when adding the certificate.