Spring tool suite- SunCertPathBuilderException: unable to find valid certification path to requested target

被刻印的时光 ゝ 提交于 2020-01-30 08:18:07

问题


I am working on STS and while creating a new spring-boot project, it shows following error:

 SunCertPathBuilderException: unable to find valid certification path to requested target

since it access https://start.spring.io as a service URL.

I am working in a corporate network and they have their own certificates and security rules. I looked into web but could not find any clear solution for STS. How should I add certification path in STS for given URL. Any help is appreciated.


回答1:


Try http instead of https in the URL http://start.spring.io

The following error will be resolved "SunCertPathBuilderException: unable to find valid certification path to requested target"




回答2:


I encountered the same problem and tried this: Window -> Preferences -> Network Connections Change mode to Manual

It works fine now.




回答3:


The simplest solution is to install your corporate certificate into the cacerts keystore of the JDK.

<JAVA_HOME>/bin/keytool -import -alias CorpProxy -keystore <JAVA_HOME>/jre/lib/security/cacerts -file your_corp_cert.crt

You will be prompted for the keystore password which is changeit by default.




回答4:


In the case if none of above work, try below steps. It works fine for me as I was also working under corporate network, had same issue.

  1. Close STS tool if open.
  2. Locate STS.ini file (mostly where you have installed STS tool and have STS.exe)
  3. Edit STS.ini. Add following two line at the bottom (Use your JDK location, below one is just a sample)

    -Djavax.net.ssl.trustStore=C:\Program Files\Java\jdk1.8.0_20\jre\lib\security\cacerts

    -Djava.net.ssl.trustStorePassword=changeit

  4. Save STS.ini and restart the STS.exe.

It works in my case. Thank you.




回答5:


It would seem like the http now gets redirected to https. So changing https to http may not work. I am barely familiar with digital certificates. However, I have simply listed what I had to do to get it to work for me. This is perhaps what @Strelok has suggested.

I am on Windows 10 and JDK 1.8.0_144 64bit. I am also behind a corporate proxy. I did the following to get it to work for me. If you are in a similar situation it may work for you.

Export the corporate certificate (There may be other easier ways of doing this)

  1. On Chrome, I went to https://start.spring.io
  2. On the location bar clicked on the 'Lock' symbol next to https.
  3. Selected 'Certificate(Valid)' on the ensuing pop-up.
  4. On the resulting dialog box, clicked on the 'Certificate Path' tab, from under certificate path tree selected the root node, and then clicked on 'View Certificate'
  5. On the resulting dialog box, clicked on the 'Details' tab and then clicked on 'Copy to File'
  6. This brings up the 'Export wizard', clicked on 'Next'.
  7. Left the certificate format to default 'DER encoded..', clicked on 'Next'.
  8. Provided file name (.cer extension) for the certificate.
  9. Clicked Finish.

The above steps exported a certificate to a file that I imported into truststore (cacerts).

To import

  • Opened a 'Command' prompt as Administrator to import the certificate
  • Went to bin directory of Java installation (this step is not needed if jre/bin is in your path)
  • Ran the following:

    C:\Program Files\Java\jre1.8.0_144\bin>keytool -importcert -alias your-alias -keystore "C:\Program Files\Java\jre1.8.0_144\lib\security\cacerts" -storepass changeit -file C:\certificate-file-location\saved-certificate-file.cer

(Substitute your java location, certificate file location and certificate file name as appropriate. The 'storepass' should be 'changeit'.)

Restarted STS




回答6:


Adding below to eclipse.ini

-Djavax.net.ssl.trustStore=C:\Program Files\Java\jdk1.8.0_20\jre\lib\security\cacerts
-Djava.net.ssl.trustStorePassword=changeit

worked for me.




回答7:


The best thing to do in this case is open https://start.spring.io/ in browser and

and fill in your project name in Artifact field and your project base package in Group field click on

Generate project button

that will download your-project-name.zip file into your downloads folder . now extract this file into your sts workspace or anywhere you like .

now import the project in STS as Existing maven project

You are done



来源:https://stackoverflow.com/questions/50764343/spring-tool-suite-suncertpathbuilderexception-unable-to-find-valid-certificati

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!