| Samsung Internal API reference 2.0

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

tee_tlssocket.h
Go to the documentation of this file.
1
9 #ifndef __TEE_ISOCKET_TLS__
10 #define __TEE_ISOCKET_TLS__
11
12 #include "tee_isocket.h"
13
17 enum {
18 TEE_ISOCKET_TLS_API_VERSION = 0x01030000
19 };
20
24 enum {
25 TEE_ISOCKET_PROTOCOLID_TLS = 0x67
26 };
27
31 enum {
32 TEE_ISOCKET_TLS_ERROR_REJECTED_SUITE = 0xF1030001,
33 TEE_ISOCKET_TLS_ERROR_VERSION = 0xF1030002,
34 TEE_ISOCKET_TLS_ERROR_UNSUPPORTED_SUITE = 0xF1030003,
35 TEE_ISOCKET_TLS_ERROR_HANDSHAKE = 0xF1030004,
36 TEE_ISOCKET_TLS_ERROR_AUTHENTICATION = 0xF1030005,
37 TEE_ISOCKET_TLS_ERROR_DATA = 0xF1030006,
38 };
39
43 typedef enum TEE_tlsSocket_tlsVersion_e {
44 TEE_TLS_VERSION_ALL = 0,
45 TEE_TLS_VERSION_1v2 = 1,
46 } TEE_tlsSocket_tlsVersion;
47
51 typedef enum TEE_tlsSocket_CipherSuites_e {
52 TLS_NULL_WITH_NULL_NULL = 0x0000, /* LIST TERMINATION */
53 TLS_RSA_WITH_3DES_EDE_CBC_SHA = 0x000A, /* [RFC5246] */
54 TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 0x0013, /* [RFC5246] */
55 TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x0016, /* [RFC5246] */
56 TLS_RSA_WITH_AES_128_CBC_SHA = 0x002F, /* [RFC5246] */
57 TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032, /* [RFC5246] */
58 TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033, /* [RFC5246] */
59 TLS_RSA_WITH_AES_256_CBC_SHA = 0x0035, /* [RFC5246] */
60 TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x0038, /* [RFC5246] */
61 TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x0039, /* [RFC5246] */
62 TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x003C, /* [RFC5246] */
63 TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D, /* [RFC5246] */
64 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x0040, /* [RFC5246] */
65 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067, /* [RFC5246] */
66 TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x006A, /* [RFC5246] */
67 TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B, /* [RFC5246] */
68
69 TLS_PSK_WITH_3DES_EDE_CBC_SHA = 0x008B, /* [RFC4279] */
70 TLS_PSK_WITH_AES_128_CBC_SHA = 0x008C, /* [RFC4279] */
71 TLS_PSK_WITH_AES_256_CBC_SHA = 0x008D, /* [RFC4279] */
72 TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = 0x008F, /* [RFC4279] */
73 TLS_DHE_PSK_WITH_AES_128_CBC_SHA = 0x0090, /* [RFC4279] */
74 TLS_DHE_PSK_WITH_AES_256_CBC_SHA = 0x0091, /* [RFC4279] */
75 TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = 0x0093, /* [RFC4279] */
76 TLS_RSA_PSK_WITH_AES_128_CBC_SHA = 0x0094, /* [RFC4279] */
77 TLS_RSA_PSK_WITH_AES_256_CBC_SHA = 0x0095, /* [RFC4279] */
78
79 TLS_RSA_WITH_AES_128_GCM_SHA256 = 0x009C, /* [RFC5288] */
80 TLS_RSA_WITH_AES_256_GCM_SHA384 = 0x009D, /* [RFC5288] */
81 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 0x009E, /* [RFC5288] */
82 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 0x009F, /* [RFC5288] */
83 TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 0x00A2, /* [RFC5288] */
84 TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 0x00A3, /* [RFC5288] */
85
86 TLS_PSK_WITH_AES_128_GCM_SHA256 = 0x00A8, /* [RFC5487] */
87 TLS_PSK_WITH_AES_256_GCM_SHA384 = 0x00A9, /* [RFC5487] */
88 TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 0x00AA, /* [RFC5487] */
89 TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 0x00AB, /* [RFC5487] */
90 TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 0x00AC, /* [RFC5487] */
91 TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 0x00AD, /* [RFC5487] */
92 TLS_PSK_WITH_AES_128_CBC_SHA256 = 0x00AE, /* [RFC5487] */
93 TLS_PSK_WITH_AES_256_CBC_SHA384 = 0x00AF, /* [RFC5487] */
94 TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 0x00B2, /* [RFC5487] */
95 TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 0x00B3, /* [RFC5487] */
96 TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 0x00B6, /* [RFC5487] */
97 TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 0x00B7, /* [RFC5487] */
98
99 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 0xC008, /* [RFC4492] */
100 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 0xC009, /* [RFC4492] */
101 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 0xC00A, /* [RFC4492] */
102 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 0xC012, /* [RFC4492] */
103 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 0xC013, /* [RFC4492] */
104 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 0xC014, /* [RFC4492] */
105
106 TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = 0xC01A, /* [RFC5054] */
107 TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = 0xC01B, /* [RFC5054] */
108 TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = 0xC01C, /* [RFC5054] */
109 TLS_SRP_SHA_WITH_AES_128_CBC_SHA = 0xC01D, /* [RFC5054] */
110 TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = 0xC01E, /* [RFC5054] */
111 TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = 0xC01F, /* [RFC5054] */
112 TLS_SRP_SHA_WITH_AES_256_CBC_SHA = 0xC020, /* [RFC5054] */
113 TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = 0xC021, /* [RFC5054] */
114 TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = 0xC022, /* [RFC5054] */
115
116 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC023, /* [RFC5289] */
117 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC024, /* [RFC5289] */
118 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 0xC027, /* [RFC5289] */
119 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 0xC028, /* [RFC5289] */
120 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02B, /* [RFC5289] */
121 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02C, /* [RFC5289] */
122 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 0xC02F, /* [RFC5289] */
123 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 0xC030, /* [RFC5289] */
124 TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = 0xC034, /* [RFC5489] */
125 TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = 0xC035, /* [RFC5489] */
126 TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = 0xC036, /* [RFC5489] */
127 TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = 0xC037, /* [RFC5489] */
128 TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 0xC038, /* [RFC5489] */
129
130 TLS_RSA_WITH_AES_128_CCM = 0xC09C, /* [RFC6655] */
131 TLS_RSA_WITH_AES_256_CCM = 0xC09D, /* [RFC6655] */
132 TLS_DHE_RSA_WITH_AES_128_CCM = 0xC09E, /* [RFC6655] */
133 TLS_DHE_RSA_WITH_AES_256_CCM = 0xC09F, /* [RFC6655] */
134 TLS_PSK_WITH_AES_128_CCM = 0xC0A4, /* [RFC6655] */
135 TLS_PSK_WITH_AES_256_CCM = 0xC0A5, /* [RFC6655] */
136 TLS_DHE_PSK_WITH_AES_128_CCM = 0xC0A6, /* [RFC6655] */
137 TLS_DHE_PSK_WITH_AES_256_CCM = 0xC0A7, /* [RFC6655] */
138 } TEE_tlsSocket_CipherSuites;
139
146 typedef struct TEE_tlsSocket_PSK_Info_s {
147 TEE_ObjectHandle pskKey;
148 char *pskIdentity;
149 } TEE_tlsSocket_PSK_Info;
150
157 typedef struct TEE_tlsSocket_SRP_Info_s {
158 char *srpPassword;
159 char *srpIdentity;
160 } TEE_tlsSocket_SRP_Info;
161
167 typedef struct TEE_tlsSocket_ClientPDC_s {
168 TEE_ObjectHandle privateKey;
169 char *bulkCertChain;
170 uint32_t bulkSize;
171 } TEE_tlsSocket_ClientPDC;
172
179 typedef struct TEE_tlsSocket_ServerPDC_s {
180 TEE_ObjectHandle publicKey;
181 char *bulkCertChain;
182 uint32_t bulkSize;
183 } TEE_tlsSocket_ServerPDC;
184
191 typedef struct TEE_tlsSocket_CertStorageCred_s {
192 } TEE_tlsSocket_CertStorageCred;
193
197 typedef enum TEE_tlsSocket_ClientCredentialType_e {
198 TEE_TLS_CLIENT_CRED_NONE = 0,
199 TEE_TLS_CLIENT_CRED_PDC = 1,
200 TEE_TLS_CLIENT_CRED_CSC = 2,
201 } TEE_tlsSocket_ClientCredentialType;
202
206 typedef enum TEE_tlsSocket_ServerCredentialType_e {
207 TEE_TLS_SERVER_CRED_PDC = 0,
208 TEE_TLS_SERVER_CRED_CSC = 1,
209 } TEE_tlsSocket_ServerCredentialType;
210
214 typedef struct TEE_tlsSocket_Credentials_s {
215 TEE_tlsSocket_ServerCredentialType serverCredType;
216 union {
217 TEE_tlsSocket_ServerPDC *serverCred;
218 TEE_tlsSocket_CertStorageCred *rootCertStore;
219 };
220 TEE_tlsSocket_ClientCredentialType clientCredType;
221 union {
222 TEE_tlsSocket_ClientPDC *clientCred;
223 TEE_tlsSocket_CertStorageCred *clientCertStore;
224 };
225 } TEE_tlsSocket_Credentials;
226
230 typedef enum TEE_tlsSocket_CallbackReasonType_e {
231 TEE_ISOCKET_TLS_CB_CHECK_CERT_CHAIN = 1,
232 TEE_ISOCKET_TLS_CB_BAD_CERT_CHAIN = 2,
233 TEE_ISOCKET_TLS_CB_CHECK_OCSP_STATUS = 11,
234 TEE_ISOCKET_TLS_CB_UNKNOWN_OCSP_STATUS = 12,
235 TEE_ISOCKET_TLS_CB_REVOKED_OCSP_STATUS = 13,
236 } TEE_tlsSocket_CallbackReasonType;
237
241 typedef struct TEE_tlsSocket_CallbackInfo_s {
242 TEE_tlsSocket_CallbackReasonType reason;
243 TEE_Result result;
244 uint32_t protocolError;
245 } TEE_tlsSocket_CallbackInfo;
246
253 typedef TEE_Result (*TEE_tlsCallback)(
254 TEE_iSocketHandle ctx,
255 TEE_tlsSocket_CallbackInfo *cbInfo,
256 void *cbData,
257 uint32_t *cbDataLength);
258
262 typedef enum TEE_tlsSocket_StatusRequestType_e {
263 TEE_ISOCKET_TLS_OCSP_STATUS_REQUEST_NO = 0,
264 TEE_ISOCKET_TLS_OCSP_STATUS_REQUEST = 1,
265 //TEE_ISOCKET_TLS_OCSP_STATUS_REQUEST_V2 = 17, // TODO: OCSP stapling V2 MULTIPLE certificate status request - RFC 6961
266 } TEE_tlsSocket_StatusRequestType;
267
271 typedef enum TEE_tlsSocket_ExtensionFlags_e {
272 TEE_ISOCKET_TLS_CERT_NAME_CHECK_CLIENT = 0x00000001,
273 TEE_ISOCKET_TLS_CERT_KEYUSAGE_CHECK_CLIENT = 0x00000002,
274 TEE_ISOCKET_TLS_CERT_NOTIFY_CLIENT = 0x00000004,
275 TEE_ISOCKET_TLS_OCSP_CHECK_CLIENT = 0x00010000,
276 TEE_ISOCKET_TLS_OCSP_CHECK_ADVISORY = 0x00020000,
277 TEE_ISOCKET_TLS_OCSP_CHECK_MANDATORY = 0x00040000,
278 } TEE_tlsSocket_ExtensionFlags;
279
280 enum {
281 TEE_ISOCKET_TLS_MAX_ALPN_LIST_LENGTH = 16
282 };
283
287 typedef struct TEE_tlsSocket_Setup_s {
288 uint32_t apiVersion;
289 TEE_tlsSocket_tlsVersion acceptServerVersion;
291 TEE_tlsSocket_CipherSuites *allowedCipherSuites;
299 union {
300 TEE_tlsSocket_PSK_Info *PSKInfo;
301 TEE_tlsSocket_SRP_Info *SRPInfo;
302 };
304 TEE_tlsSocket_Credentials *credentials;
306 TEE_iSocket *baseSocket;
307 TEE_iSocketHandle *baseContext;
309 TEE_tlsSocket_ExtensionFlags extFlags;
310 char *serverName;
322 TEE_tlsCallback tlsCallback;
332 char **alpnList;
338 TEE_tlsSocket_StatusRequestType ocspStatusType;
350 } TEE_tlsSocket_Setup;
351
361 typedef struct TEE_tlsSocket_CB_Data_s {
362 uint32_t cb_data_size;
363 uint8_t cb_data[];
364 } TEE_tlsSocket_CB_Data;
365
369 enum {
370 /* Retrieve channel binding information for the current connection.
371 * The returned buffer can be interpreted as an instance of the structure TEE_tlsSocket_CB_Data.
372 * If no channel binding information is available, the output length is 0 */
373 TEE_TLS_BINDING_INFO = 0x67000001,
374 };
375
379 extern const TEE_iSocket *const TEE_tlsSocket DSO_EXPORT;
380
381 #endif /* !__TEE_ISOCKET_TLS__ */
382
TEE_ISOCKET_TLS_OCSP_CHECK_CLIENT
Definition: tee_tlssocket.h:275
TEE_ISOCKET_TLS_ERROR_DATA
Definition: tee_tlssocket.h:37
TEE_ISOCKET_TLS_CB_REVOKED_OCSP_STATUS
Definition: tee_tlssocket.h:235
TEE_ISOCKET_TLS_CB_BAD_CERT_CHAIN
Definition: tee_tlssocket.h:232
TEE_tlsSocket_ServerPDC
struct TEE_tlsSocket_ServerPDC_s TEE_tlsSocket_ServerPDC
If the server Root public key has been pre-distributed to the TA, this structure holds the TEE_Object...
TEE_tlsSocket_StatusRequestType
enum TEE_tlsSocket_StatusRequestType_e TEE_tlsSocket_StatusRequestType
OCSP stapling certificate status request type.
TEE_tlsSocket_PSK_Info
struct TEE_tlsSocket_PSK_Info_s TEE_tlsSocket_PSK_Info
Pre-Shared Key (PSK). When PSK is used, the TA needs to provide the key and a key identity to the TLS...
TEE_ISOCKET_TLS_CB_CHECK_OCSP_STATUS
Definition: tee_tlssocket.h:233
TEE_tlsSocket_Setup_s::baseSocket
TEE_iSocket * baseSocket
Definition: tee_tlssocket.h:306
TEE_TLS_CLIENT_CRED_PDC
Definition: tee_tlssocket.h:199
TEE_ISOCKET_TLS_CERT_NAME_CHECK_CLIENT
Definition: tee_tlssocket.h:272
TEE_tlsSocket_Setup_s::alpnList
char ** alpnList
Definition: tee_tlssocket.h:332
TEE_tlsSocket_Credentials_s::clientCredType
TEE_tlsSocket_ClientCredentialType clientCredType
Definition: tee_tlssocket.h:220
TEE_ISOCKET_PROTOCOLID_TLS
Definition: tee_tlssocket.h:25
TEE_TLS_SERVER_CRED_CSC
Definition: tee_tlssocket.h:208
TEE_tlsSocket_ExtensionFlags
enum TEE_tlsSocket_ExtensionFlags_e TEE_tlsSocket_ExtensionFlags
Certificate/OCSP validation mode and callback control flags.
TEE_tlsSocket_ClientPDC_s
This structure holds the opaque client certificate for the TA as well as the corresponding private ke...
Definition: tee_tlssocket.h:167
TEE_tlsSocket_Credentials_s
Structure holding server and client credentials.
Definition: tee_tlssocket.h:214
TEE_tlsSocket_SRP_Info_s
Secure Remote Password (SRP). When SRP is used, the TA needs to provide the password and the user ide...
Definition: tee_tlssocket.h:157
TEE_TLS_VERSION_1v2
Definition: tee_tlssocket.h:45
TEE_ISOCKET_TLS_CERT_NOTIFY_CLIENT
Definition: tee_tlssocket.h:274
TEE_tlsSocket_CipherSuites_e
TEE_tlsSocket_CipherSuites_e
Cryptosuite ID definitions.
Definition: tee_tlssocket.h:51
TEE_ISOCKET_TLS_ERROR_REJECTED_SUITE
Definition: tee_tlssocket.h:32
TEE_tlsSocket_Setup_s::acceptServerVersion
TEE_tlsSocket_tlsVersion acceptServerVersion
Definition: tee_tlssocket.h:289
TEE_tlsSocket_StatusRequestType_e
TEE_tlsSocket_StatusRequestType_e
OCSP stapling certificate status request type.
Definition: tee_tlssocket.h:262
TEE_tlsSocket_ClientCredentialType
enum TEE_tlsSocket_ClientCredentialType_e TEE_tlsSocket_ClientCredentialType
This specifies what kind of client credentials the TA has.
TEE_tlsSocket_Setup
struct TEE_tlsSocket_Setup_s TEE_tlsSocket_Setup
TLS Setup structure.
TEE_iSocketHandle
struct __TEE_iSocketHandle * TEE_iSocketHandle
iSocket context handle
Definition: tee_isocket.h:46
TEE_tlsSocket_Setup_s::apiVersion
uint32_t apiVersion
Definition: tee_tlssocket.h:288
TEE_tlsSocket_Setup_s
TLS Setup structure.
Definition: tee_tlssocket.h:287
TEE_ISOCKET_TLS_OCSP_STATUS_REQUEST
Definition: tee_tlssocket.h:264
TEE_ISOCKET_TLS_OCSP_CHECK_MANDATORY
Definition: tee_tlssocket.h:277
TEE_ISOCKET_TLS_API_VERSION
Definition: tee_tlssocket.h:18
TEE_tlsSocket_tlsVersion
enum TEE_tlsSocket_tlsVersion_e TEE_tlsSocket_tlsVersion
TLS protocol version to use.
TEE_TLS_CLIENT_CRED_NONE
Definition: tee_tlssocket.h:198
TEE_tlsCallback
TEE_Result(* TEE_tlsCallback)(TEE_iSocketHandle ctx, TEE_tlsSocket_CallbackInfo *cbInfo, void *cbData, uint32_t *cbDataLength)
Callback function. This is specification extension. Used to allow client perform custom checks of cer...
Definition: tee_tlssocket.h:253
TEE_tlsSocket_CertStorageCred_s
Void type for future usage. Applications SHALL pass a NULL pointer. The intention is to have this str...
Definition: tee_tlssocket.h:191
TEE_tlsSocket_SRP_Info
struct TEE_tlsSocket_SRP_Info_s TEE_tlsSocket_SRP_Info
Secure Remote Password (SRP). When SRP is used, the TA needs to provide the password and the user ide...
TEE_tlsSocket_Setup_s::allowedCipherSuites
TEE_tlsSocket_CipherSuites * allowedCipherSuites
Definition: tee_tlssocket.h:291
TEE_tlsSocket_ServerCredentialType
enum TEE_tlsSocket_ServerCredentialType_e TEE_tlsSocket_ServerCredentialType
This specifies what kind of server credentials a remote node has.
TEE_TLS_SERVER_CRED_PDC
Definition: tee_tlssocket.h:207
TEE_tlsSocket_Setup_s::tlsCallback
TEE_tlsCallback tlsCallback
Definition: tee_tlssocket.h:322
TEE_tlsSocket_CipherSuites
enum TEE_tlsSocket_CipherSuites_e TEE_tlsSocket_CipherSuites
Cryptosuite ID definitions.
TEE_tlsSocket_Credentials_s::serverCredType
TEE_tlsSocket_ServerCredentialType serverCredType
Definition: tee_tlssocket.h:215
TEE_tlsSocket_Setup_s::ocspStatusType
TEE_tlsSocket_StatusRequestType ocspStatusType
Definition: tee_tlssocket.h:338
tee_isocket.h
GP iSockets interface (GPD_SPE_100)
TEE_tlsSocket_Setup_s::extFlags
TEE_tlsSocket_ExtensionFlags extFlags
Definition: tee_tlssocket.h:309
TEE_ISOCKET_TLS_CB_CHECK_CERT_CHAIN
Definition: tee_tlssocket.h:231
TEE_tlsSocket_CertStorageCred
struct TEE_tlsSocket_CertStorageCred_s TEE_tlsSocket_CertStorageCred
Void type for future usage. Applications SHALL pass a NULL pointer. The intention is to have this str...
TEE_tlsSocket
const TEE_iSocket *const TEE_tlsSocket
Public TLS instance pointer.
TEE_ISOCKET_TLS_CERT_KEYUSAGE_CHECK_CLIENT
Definition: tee_tlssocket.h:273
TEE_tlsSocket_Setup_s::serverName
char * serverName
Definition: tee_tlssocket.h:310
TEE_tlsSocket_CallbackReasonType_e
TEE_tlsSocket_CallbackReasonType_e
Callback types.
Definition: tee_tlssocket.h:230
TEE_tlsSocket_PSK_Info_s
Pre-Shared Key (PSK). When PSK is used, the TA needs to provide the key and a key identity to the TLS...
Definition: tee_tlssocket.h:146
TEE_ISOCKET_TLS_ERROR_UNSUPPORTED_SUITE
Definition: tee_tlssocket.h:34
TEE_tlsSocket_tlsVersion_e
TEE_tlsSocket_tlsVersion_e
TLS protocol version to use.
Definition: tee_tlssocket.h:43
TEE_tlsSocket_ClientCredentialType_e
TEE_tlsSocket_ClientCredentialType_e
This specifies what kind of client credentials the TA has.
Definition: tee_tlssocket.h:197
TEE_ISOCKET_TLS_ERROR_VERSION
Definition: tee_tlssocket.h:33
TEE_tlsSocket_Credentials
struct TEE_tlsSocket_Credentials_s TEE_tlsSocket_Credentials
Structure holding server and client credentials.
TEE_ISOCKET_TLS_ERROR_HANDSHAKE
Definition: tee_tlssocket.h:35
TEE_TLS_VERSION_ALL
Definition: tee_tlssocket.h:44
TEE_tlsSocket_Setup_s::baseContext
TEE_iSocketHandle * baseContext
Definition: tee_tlssocket.h:307
TEE_tlsSocket_Setup_s::credentials
TEE_tlsSocket_Credentials * credentials
Definition: tee_tlssocket.h:304
TEE_iSocket_s
iSocket instance Please refer to GPD_SPE_100 specification for detailed description. Basic rules are following:
Definition: tee_isocket.h:63
TEE_tlsSocket_ClientPDC
struct TEE_tlsSocket_ClientPDC_s TEE_tlsSocket_ClientPDC
This structure holds the opaque client certificate for the TA as well as the corresponding private ke...
TEE_ISOCKET_TLS_OCSP_STATUS_REQUEST_NO
Definition: tee_tlssocket.h:263
TEE_tlsSocket_CB_Data
struct TEE_tlsSocket_CB_Data_s TEE_tlsSocket_CB_Data
IOCTL definitions.
TEE_tlsSocket_CallbackReasonType
enum TEE_tlsSocket_CallbackReasonType_e TEE_tlsSocket_CallbackReasonType
Callback types.
TEE_tlsSocket_CB_Data_s
IOCTL definitions.
Definition: tee_tlssocket.h:361
TEE_tlsSocket_CallbackInfo
struct TEE_tlsSocket_CallbackInfo_s TEE_tlsSocket_CallbackInfo
Callback description structure.
TEE_TLS_CLIENT_CRED_CSC
Definition: tee_tlssocket.h:200
TEE_ISOCKET_TLS_OCSP_CHECK_ADVISORY
Definition: tee_tlssocket.h:276
TEE_ISOCKET_TLS_ERROR_AUTHENTICATION
Definition: tee_tlssocket.h:36
TEE_tlsSocket_ExtensionFlags_e
TEE_tlsSocket_ExtensionFlags_e
Certificate/OCSP validation mode and callback control flags.
Definition: tee_tlssocket.h:271
TEE_tlsSocket_ServerPDC_s
If the server Root public key has been pre-distributed to the TA, this structure holds the TEE_Object...
Definition: tee_tlssocket.h:179
TEE_tlsSocket_CallbackInfo_s
Callback description structure.
Definition: tee_tlssocket.h:241
TEE_ISOCKET_TLS_CB_UNKNOWN_OCSP_STATUS
Definition: tee_tlssocket.h:234
TEE_tlsSocket_ServerCredentialType_e
TEE_tlsSocket_ServerCredentialType_e
This specifies what kind of server credentials a remote node has.
Definition: tee_tlssocket.h:206