连接到api.development.push.apple.com时出现certificate_unknown错误

时间:2016-10-10 11:47:44

标签: java json curl apple-push-notifications http2

我尝试通过curl与现有证书通过APNS http2 API进行连接。

$/usr/local/Cellar/curl/7.47.1/bin/curl -v -d \
'{"aps":{"alert":"hi","sound":"default"}}' \
--cacert cert.pem --key key.pem --cert clientcert.pem \
-H "apns-topic: topics" --http2 \
https://api.development.push.apple.com/3/device/<device_token>

我已经通过以下链接从openssl命令生成了cert,key和cacert:http://www.rajatswarup.com/blog/2007/03/10/using-certificates-with-curl/

使用此命令,我收到此错误:

{"reason":"MissingProviderToken"}

当我尝试使用POSTMAN时,我也遇到了同样的错误。我该如何解决这个问题?

第二次尝试使用此curl命令:

/usr/local/Cellar/curl/7.47.1/bin/curl -v -d \
'{"aps":{"alert":"hi","sound":"default"}}' \
--cert clientcert.pem:<passphrase> \
--key key.pem \
-H "apns-topic: topics" --http2 \
https://api.development.push.apple.com/3/device/<devide_token>

我在这里得到以下错误:

error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown
* Closing connection 0
curl: (35) error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate   unknown

我也尝试过使用Java的Jetty客户端,请点击此链接:https://judepereira.com/blog/sending-notifications-via-apples-new-http2-api-using-jetty-9-3-6/但这也不起作用,它会挂起整个POST请求并且不会返回任何响应。 我的证书是有效的开发证书,那么这里的主要问题是什么? 有人可以帮帮我吗?

谢谢:)

0 个答案:

没有答案