2016-07-05 1 views
1

HTTPSサービスに接続中に例外よりも下になります。証明書がアルゴリズムの制約に準拠していません - Java1.8_51

私は複数のフォーラムでクロスチェックしており、サーバーで使用されているアルゴリズムがJava1.8の基準に準拠しているとは限りません。

また、 "Java \ jdk1.8.0_51 \ jre \ lib \ security \ java.security"ファイルの "jdk.certpath.disabledAlgorithms"プロパティにコメントすることで、無効化されたアルゴリズムを有効にすることができます。しかし、それはそれをコメントアウトした後でも同じエラーを得る助けにはなりませんでした。

その他の分析のポイント:

  • 無制限強度ローカルポリシーjarファイルを更新しました。
  • 同じ マシンのスタンドアロンプ​​ログラムでサービスに接続することができます。
  • スタンドアロンプ​​ログラムからサービスに接続することも可能 "jdk.certpath.disabledAlgorithms"プロパティが有効になっています。

私のコードでは、自己署名証明書を使用してHTTPS接続に接続していますが、その証明書のアルゴリズムはデフォルトのJavaプロパティに乗っていますか? 以下の例外の可能性はありますか?あなたの問題は

あなたはそれが信頼しなければならない場合は、自己署名証明書を使用したりしないでください

「私のコードは、HTTPS接続に接続するために、自己署名証明書を使用しています」かもしれない

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-アルゴリズムに準拠) – ryenus

答えて

0

サーバー側とクライアント側。

+0

私は実際の証明書を使って自己署名しましたが、同じ例外が発生しています – Selva

+0

@Selvaそして、これらの証明書は信頼できるCAから送られました。適切な(中間/ルート)java証明書ストアにCA証明書をインポートしない場合 – pepo

+0

はい、これらの証明書は信頼できるCAです。 – Selva

関連する問題