如何使用SSL_CTX传递EC点格式列表?

时间:2017-02-18 15:38:43

标签: ssl openssl cryptography tls1.2 elliptic-curve

我需要将选定的EC点格式列表传递给服务器,或者想要限制服务器使用选定的EC点。什么是OpenSSL API在生成SSL_CTX时实现相同的目标。我可以看到openssl 1.0.2 *版本有这个支持,但我无法找到openssl API来做同样的事情。

1 个答案:

答案 0 :(得分:4)

没有用于执行此操作的API。只有一个API可以从SSL对象中获取协商的EC点格式:

SSL_get0_ec_point_formats()

您无法限制服务器通过API协商的EC点格式。虽然奇怪的是,你是正确的,因为SSL_CTX对象似乎确实支持它 - 但似乎从来没有通过API公开过。

在1.0.2中,您仍然可以通过直接直接操作SSL_CTX tlsext_ecpointformatlisttlsext_ecpointformatlist_length字段来实现您的目标。我强烈建议不要这样做,因为在OpenSSL 1.1.0中删除了该功能,因为这些结构在该版本中是不透明的。

真的,我会问你为什么要这么做?