当前位置: 首页 > 面试题库 >

SSL和SocketChannel

萧星火
2023-03-14
问题内容

理想情况下,我只需要一个简单的SSLSocketChannel

我已经有一个可以通过普通读写消息的组件SocketChannel,但是对于其中的某些连接,我必须通过有线方式使用SSL。这些连接上的操作是相同的。

有谁知道免费的SSLSocketChannel实现(使用适当的选择器)或类似的东西?我已经找到了,但是选择器不接受它,因为它的供应商不是SUN。

我正在通过一个简单的对象从网络数据的插入和检索中将read_from / writing_to逻辑与网络逻辑分离,以便SSLEngine不发狂地使用a
,但是鉴于我不知道的事实,正确地实现它确实很棘手SSL协议的内部…


问题答案:

查看Restlet的实现,它可以满足您的需求,并且全都与NIO有关。

Restlet引擎Javadoc

特别是HttpClientCall。SetProtocol(HTTPS)-getResponseEntityChannel返回一个ReadableByteChannel(getEntityChannel返回一个WriteableByteChannel)



 类似资料:
  • 我似乎无法将Dropwizard配置为使用ssl。 我创建了一个密钥 和证书 并将其导入密钥库 从那里,我将密钥库.jks文件放入/src/主/资源中,与用于删除向导的配置.yaml文件一起放置。 然后,我尝试根据手册为dropwizard配置ssl: 然而,当我导航到登录页面时,它只在没有https的情况下工作:并在使用https时给出错误107(net::ERR _ SSL _ PROTOCO

  • 问题内容: 我已经构建了一个Java程序作为服务器上数据库的前端,并且正在尝试使用SSL加密客户端和服务器之间的流量。这是我发出的用于创建服务器证书的命令: 以下是相关代码: 当我尝试运行此命令时,我发现了这一点: java.security.NoSuchAlgorithmException:构造实现时出错(算法:默认,提供程序:SunJSSE,类:com.sun.net.ssl.internal

  • 问题内容: 在我们的网站中,某些页面使用SSL,但是大多数页面却不使用SSL(因为它们需要由网络漫游器抓取)。 它几乎可以归结为用户登录的任何页面,除了SSL协议之外,有一些例外, 但是用户首先必须从非https页面登录(登录表单是从任何页面的屏幕顶部拖放的表单)。 所以, 如何通过ajax强制请求使用SSL? 这样安全吗? 问题答案: 它违反了JavaScript的同源策略,因为它没有看到HTT

  • 如果我使用Cloudfront坐在Web服务器前面,而Web服务器本身就在ELB后面,那么下面的内容适用吗? > 我使用Route53为CF域创建域名记录并将SSL证书应用于该域以保护分发 如果CF不能提供来自缓存的内容,那么SSL连接将被转发到ELB(它将web服务器作为源服务器) 因此,我还需要在ELB上使用相同的域名(FQDN)(通过Route53 CNAME)并在那里申请相同的证书? 当C

  • Wireshark和SSL/TLS主密钥 mitmproxy可以记录SSL/TLS主密钥,以便外部程序可以解密与代理之间的SSL/TLS连接。最新版本的Wireshark可以使用这些日志文件来解密数据包。有关更多信息,请参见Wireshark Wiki。 通过设置环境变量来启用键记录SSLKEYLOGFILE,使其指向可写的文本文件: SSLKEYLOGFILE="$PWD/.mitmproxy/

  • 问题内容: 我正在尝试使用安全套接字层(HTTPS)与Java中的PHP脚本建立连接,但是我发现为了确保最大的安全性/有效性,我必须将网站使用的SSL证书导入到我的应用程序中…我不知道该怎么做。 如果有帮助,我的SSL证书不是自签名的,而是由StartSSL提供的,并且我正在使用Eclipse IDE。 有人能指出我正确的方向吗?即,我需要什么文件,应该在哪里导入它们,以及在Java中需要什么代码