Lines Matching refs:session
32 static int MbedtlsSslCertificateVerify(MbedTLSSession *session)
34 if (session == NULL) {
37 int ret = mbedtls_ssl_get_verify_result(&session->ssl);
40 (void)memset_s(session->buffer, session->buffer_len, 0x00, session->buffer_len);
41 mbedtls_x509_crt_verify_info((char *)session->buffer, session->buffer_len, " ! ", ret);
42 LOGD("verification info: %s.", session->buffer);
48 int MbedtlsClientInit(MbedTLSSession *session, void *entropy, size_t entropyLen)
50 if (session == NULL || entropy == NULL) {
53 mbedtls_net_init(&session->server_fd);
54 mbedtls_ssl_init(&session->ssl);
55 mbedtls_ssl_config_init(&session->conf);
56 mbedtls_ctr_drbg_init(&session->ctr_drbg);
57 mbedtls_entropy_init(&session->entropy);
58 mbedtls_x509_crt_init(&session->cacert);
59 int ret = mbedtls_ctr_drbg_seed(&session->ctr_drbg, mbedtls_entropy_func, &session->entropy,
69 int MbedtlsClientClose(MbedTLSSession *session)
71 if (session == NULL) {
74 mbedtls_ssl_close_notify(&session->ssl);
75 mbedtls_net_free(&session->server_fd);
76 mbedtls_x509_crt_free(&session->cacert);
77 mbedtls_entropy_free(&session->entropy);
78 mbedtls_ctr_drbg_free(&session->ctr_drbg);
79 mbedtls_ssl_config_free(&session->conf);
80 mbedtls_ssl_free(&session->ssl);
85 int MbedtlsClientContext(MbedTLSSession *session)
87 if (session == NULL) {
90 int ret = mbedtls_x509_crt_parse(&session->cacert, (const unsigned char *)G_MBEDTLS_ROOT_CERTIFICATE,
100 if (session->host != NULL) {
101 ret = mbedtls_ssl_set_hostname(&session->ssl, session->host);
108 ret = mbedtls_ssl_config_defaults(&session->conf,
119 mbedtls_ssl_conf_authmode(&session->conf, MBEDTLS_SSL_VERIFY_NONE);
120 mbedtls_ssl_conf_ca_chain(&session->conf, &session->cacert, NULL);
121 mbedtls_ssl_conf_rng(&session->conf, mbedtls_ctr_drbg_random, &session->ctr_drbg);
122 mbedtls_ssl_conf_dbg(&session->conf, SslDebug, NULL);
123 ret = mbedtls_ssl_setup(&session->ssl, &session->conf);
133 int MbedtlsClientConnect(MbedTLSSession *session)
135 if (session == NULL) {
138 LOGD("connect: host:%s, port: %s", session->host, session->port);
140 int ret = mbedtls_net_connect(&session->server_fd, session->host, session->port, MBEDTLS_NET_PROTO_TCP);
145 LOGD("Connected %s:%s fd:%d, success...", session->host, session->port, session->server_fd.fd);
147 mbedtls_ssl_set_bio(&session->ssl, &session->server_fd, mbedtls_net_send, mbedtls_net_recv, NULL);
149 while ((ret = mbedtls_ssl_handshake(&session->ssl)) != 0) {
151 if (RET_EOK != MbedtlsSslCertificateVerify(session)) {
160 if (RET_EOK != MbedtlsSslCertificateVerify(session)) {
170 int MbedtlsClientRead(MbedTLSSession *session, unsigned char *buf, size_t len)
172 if (session == NULL || buf == NULL) {
175 int ret = mbedtls_ssl_read(&session->ssl, (unsigned char *)buf, len);
182 int MbedtlsClientWrite(MbedTLSSession *session, const unsigned char *buf, size_t len)
184 if (session == NULL || buf == NULL) {
187 int ret = mbedtls_ssl_write(&session->ssl, (unsigned char *)buf, len);