ssl_shutdown
时间: 2023-07-31 08:11:55 浏览: 299
ssl_shutdown 是一个函数,用于关闭一个 SSL/TLS 连接。在 SSL/TLS 连接关闭之前,需要执行以下步骤:
1. 发送一个 close_notify 警告消息给对方,表示自己即将关闭连接;
2. 等待对方发来一个 close_notify 消息,表示对方已经准备好关闭连接;
3. 关闭底层的 socket 连接。
ssl_shutdown 的具体实现取决于使用的 SSL/TLS 库。在 OpenSSL 中,可以通过 SSL_shutdown 函数来关闭连接。在该函数调用之前,需要先通过 SSL_connect 或 SSL_accept 函数建立起 SSL/TLS 连接。
相关问题
2751075392:error:141970DF:SSL routines:tls_construct_cke_psk_preamble:psk identity not fount:../openssl-1.1.1s/ssl/statem_clnt.c:2919: 2751075392:error:140E0197:SSL routines:SSL_shutdown:shutdown while in init:../openssl-1.1.1s/ssl/ssl_lib.c:2111:
这似乎是一个与 SSL/TLS 握手过程相关的错误。错误信息中提到了缺少预共享密钥身份标识(PSK identity not found),这可能意味着客户端没有正确地配置或提供必要的 PSK 身份标识,导致 SSL/TLS 握手失败。
您可以检查客户端的 SSL/TLS 配置和 PSK 身份标识设置,确保它们正确无误。您还可以查看服务器端的 SSL/TLS 日志,以了解更多有关握手失败的信息。如果问题仍然存在,请尝试使用其他 SSL/TLS 库或升级您当前使用的库版本。
SSL_set_tlsext_host_name(ssl, hostname); BIO_set_conn_hostname(bio, hostname); if (BIO_do_connect(bio) <= 0) { printf("Cannot connect with SSL"); free(hostname); BIO_free_all(bio); SSL_shutdown(ssl); close(sockfd); return -1; } 提示连接不上ssl
这段代码中,您需要检查以下几点:
1. 检查 hostname 是否正确,确保它能够被解析到正确的 IP 地址。
2. 检查 sockfd 是否正确,确保它是一个有效的套接字。
3. 检查 SSL 的初始化是否正确,确保已经正确地加载了证书和私钥。
4. 检查网络连接是否正常,确保您的网络环境稳定,能够正常连接服务器。
如果以上几点都没有问题,您可以通过打印出错误信息来查看具体的错误原因,以便进一步排查问题。
阅读全文