当前位置: 首页 > 知识库问答 >
问题:

检查连接是否为TLSv1与SSLv3(SSL_CIPHER_DESCRIPTION/SSL_CIPHER_GET_NAME)

张承颜
2023-03-14

我有一个使用OpenSSL的服务器应用程序。我试图了解是什么类型的SSL连接击中了我的系统(即SSLv2、SSLv3、TLSv1、TLSv1.1、TLSv1.2)。特别是,我正在努力禁用SSLv3(re:POODLE)。在此之前,我想看看SSLv3上连接的是谁/什么

我目前使用的是SSL_CIPHER_DESCRIPION和SSL_CIPHER_get_name函数,它们提供了关于为每个连接协商的密码的非常好的信息

我在尝试区分SSLv3和TLSv1连接时遇到了一些挑战。根据https://www.openssl.org/docs/ssl/ssl_cipher_get_name.html:

"The TLSv1.0 ciphers are flagged with SSLv3. No new ciphers were added by TLSv1.1." 

我已经确认了TLSv1连接被记录为SSLv3,例如:SSL_CIPHER_description在一个明确为TLSv1.0的连接上返回以下内容:AES256-SHA SSLv3 KX=RSA AU=RSA ENC=AES(256)MAC=SHA1

共有1个答案

叶煌
2023-03-14

成功协商连接后,可以使用SSL_GET_VERSION(SSL*SSL)方法。

 类似资料:
  • 问题内容: 如何检查连接是否已在事务中?我正在使用Microsoft SQL Server数据库文件。 问题答案: 经过一番搜索,我发现了另一个“堆栈溢出”问题。事实证明,您不能在ADO.NET中嵌套事务。尝试时,您可能最终会启动两个不相关的事务,这会导致并行事务错误。 要查看连接当前是否在事务中,可以执行以下操作: 这将返回嵌套事务的数量。 请注意,您可以手动嵌套事务,而无需使用SqlTrans

  • 问题内容: 如何使用Javascript检查互联网连接?这样,我可以有一些条件说“在生产过程中使用Google缓存的JQuery版本,在开发过程中使用该版本或本地版本,具体取决于Internet连接”。 问题答案: 针对您的特定情况的最佳选择可能是: 在您的结束标记之前: 鉴于您的问题集中在jQuery上,这可能是最简单的方法。 如果您想要一个更强大的解决方案,可以尝试: 阅读有关W3C在脱机We

  • 我在网上搜索了很长一段时间,但我找不到我要找的东西。 如果我的设备已经连接到蓝牙设备(/在我启动应用程序之前),我如何通过我的应用程序发现。 我希望有类似bool BluetoothAdapter的东西。isPaired()

  • 但是它太复杂了,无法从Java代码中完成,我认为这不是我应该使用的方向。 提前谢了。

  • 我试图确保在db容器启动并准备接受连接之前,我的应用程序容器不会运行迁移/启动。 所以我决定使用healthcheck并依赖于docker compose file v2中的选项。 在应用程序中,我有以下内容 另一方面,db有以下健康检查 我尝试了一些方法,比如: 确保创建了db目录 获取mysql版本: Ping管理员(将db容器标记为正常,但似乎不是有效的测试) 有人有解决办法吗?

  • 我试着检查一个链表的最后一个节点是否指向头部。这段代码似乎为问题给出了肯定的结果,但也为包含指向非头节点的节点的列表给出了假肯定。 我尝试了不同的方法,比如检查慢节点是否等于返回true点的head,但这似乎不起作用。 有什么建议吗?