2016-07-05 12 views
1

Я получаю ниже исключения при подключении к службе HTTPS.Сертификаты не соответствуют ограничениям алгоритма - Java1.8_51

У меня есть крест, проверенный на нескольких форумах, и понял, что алгоритм, используемый на сервере, может быть менее защищен, соблюдая стандарты Java1.8.

Также, комментируя свойство «jdk.certpath.disabledAlgorithms» в файле «Java \ jdk1.8.0_51 \ jre \ lib \ security \ java.security», мы могли бы включить отключенные алгоритмы. Но это не помогло, получив такую ​​же ошибку даже после комментирования.

Другие Анализируемые точки:

  • Обновление локальной политики опарника неограниченная прочность.
  • Возможность подключения к услуге с помощью автономной программы от того же машины.
  • Возможность подключения к службе из автономной программы даже Свойство «jdk.certpath.disabledAlgorithms» включено.

В моем коде используется самоподписанный сертификат для подключения к соединениям HTTPS, является ли алгоритм этого сертификата превышать свойства java по умолчанию? Любая другая возможность для исключения ниже?

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificates does not conform to algorithm constraints 
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) ~[na:1.8.0_51] 
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949) ~[na:1.8.0_51] 
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302) ~[na:1.8.0_51] 
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296) ~[na:1.8.0_51] 
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1497) ~[na:1.8.0_51] 
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:212) ~[na:1.8.0_51] 
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979) ~[na:1.8.0_51] 
at sun.security.ssl.Handshaker.process_record(Handshaker.java:914) ~[na:1.8.0_51] 
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062) ~[na:1.8.0_51] 
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) ~[na:1.8.0_51] 
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:747) ~[na:1.8.0_51] 
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123) ~[na:1.8.0_51] 
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) ~[na:1.8.0_51] 
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:121) ~[na:1.8.0_51] 
at org.apache.commons.httpclient.WireLogOutputStream.write(WireLogOutputStream.java:68) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.methods.multipart.FilePart.sendData(FilePart.java:223) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.methods.multipart.Part.send(Part.java:312) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.methods.multipart.Part.sendParts(Part.java:385) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity.writeRequest(MultipartRequestEntity.java:164) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) ~[commons-httpclient-3.1.jar:na] 
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) ~[commons-httpclient-3.1.jar:na] 
+0

Возможный дубликат [java.security.cert.CertificateException: сертификаты не соответствуют ограничениям алгоритма] (http://stackoverflow.com/questions/14149545/java-security-cert-certificateexception-certificates-does-not- Соответствующе-algori) – ryenus

ответ

0

Ваша проблема может быть

«Мой код использует самозаверяющий сертификат для подключения к соединениям HTTPS»

Не используйте самоподписанный сертификат или, если необходимо, то сделать его доверенным на сервере и на стороне клиента.

+0

Я также попытался использовать фактический сертификат вместо самозаверяющего, все еще получая такое же исключение – Selva

+0

@Selva И эти сертификаты пришли из доверенного ЦС, не так ли? Если не импортировать сертификаты CA в соответствующее (промежуточное/корневое) хранилище Java-сертификатов. – pepo

+0

Да, эти сертификаты являются доверенными CA – Selva

 Смежные вопросы

  • Нет связанных вопросов^_^