首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缓存的SSL会话是否保存以前的X.509证书信息?

缓存的SSL会话是否保存以前的X.509证书信息?
EN

Stack Overflow用户
提问于 2018-05-09 09:56:54
回答 1查看 176关注 0票数 1

当我们重用以前保存的SSL_SESSION时,重用的SSL会话是否有原始X.509对等证书?

我的代码很少崩溃,调查显示SSL会话被重用,一些对等证书( peer,certinfo->key->pkey)字段被混淆。

  • 第一次握手从CLT到SVR。 SVR向CLT发送X.509证书,CLT存储证书。我们可以使用SSL_get_peer_certificate()获得证书。CLT用SSL_SESSION保存SSL_get1_session()
  • 第二次握手从CLT到SVR。 这一次,CLT提供了保存的SSL_SESSIONSSL_set_session(),并且发生了简短的握手。当CLT调用SSL_get_peer_certificate()时,CLT能获得原始的X.509证书吗?

SSL_SESSION和包含的对等X.509证书的耦合似乎是松散的。我们是否应该显式地保存X.509对等证书,除了调用SSL_get1_session之外,还要在重用的SSL_SESSION上正确地使用SSL_get_peer_certificate()

我在Linux上使用LibreSSL和OpenSSL。

如有任何意见,将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2018-05-09 10:36:39

如果您看到openssl代码,您将在SSL_SESSION声明中找到以下注释:

代码语言:javascript
运行
复制
/* This is the cert for the other end.
 * On clients, it will be the same as sess_cert->peer_key->x509
 * (the latter is not enough as sess_cert is not retained
 * in the external representation of sessions, see ssl_asn1.c). */
X509 *peer;

我假设它表示对于客户端,当转换为外部表示时,对等证书不被保留,即当SSL_SESSION被序列化时,对等证书将丢失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50250491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档