Evangeline_C 2015-02-06 13:15 采纳率: 0%
浏览 2171

openssl 双向认证的问题

最近在用openssl写毕设,要用openssl做客户端和服务端的双向认证。但现在的问题是,就算客户端设置了
SSL_CTX_set_verify(ssl_ctx,SSL_VERTIFY_FAIL_IF_NO_PEER_CERT,NULL)客户端还是不能发证书过来,
测试的时候发现问题应该不在服务端上,因为粗略的看了一下,设置这一句和没有这一句的时候同一个程序发给客户端的包大小是不一样的。
在服务端用ssl_get_peer_certificate() 是收不到证书的,但是握手却能成功,很奇怪。
(也就是说尽管设置了,SSL_VERTIFY_FAIL_IF_NO_PEER_CERT,但是不论客户端有没有加载证书都能成功握手,,SSL_VERTIFY_FAIL_IF_NO_PEER_CERT设置根本没有意义)

在网上搜了一下,这方面的内容几乎没有,在百度知道上搜索到了一个类似的问题,http://zhidao.baidu.com/question/303072079.html 提问者好像说客户端需要二级CA证书才可以,但是不知道原理是什么。

最近刚刚接触openssl,连证书生成都还不熟练。

不知道我的问题和这个二级CA证书是否有关。希望有大神能帮忙解决这个问题。。

先谢过了!

  • 写回答

1条回答 默认 最新

  • oyljerry 2015-02-06 16:05
    关注

    双向认证,你的客户端,服务端都需要设置。ssl_ctx_set_verify
    OpenSSL 双向认证 - wangsifu2009的专栏

    评论

报告相同问题?

悬赏问题

  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换