java - 如何从 Java 应用程序获取远程 HTTPS 服务器支持的密码列表?

标签 java security https encryption jsse

如何通过 Java JSSE 环境获取远程服务器支持的密码列表。

我想获取远程服务器支持的弱密码列表,以便可以修复它们。

我正在使用 SSLSocket,它有一个名为 getSupportedCipherSuites 的方法,但此方法返回客户端支持的密码,而不是远程服务器支持的密码。

最佳答案

您无法获取受支持的密码套件的列表,但您可以获取服务器已启用的弱密码套件,如下所示:

  1. 在您的客户端启用所有弱密码套件,而不启用强密码套件。
  2. 让您的客户端连接并调用 startHandshake()。
  3. 如果成功,则服务器已选择一个弱密码套件,您可以从 SSLSession 中获取该套件。从启用的密码套件中删除它并重复。

(2) 中所有成功的握 watch 明相应的弱密码套件在服务器上已启用。如果有零,那很好。否则打印出后续的密码套件并采取相应的操作。

关于java - 如何从 Java 应用程序获取远程 HTTPS 服务器支持的密码列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9717567/

相关文章:

ios - APNS P12 证书停止工作?

html - 一个网站告诉我我的密码已泄露,这是否意味着该网站也不安全?

java - C获取函数地址

java - 与maven集成后无法解析同一包中的类

java - 如何在Android中使用flood fill算法?

facebook - 创建排除 facebook 的 301 重定向

javascript - 使用 HTTPS 时,jQuery.ajax 不发送正确的 ajax header

java - java中虚拟键盘代码中表达式错误的非法开始

java - 为什么 Java 告诉我我的小程序包含签名和未签名的代码?

java - 什么是客户端 key 以及如何生成一个?