Options and Features Use
100
SWRU455A – February 2017 – Revised March 2017
Copyright © 2017, Texas Instruments Incorporated
Secure Socket
•
SL_SO_SEC_METHOD_SSLv3_TLSV1_2 – all enabled
Example:
SlSockSecureMethod_t method;
_i6 status;
method.SecureMethod = SL_SO_SEC_METHOD_TLSV1 | SL_SO_SEC_METHOD_TLSV1_2;
status = sl_SetSockOpt(sd,SL_SOL_SOCKET,SL_SO_SECMETHOD,&method,
sizeof
(SlSockSecureMethod_t));
7.5.2 Set Cipher Suites
Set the socket to use specific cipher suites. This should be called before sl_Connect, or sl_Listen.
•
SL_SEC_MASK_SSL_RSA_WITH_RC4_128_SHA
•
SL_SEC_MASK_SSL_RSA_WITH_RC4_128_MD5
•
SL_SEC_MASK_TLS_RSA_WITH_AES_256_CBC_SHA
•
SL_SEC_MASK_TLS_DHE_RSA_WITH_AES_256_CBC_SHA
•
SL_SEC_MASK_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
•
SL_SEC_MASK_TLS_ECDHE_RSA_WITH_RC4_128_SHA
•
SL_SEC_MASK_TLS_RSA_WITH_AES_128_CBC_SHA256
•
SL_SEC_MASK_TLS_RSA_WITH_AES_256_CBC_SHA256
•
SL_SEC_MASK_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
•
SL_SEC_MASK_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
•
SL_SEC_MASK_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
•
SL_SEC_MASK_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
•
SL_SEC_MASK_TLS_RSA_WITH_AES_128_GCM_SHA256
•
SL_SEC_MASK_TLS_RSA_WITH_AES_256_GCM_SHA384
•
SL_SEC_MASK_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
•
SL_SEC_MASK_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
•
SL_SEC_MASK_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
•
SL_SEC_MASK_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
•
SL_SEC_MASK_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
•
SL_SEC_MASK_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
•
SL_SEC_MASK_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
•
SL_SEC_MASK_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
•
SL_SEC_MASK_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
Example:
SlSockSecureMask_t mask;
_i16 status;
mask.SecureMask = SL_SEC_MASK_TLS_RSA_WITH_AES_256_CBC_SHA |
SL_SEC_MASK_TLS_RSA_WITH_AES_256_CBC_SHA;
status = sl_SetSockOpt(sd,SL_SOL_SOCKET,SL_SO_SECURE_MASK,&mask,
sizeof
(SlSockSecureMask_t));
7.5.3 Set Certificates, Root CA, Private Key, and DH Files
Set filenames to be used during the SSL handshake. The files must be programmed to the NWP file
system. The files should be in PEM or DER format. The client can successfully connect to a server that
does not require client authentication, without any files (the server would not be verified, because no root
CA is programmed). The server must provide a server certificate during the SSL handshake, and therefore
must use this sl_SetSockOpt command to provide the certificate and private key of the server.
DH files are Diffie Hellman parameters files. These parameter files contain parameters for generating a
DH key when using DHE cipher suites in server mode.