问题标签 [handshake]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
request - Opera 12 中的 WebSocket 握手失败(错误请求)
我目前正在为我的学士论文工作,最近开始“深入”研究 node.js 和 webSocket 的使用。在 Firefox 15.0 和 Chrome 21.0.1180.89 m 中访问时,我的 webSocket 服务器运行没有问题。在 Opera 12.02 中,客户端-服务器握手似乎存在问题。这是 Opera 的错误控制台所说的:
有趣的是:我在 Dragonfly 控制台的网络日志中的任何地方都找不到这个错误。访问网站时请求的所有字段(index.html、client.js 等)都已找到并按原样提供(HTTP 状态代码 200 OK)。此外,我的服务器返回的唯一状态代码是 200、404 和 500,所以这看起来像是来自 webSocket 本身。
是的,在 Opera 中启用了 webSocket ...我不知道问题可能是什么
任何帮助将非常感激 :)
编辑:到目前为止,这是我的代码,因此您可以看到我的服务器发送了哪些标头以及如何使用 client.js 创建 webSocket 连接:
server.js:
客户端.js:
java - Google GCM 无法为 Java SSL 服务器进行 SSL 握手
我最近发现了适用于 Android 的 Google Cloud Messaging,我想集成我的应用程序以使用它。我让项目的 Android 端正常工作,并且应用程序已正确注册到服务器。问题是我的服务器似乎无法对 GCM 服务器进行身份验证,因此它可以与它们对话。这就是我的意思:
目前,我的服务器是一个简单的基于 Java 的 SSL 服务器,带有一个密钥库和一个信任库。信任库包含客户端的密钥(即应用程序的密钥),反之亦然,客户端/服务器可以通过 SSL 相互通信而不会出现任何问题。我用来向应用程序发送消息的代码是这样的:
它给了我以下例外:
当我启动我的服务器时,我传入信任/密钥库的名称及其密码并加载它们,以便它们可以用于与客户端对话。我怀疑问题在于当前信任库仅包含客户端的密钥,因此服务器只能与客户端交谈,而不能与其他人交谈。这是正确的吗,如果是,任何人都知道如何将 GCM 证书添加到信任库或其他东西?
非常感谢,非常感谢任何帮助:)
PS我尝试在服务器中加载信任库之前向客户端发送一条消息,并且应用程序成功接收到它。
serial-port - 串行端口:硬件握手仅在发送方打开,传输仍然有效
我正在通过 DB-9 串行端口发送数据,并且我想使用 HW CTS/RTS 握手。奇怪的是,即使我在接收方关闭握手,发送方仍然会发送数据。这对我来说没有意义,因为发送者应该等待 CTS 信号的到来,而接收者显然不应该在握手关闭时发送。
我已经检查过我有一个完整的握手零调制解调器电缆,而不仅仅是一个循环支持的电缆。
这是正常行为还是我的想法有问题?我已经用不同的编程语言尝试过。
ssl - 通过 SilverTunnel netlib 连接时,与 ActiveMQ 服务器的 SSL 握手会产生 NullPointerException
概括
无论有没有 netlib,通过 TCP 连接到 ActiveMQ 都可以正常工作。
在没有 netlib 的情况下通过SSL连接可以正常工作,但在使用 netlib 时会失败。
注意:我使用的是apache-activemq-5.6.0和silvertunnel.org_netlib-0.14-beta。
无论是使用 netlib 的 tcpipNetLayer 还是 torNetLayer,都会出现这个问题。然而,为了简单起见,这里只考虑 tcpipNetLayer 的情况。
顺便说一句,SSL + netlib 与 HornetQ 消息服务器(以不同的方式实现 SSL 身份验证)配合得很好,但 HornetQ 遇到的问题导致我尝试使用 ActiveMQ。
为方便起见,我创建了一个简单的测试用例,其中包含一个消费者和两个不同的生产者。
- 生产者在没有 netlib 的情况下连接 - 工作正常。
- producer-tcpip使用 tcpipNetLayer 与 neltib 连接 - 出现以下错误:
为 ActiveMQ 启用 SSL 调试后,producer-tcpip 程序将以下错误消息输出到控制台,然后挂起:
这是 SSL 握手的中途,因为 producer-tcpip 程序会生成 log4j 消息:
然后,当 producer-tcpip 程序被杀死(例如使用 ctrl+C)时,activemq.log 报告:
我不知道是什么原因造成的,也不知道如何解决。任何人都可以帮忙吗?
重现问题的步骤(需要不到 15 分钟):
下载测试用例
下载最新的 ActiveMQ 到测试目录
编辑 conf/activemq.xml 以接受 ssl
用以下几行替换 transportConnectors 条目(以启用 SSL)
启动服务器
查看日志输出
打开另一个控制台,然后 cd 进入testing-AMQ-Netlib-SSL目录
将最新的 SilverTunnel netlib 下载到测试目录中
将源代码编译成三个可运行的 jar 文件在不同的目录中
运行消费者
打开另一个控制台,然后 cd 进入testing-AMQ-Netlib-SSL/producer目录
运行生产者
让它运行一会儿,让自己满意,然后按 ctrl+C 杀死生产者
运行生产者-tcpip
让它运行一点来满足你自己它已经停止在 NullPointerException 然后通过按 ctrl+C 来杀死 producer-tcpip
注意 producer-tcpip 输出中的调试消息
还要注意出现在 activemq.log 底部的错误消息(请参阅第一个控制台窗口的尾部输出)或在当前提示符下键入
谢谢你的帮助!
haskell - Haskell中的Gmail TLS hanshake失败
我正在尝试编写一个小脚本来通过 gmail 发送电子邮件。
我可以连接到 gmail,但是当我尝试 hanshake 时它失败了。
有什么建议可以握手吗?
这是代码:
这是错误:
HandshakeFailed (Error_Packet_Parsing "读取失败:无效标头类型:50\nFrom:\theader\n\n")
security - 为什么客户端hello是sslv2时握手协议是sslv3
我们在尝试使用 windows xp sp3(即 v6)上的 wininet 连接的客户端应用程序获得成功的 SSL 连接时遇到问题。客户端 hello 看着我,为什么 hello 将其版本声明为 SSL 2.0,然后将握手版本声明为 SSL 3.0?使用 wininet 的应用程序中是否存在错误编码?
facebook - Ubuntu 中的 OpenSSL 1.0.1 握手解决方法?
我在 Ubuntu 12.04 上的 OpenSSL 1.0.1 中遇到了一个严重的错误:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=665452
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666051 <- 2012 年 10 月 3 日!
它的要点是我能够连接到一些服务器,但不能连接到其他服务器。连接到谷歌作品:
openssl s_client -connect mail.google.com:443 -debug -state -msg -CAfile /etc/ssl/certs/ca-certificates.crt
但连接到 facebook 不会:
openssl s_client -connect graph.facebook.com:443 -debug -state -msg -CAfile /etc/ssl/certs/ca-certificates.crt -cipher SRP-AES-256-CBC-SHA
facebook 连接要么在客户端发送它的 hello 缓冲区后挂起,并且永远不会收到服务器的 hello 响应,要么如果我传入它识别的密码,则返回错误代码。这发生在 -tls1 和 -ssl3 上。我已经尝试了我能想到的 openssl 的每个参数。
apt-cache showpkg openssl
我还尝试了所有我能想到的 curl 参数,但没有成功,因为它在后台使用了 openssl。
我担心 Ubuntu 无法建立安全连接(我意识到这是一个令人震惊的声明)。经过两天的努力解决这个问题,我现在基本上是在祈祷有人知道解决方法。我正在考虑降级到 OpenSSL 1.0.0 或将 libcurl4-dev 与 gnutls-dev 一起使用。这两种解决方案都会在我嘴里留下腐烂的味道。提前感谢您提供的任何帮助。
PS 所有这些工作都是为了让我的服务器可以与外部 https REST API 交互。我认为这是当今任何网络服务器的基本要求,没有任何借口。
更新:这是我的输出,没有传递密码。我是否通过 -CAfile 都没关系:
openssl s_client -connect graph.facebook.com:443 -debug -state -msg -CAfile /etc/ssl/certs/ca-certificates.crt
node.js - 在 socket.io 中与握手数据一起发送自定义数据?
所以我有一个运行 node js 的应用程序,socket.io 作为后端,普通的 javascript 作为前端。我的应用程序有一个登录系统,目前它只是让客户端在连接后立即发送其登录数据。
现在我认为将登录数据与握手数据一起发送会更好,所以我可以直接让用户在连接时登录(而不是在建立连接后)分别在登录数据无效时拒绝授权。
我认为最好将我的附加数据放在握手数据的标题部分中,所以有什么想法可以做到这一点吗?(如果可能,不必修改 socket.io,但如果这是我可以忍受的唯一方法)
python - 洪流客户端:向对等方发送握手消息
从我得到对等列表并建立到对等的 tcp 连接,我尝试向他们发送握手消息,但他们似乎没有响应。
这是我在代码中的消息:
self.getInfoHash(torrentCont) 是种子文件的原始哈希
这是我发送的实际内容:
关于我做错了什么的任何建议?
ios - Socket.io 蜂窝握手 iOS 超时
我正在通过标准 HTTP NSURLConnection 进行 socket.io 握手调用,奇怪的是我只有在通过 Wifi 连接时才得到响应,否则连接超时。我知道套接字不能通过 Wifi 工作,应该使用 xhr-polling 进行蜂窝连接,但是仅通过 Wifi 工作的 HTTP 连接没有意义,因此我什至无法轮询,因为我根本无法连接......
有什么想法吗?