Статус: Участник
Группы: Участники
Зарегистрирован: 08.10.2014(UTC) Сообщений: 10 Откуда: Сыктывкар Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 1 постах
|
Здравствуйте. Я использую Crypto Pro CSP в связке с Trusted Java и в программе на Java пытаюсь установить https соединение с сервисами ГИС ЖКХ. Есть продуктивный и тестовый сервисы, и есть выданный нам сертификат для установки https соединения с продуктивным сервисом. С тестовыми сервисами https соединение устанавливается без проблем, но когда пытаюсь установить соединение с продуктивный сервисом, используя те же сертификаты то получаю ошибку Invalid Peer Certificate. Помогите пожалуйста разобраться в чем проблема. О чем именно может говорить ошибка "Invalid Peer Certificate", это значит что наша сторона не доверяет сертификату от сервиса? Также мы попытались подписать нашим сертификатом произвольный файл(подпись в формате XAdES-BES), а затем проверить подпись на валидность. И при проверке подписи выходит ошибка: Certificate has unsupported critical extension, хотя все нужные сертификаты в Доверенных корневых центрах сертификации лежат и цепочка к нашему сертификату строится без ошибок. Возможно ли использовать JTLS для установки аналогичного https соединения? Привожу простой код на java с ошибкой: Код:public static void main(String[] args) {
Security.setProperty("ssl.SocketFactory.provider", "com.digt.trusted.jsse.provider.DigtSocketFactory");
System.setProperty("com.digt.trusted.jsse.certFile", "Certificate.cer");
System.setProperty("com.digt.trusted.jsse.keyPasswd", "123");
System.setProperty("javax.net.debug", "all");
args = new String[]{"api.dom.gosuslugi.ru","443"}; //продуктив
// args = new String[]{"217.107.108.156","10081"}; //тестовый
try {
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket(args[0], Integer.parseInt(args[1]));
InputStream in = sslsocket.getInputStream(); //Ошибка здесь
OutputStream out = sslsocket.getOutputStream();
// Write a test byte to get a reaction :)
out.write(1);
while (in.available() > 0) {
System.out.print(in.read());
}
System.out.println("Successfully connected");
} catch (Exception exception) {
exception.printStackTrace();
}
}
Ошибка Код:java.io.IOException: Invalid peer certificate
at com.digt.trusted.jsse.provider.DigtSSLSocket.startHandshake(Unknown Source)
at com.digt.trusted.jsse.provider.DigtSSLSocket.getInputStream(Unknown Source)
at com.tehnologia.gisjkh.SSLPoke.main(SSLPoke.java:25)
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Задайте этот вопрос компании Digt. JTLS использовать возможно. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close