新手入门
- 积分
- 12
- 金钱
- 12
- 注册时间
- 2018-12-5
- 在线时间
- 45 小时
|
5金钱
mbedtls_ssl_init(&ssl);
mbedtls_ssl_config_init(&conf);
mbedtls_x509_crt_init(&cacert);
mbedtls_x509_crt_init(&cli_cert);
mbedtls_pk_init(&cli_key);
mbedtls_ctr_drbg_init(&ctr_drbg);
mbedtls_entropy_init(&entropy);
mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &entropy, (const unsigned char*) pers,
strlen(pers)));
mbedtls_x509_crt_parse(&cacert, (const unsigned char*) mbedtls_aws_root_certificate, mbedtls_aws_root_certificate_len);
mbedtls_x509_crt_parse(&cli_cert, (const unsigned char *) mbedtls_client_certificate, mbedtls_client_certificate_len);
mbedtls_pk_parse_key(&cli_key, (const unsigned char *)mbedtls_client_key, mbedtls_client_key_len , (unsigned char const *)"", 0);
mbedtls_ssl_config_defaults(&conf, MBEDTLS_SSL_IS_CLIENT,
MBEDTLS_SSL_TRANSPORT_STREAM, MBEDTLS_SSL_PRESET_DEFAULT);
mbedtls_ssl_conf_authmode(&conf, MBEDTLS_SSL_VERIFY_OPTIONAL);
mbedtls_ssl_conf_ca_chain(&conf, &cacert, NULL);
mbedtls_ssl_conf_rng(&conf, mbedtls_ctr_drbg_random, &ctr_drbg);
mbedtls_ssl_conf_dbg(&conf, my_debug, stdout);
mbedtls_ssl_conf_own_cert(&conf, &cli_cert, &cli_key);
mbedtls_ssl_conf_read_timeout(&conf, 1000);
mbedtls_ssl_setup(&ssl, &conf);
mbedtls_ssl_set_hostname(&ssl, host);
mbedtls_ssl_set_bio(&ssl, &server_fd, mbedtls_net_send, mbedtls_net_recv, NULL); //这里有连接时调用的发送与接收函数/////////
能通过证书的校验和连接服务器。 连接上服务器之后,订阅了 toplic。但是服务器返回来的数据在哪里接收? 连接服务器时,网络接收是调用的mbedtls_net_recv函数,但是订阅的数据却没有往这里发送,为什么?
|
|