SSLHandshakeException unknown_ca apns Java - PullRequest
       6

SSLHandshakeException unknown_ca apns Java

4 голосов
/ 05 августа 2009

Я пытаюсь реализовать отдельное приложение для iphone; для которого я хочу использовать уведомление Apple Push для клиентов iphone. Я получаю исключение javax.net.ssl.SSLHandshakeException: получено фатальное предупреждение: unknown_ca Ниже приведен мой код Java для подключения к шлюзу apns:

int port = 2195;
String hostname = "gateway.sandbox.push.apple.com";
char[] passwKey = "password".toCharArray();

KeyStore ts = KeyStore.getInstance("PKCS12");
ts.load(new FileInputStream("/path/to/file/Cert.p12"), passwKey);
KeyManagerFactory tmf = KeyManagerFactory.getInstance("SunX509");
tmf.init(ts, passwKey);

SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(tmf.getKeyManagers(), null, null);
SSLSocketFactory factory = sslContext.getSocketFactory();

SSLSocket socket = (SSLSocket) factory.createSocket(hostname,port); 
String[] suites = socket.getSupportedCipherSuites();
socket.setEnabledCipherSuites(suites);
//start handshake
socket.startHandshake(); 

Пожалуйста, помогите мне понять, что и как можно установить ssl-сертификат на мою Linux-машину.

РЕДАКТИРОВАТЬ:

Теперь у меня это сработало, я заново создал Cert.p12, и программа начала работать. Я не знаю, какова была точная причина неработоспособности, но я предполагаю, что это будет поврежденный файл Cert.p12.

Спасибо всем за помощь.

Ответы [ 2 ]

1 голос
/ 06 августа 2009

unknown_ca:

Получена действительная цепочка сертификатов или частичная цепочка, но сертификат не был принят, поскольку сертификат CA не может быть найден или не может быть сопоставлен с известным, доверенным CA. Это сообщение всегда смертельно.

Возможно, вам понадобится добавить сертификат в файл cacerts вашего jre (обычно он находится в lib / security). Обратитесь к документации для keytool и его опции -import для получения дополнительной информации.

Вероятно, вы можете найти пример того, как это сделать, изучив файл cacerts и keytool далее.

0 голосов
/ 18 декабря 2009

была такая же проблема.

Импорт в IE / экспорт с «всеми сертификатами в комплекте» решил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...