microsoft / microsoft/vscode-spring-boot-dashboard

Spring Boot Dashboard - Setting for Cert store with VSCode extension

Open
#170 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
73
Forks
38
Avg merge
3d 5h
Merged PRs (30d)
15

Description

Summary

Im hitting an internal application endpoint, through our company proxy. The website has a self signed cert. When I run my spring boot application using the Spring Boot Dashboard, the request to hit this internal website fails with the below error. When I run the application by simply using the mvn spring-boot:run command, the request works successfully.

Is there a specific setting/configuration for pointing the Spring Boot Dashboard to the JDK trust store?

Error

2022-05-20 12:59:19.928 | [http-nio-8080-exec-1] | ERROR | c.n.m.service.EdgeLayerService | tx.id=1961e414-f514-4181-af8d-82e2e220514a | log: I/O error on POST request for "RedactedInternalApplicationEndpoint": PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Troubleshooting Attempts

I have attempted to set different values for the extension to recognize the Cert Store, to no luck. I've messed with the .vscode/launch.json file and attempted to set command line arguments like -Djavax.net.ssl.certStore=$JAVA_HOME/lib/security/cacerts and others, but cannot get it resolved.

I've also tried setting these settings in my settings.json file:

  "spring-boot.ls.java.vmargs": [
    "-Dtrust_all_cert=true",
    "-Dcom.sun.management.jmxremote.ssl=false",
    "-Dcom.sun.net.ssl.checkRevocation=false",
    "-Djavax.net.ssl.certStore=$JAVA_HOME/lib/security/cacerts"
  ],
  "http.proxyStrictSSL": false

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing how the Spring Boot Dashboard launches the application with mvn spring-boot:run, then review the reported .vscode/launch.json, settings.json, and spring-boot.ls.java.vmargs configuration. Reproduce the self-signed certificate failure through the company proxy and determine whether the Dashboard can use the JDK trust store; done means the documented configuration works or the limitation is clearly documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
spring-boot, typescript, vscode
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.