使用Apple Secure Transport在服务器端TLS连接上配置弱主机验证

时间:2016-07-25 19:09:39

标签: c ssl secure-transport

我想编写一个服务器(纯粹用于测试!!)允许客户端连接包含无效主机名的证书。我在Mac OS X上使用Apple的C版安全传输API。我建立了一个服务器连接,如:

SSLContextRef ssl_ctx_ref = SSLCreateContext (kCFAllocatorDefault,
                                              kSSLServerSide,
                                              kSSLStreamType);

SSLSetClientSideAuthenticate (ssl_ctx_ref, kTryAuthenticate);

完成此操作后,如果客户端提供的证书的主机名无效,则SSLHandshake将失败并显示errSSLClosedAbort(-9806)。

传递kNeverAuthenticate而不是kTryAuthenticate会导致客户端证书无效。

问题:

  • SSLSetClientSideAuthenticate是否正确用于此目的 - 为客户端证书启用弱主机名验证?
  • 如果是这样,他们为什么不kTryAuthenticate这样做,为什么我必须使用kNeverAuthenticate

0 个答案:

没有答案