redhat-developer / redhat-developer/vscode-java

Component Analysis Error - doesn't work behind Zscaler SSL intercepting network component

Open
#3,442 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
2.3k
Forks
546
Avg merge
20h 1m
Merged PRs (30d)
11

Description

[provide a description of the issue]
[Warn - 4:04:18 PM] Component Analysis Error: FetchError: request to https://exhort.stage.devshift.net/api/v4/analysis failed, reason: unable to get local issuer certificate

Environment
  • Operating System: Windows 10 with WSL 2 Ubuntu 22.3.04
  • JDK version: java 21.0.1 2023-10-17
    Java(TM) SE Runtime Environment Oracle GraalVM 21.0.1+12.1 (build 21.0.1+12-jvmci-23.1-b19)
    Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 21.0.1+12.1 (build 21.0.1+12-jvmci-23.1-b19, mixed mode, sharing)
  • Visual Studio Code version: 1.85.1
  • Java extension version: 1.25.1
Steps To Reproduce
  1. Install extension
Additional information
openssl s_client -CApath /etc/ssl/certs/ -connect exhort.stage.devshift.net:443
CONNECTED(00000003)
depth=3 C = US, ST = California, L = San Jose, O = Zscaler Inc., OU = Zscaler Inc., CN = Zscaler Root CA, emailAddress = support@zscaler.com
verify return:1
depth=2 C = US, ST = California, O = Zscaler Inc., OU = Zscaler Inc., CN = Zscaler Intermediate Root CA (zscloud.net), emailAddress = support@zscaler.com
verify return:1
depth=1 C = US, ST = California, O = Zscaler Inc., OU = Zscaler Inc., CN = "Zscaler Intermediate Root CA (zscloud.net) (t) "
verify return:1
depth=0 CN = exhort.stage.devshift.net
verify return:1
---
Certificate chain
0 s:CN = exhort.stage.devshift.net
  i:C = US, ST = California, O = Zscaler Inc., OU = Zscaler Inc., CN = "Zscaler Intermediate Root CA (zscloud.net) (t) "
  a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
  v:NotBefore: Dec 17 03:28:51 2023 GMT; NotAfter: Dec 31 03:28:51 2023 GMT
1 s:C = US, ST = California, O = Zscaler Inc., OU = Zscaler Inc., CN = "Zscaler Intermediate Root CA (zscloud.net) (t) "
  i:C = US, ST = California, O = Zscaler Inc., OU = Zscaler Inc., CN = Zscaler Intermediate Root CA (zscloud.net), emailAddress = support@zscaler.com
  a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
  v:NotBefore: Dec 17 03:28:51 2023 GMT; NotAfter: Dec 31 03:28:51 2023 GMT
2 s:C = US, ST = California, O = Zscaler Inc., OU = Zscaler Inc., CN = Zscaler Intermediate Root CA (zscloud.net), emailAddress = support@zscaler.com
  i:C = US, ST = California, L = San Jose, O = Zscaler Inc., OU = Zscaler Inc., CN = Zscaler Root CA, emailAddress = support@zscaler.com
  a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
  v:NotBefore: Jun  5 05:33:19 2020 GMT; NotAfter: Jun 23 05:33:19 2041 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIID5jCCAs6gA*******content-removed********Bq8BhCdb
-----END CERTIFICATE-----
subject=CN = exhort.stage.devshift.net
issuer=C = US, ST = California, O = Zscaler Inc., OU = Zscaler Inc., CN = "Zscaler Intermediate Root CA (zscloud.net) (t) "
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: ECDH, prime256v1, 256 bits
---
SSL handshake has read 3872 bytes and written 767 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

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 reproducing the component analysis request to https://exhort.stage.devshift.net/api/v4/analysis in the reported Windows 10 and WSL 2 Ubuntu environment with Zscaler SSL interception enabled. Trace how the extension handles the unable-to-get-local-issuer-certificate failure; done means component analysis works in this environment without weakening certificate verification.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, typescript
Domain
developer-experience, networking, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.