无法telnet gateway.sandbox.push.apple.com 2195?

时间:2015-09-28 09:08:59

标签: ios linux apple-push-notifications telnet

在我的服务器上(Debian 3.2.54-2 x86_64 GNU / Linux),我使用此命令检查与APNS(Apple推送通知服务器)的连接:

telnet gateway.sandbox.push.apple.com 2195
Trying 17.172.232.46...
Trying 17.172.232.45...
Trying 17.172.232.18...
telnet: Unable to connect to remote host: Connection timed out
ping gateway.sandbox.push.apple.com
PING gateway.sandbox.push-apple.com.akadns.net (17.172.232.46) 56(84) bytes of data.

telnet无法帮助我连接。这是什么原因?

1)我是否需要请求管理员配置防火墙让telnet通过端口2195?

2)当我们使用telnet到具有给定端口的服务器时,我们这边的哪个端口将被打开?

 telnet gateway.sandbox.push.apple.com 2195 
表示APNS上的端口2195将被打开,那么我们计算机上的哪个端口将打开以建立连接?

2 个答案:

答案 0 :(得分:0)

使用OpenSSL并传递有效证书,出于测试目的,您可以使用自签名证书,例如,创建货币对keycrt

$ openssl req -x509 -newkey rsa:2048 -sha256 -nodes -keyout example.key -out example.crt -subj "/CN=example.com" -days 10

然后创建cert.pem

$ cat example.key example.crt > cert.pem

稍后您可以测试:

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert cert.pem

这将连接并进行握手,但您将收到类似的验证错误:

CONNECTED(00000006)
...
verify error:num=20:unable to get local issuer certificate

答案 1 :(得分:-1)

我发现我的所有telnet命令行都失败了。 brew安装telnet,然后就可以了......

如下,

尝试17.188.166.24 ...

连接到gateway.sandbox.push-apple.com.akadns.net。

逃脱角色是'^]'。

连接被外国主机关闭。

现在,问题是。

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert MyPushChat.pem -key MyPushChatKey.pem

无法加载客户端证书私钥文件

140735947195336:错误:0906D06C:PEM例程:PEM_read_bio:无起始行:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.50.2/libressl/crypto/pem/pem_lib.c :704:期待:任何私人密钥

现在好了!!!

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem

请注意,这里有两行,两行,两行。