0

我正在使用 DEV SSL 证书,但奇怪的是我的通知服务器连接到“gateway.push.apple.com”而不是“gateway.sandbox.push.apple.com”。

在 Keychain Access 中,证书称为“Apple Development IOS Push Services:...”,所以我很确定它是用于开发的。我从中创建了我的 .p12 文件并部署到我的通知服务器。

这实际上以前工作正常;但是,我的证书过期了,所以我不得不通过配置中心创建一个新证书。然后我遇到了这个奇怪的问题。

我的通知服务器是用 Java 编写的,使用 javapns API。我尝试再次创建 .p12 并重新启动我的通知服务器,但没有运气......

有没有人见过这个问题?提前致谢。

4

1 回答 1

0

JavaPN 有一个标志(在其方法之一中),用于确定它们是尝试连接到沙箱还是生产推送环境。它与您提供给它的证书无关。

例如,在以下方法中,您需要提供true连接到生产和false连接到沙盒。

/**
 * Push a preformatted payload to a list of devices.
 * 
 * @param payload a simple or complex payload to push.
 * @param keystore a keystore containing your private key and the certificate signed by Apple ({@link java.io.File}, {@link java.io.InputStream}, byte[], {@link java.security.KeyStore} or {@link java.lang.String} for a file path)
 * @param password the keystore's password.
 * @param production true to use Apple's production servers, false to use the sandbox servers.
 * @param devices a list or an array of tokens or devices: {@link java.lang.String String[]}, {@link java.util.List}<{@link java.lang.String}>, {@link javapns.devices.Device Device[]}, {@link java.util.List}<{@link javapns.devices.Device}>, {@link java.lang.String} or {@link javapns.devices.Device}
 * @return a list of pushed notifications, each with details on transmission results and error (if any)
 * @throws KeystoreException thrown if an error occurs when loading the keystore
 * @throws CommunicationException thrown if an unrecoverable error occurs while trying to communicate with Apple servers
 */
public static PushedNotifications payload(Payload payload, Object keystore, String password, boolean production, Object devices) throws CommunicationException, KeystoreException {
    return sendPayload(payload, keystore, password, production, devices);
}
于 2013-10-31T15:49:43.100 回答