我需要将选定的EC点格式列表传递给服务器,或者想要限制服务器使用选定的EC点。什么是OpenSSL API在生成SSL_CTX时实现相同的目标。我可以看到openssl 1.0.2 *版本有这个支持,但我无法找到openssl API来做同样的事情。
答案 0 :(得分:4)
没有用于执行此操作的API。只有一个API可以从SSL对象中获取协商的EC点格式:
SSL_get0_ec_point_formats()
您无法限制服务器通过API协商的EC点格式。虽然奇怪的是,你是正确的,因为SSL_CTX对象似乎确实支持它 - 但似乎从来没有通过API公开过。
在1.0.2中,您仍然可以通过直接直接操作SSL_CTX tlsext_ecpointformatlist
和tlsext_ecpointformatlist_length
字段来实现您的目标。我强烈建议不要这样做,因为在OpenSSL 1.1.0中删除了该功能,因为这些结构在该版本中是不透明的。
真的,我会问你为什么要这么做?