java - 使用 Java Bouncy CaSTLe 列出服务器支持的密码套件

标签 java ssl cryptography bouncycastle tls1.2

是否可以从 Java Bouncy CaSTLe 使用 SSL/TLS 连接到远程服务器,然后获取服务器支持的密码套件列表?我需要接收它的十六进制值,如果可能的话还需要接收它的“字符串常量”(也许只是为了客户端自己知道的那些)。

我需要使用任何协议(protocol)(HTTPS、AMQPS、STOMPS...)连接到任何端口。

最佳答案

您可以做的是编写一个 CipherSuiteFinder 类来调用重写的 TlsClientProtocol它只是向服务器提供一个密码套件。为此,您创建一个派生自 DefaultTlsClient 的新类。延伸AbstractTlsClient .

提供协议(protocol)并收到响应后,您将关闭连接。如果服务器没有出错,它接受单个提供的密码套件,这意味着该密码套件存在。 然后,您可以按照 TLS 标准关闭连接,仅在一切完成后才关闭套接字。

现在,CipherSuiteFinder 只需迭代密码套件并收集结果即可。


HTTP 和 STOMP 等顶级协议(protocol)并不重要;它们仅在建立 TLS 连接后才会被调用。

关于java - 使用 Java Bouncy CaSTLe 列出服务器支持的密码套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32584337/

相关文章:

java - 为什么 Guava 布隆过滤器的性能这么差?

authentication - 是否可以从 servlet 过滤器中删除 SSL session ?

ruby-on-rails - AES-256-GCM Python 密码学与 Rails OpenSSL

cryptography - 公钥密码学是如何工作的

cryptography - HMAC<Sha256> 的结果与另一个实现不同

Java jdbc - 如何执行严格只读的语句

如果在命令后找到文本,Java 会拆分

java - 如何在运行时创建/更新/加载 HTML 文件

apache - 我需要在某个地方注册才能使用 HTTPS 吗?

python - 如何使用 burp 套件代理 HTTPS 流量?