1
10
13
14
20
21
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
106
111
112
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
143
144
145
...
...
...
#define NX_SECURE_SOURCE_CODE
#include "nx_secure_dtls.h"
...
...
UINT _nx_secure_dtls_server_trusted_certificate_remove(NX_SECURE_DTLS_SERVER *server_ptr,
UCHAR *common_name, UINT common_name_length, UINT cert_id)
{
#ifdef NX_SECURE_ENABLE_DTLS
UINT status;
UINT i;
NX_SECURE_DTLS_SESSION *current_session;
NX_SECURE_TLS_SESSION *tls_session;
NX_SECURE_X509_CERT *list_head = NX_NULL;
UINT num_sessions;
num_sessions = server_ptr -> nx_dtls_server_sessions_count;
if (num_sessions > 0)
{
current_session = &(server_ptr -> nx_dtls_server_sessions[0]);
tls_session = &(current_session -> nx_secure_dtls_tls_session);
if(cert_id != 0)
{
status = _nx_secure_x509_store_certificate_remove(&tls_session -> nx_secure_tls_credentials.nx_secure_tls_certificate_store,
NX_NULL, NX_SECURE_X509_CERT_LOCATION_TRUSTED, cert_id);
}if (cert_id != 0) { ... }
else
{
status = _nx_secure_tls_trusted_certificate_remove(tls_session, common_name, common_name_length);
}else { ... }
if(status != NX_SUCCESS)
{
return(status);
}if (status != NX_SUCCESS) { ... }
list_head = tls_session -> nx_secure_tls_credentials.nx_secure_tls_certificate_store.nx_secure_x509_trusted_certificates;
}if (num_sessions > 0) { ... }
for(i = 1; i < num_sessions; ++i)
{
current_session = &(server_ptr -> nx_dtls_server_sessions[i]);
tls_session = &(current_session -> nx_secure_dtls_tls_session);
tls_session -> nx_secure_tls_credentials.nx_secure_tls_certificate_store.nx_secure_x509_trusted_certificates = list_head;
}for (i = 1; i < num_sessions; ++i) { ... }
return(NX_SUCCESS);/* ... */
#else
NX_PARAMETER_NOT_USED(server_ptr);
NX_PARAMETER_NOT_USED(common_name);
NX_PARAMETER_NOT_USED(common_name_length);
NX_PARAMETER_NOT_USED(cert_id);
return(NX_NOT_SUPPORTED);/* ... */
#endif
}{ ... }