C 中的 SSL 密码帮助

SSL Cipher help in C

我正在尝试在 tcp/ip 之上使用 SSL 向使用 C 的站点发送 HTTPS 请求。我无权访问 curl 或其他标准库。假装我根本无法加载任何库。

我需要设置 SSL 配置文件密码。当我在 linux 框上成功使用 curl 与服务器通信时,我看到:SSL Connection using ECDHE-RSA-AES128-SHA

如果我设置密码的选项是:

我可以通过以下方式设置多项内容: SSL_RSA | SSL_AES

协议为 TLSv1.2

我的密码应该是什么样的?

"Pretend like i can't load any libraries at all." 如果是这样,您将需要实现密码本身加上 SSL 处理层 ^_^。

假设您正在使用 OpenSSL 并使用 socket_fd 建立了 TCP,您需要使用 SSL_CTX_new (SSLv23_client_method()) 创建一个 SSL_CTX。通常,要设置密码列表,您可以使用 SSL_CTX_set_cipher_list(ctx, "HIGH:!aNULL:!eNULL:@STRENGTH"),请参阅 http://openssl.org/docs/apps/ciphers.html 了解所有可用选项,您可以指定特定的密码。

然后使用 SSL_new(ctx)SSL_set_fd (ssl, socket_fd) 创建 SSL 会话,然后使用 SSL_connect(...)SSL_read(...)/SSL_write(...) 与服务器通信。

完成后,SSL_shutdown(...)SSL_Free(...)SSL_CTX_Free(...)