Skip to content

With 7.0.1 release - Basic connection does not work on untrusted z/OSMF server. - #609

Merged
frankgiordano merged 2 commits into
mainfrom
aug7
Aug 8, 2026
Merged

With 7.0.1 release - Basic connection does not work on untrusted z/OSMF server. #609
frankgiordano merged 2 commits into
mainfrom
aug7

Conversation

@frankgiordano

@frankgiordano frankgiordano commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

The Root Cause & What Changed
In previous versions (e.g. 7.0.0), Basic authentication unconditionally hardcoded Unirest.config().verifySsl(false) globally for all requests. This introduced security risks (ignoring certificates in production) and concurrency bugs in multithreaded apps.

When Unirest was refactored to use isolated per-connection instances (UnirestInstance), setupSsl(...) was accidentally configured to run only for AuthType.SSL.

As a result, when using AuthType.BASIC:

Setting -Dzowe.sdk.allow.insecure.connection=true or -Dzowe.sdk.truststore.path was ignored.
Java defaulted to standard JVM cacerts validation.
Connections to self-signed or internal CA mainframe servers failed with: javax.net.ssl.SSLHandshakeException: PKIX path building failed.

The Code Fix Applied
ZosmfRequest.java was updated so setupSsl(...) is called for all authentication types (BASIC, TOKEN, and SSL).

PR introduces supports for all three SSL modes for Basic/Token connections:

  • Insecure Mode (zowe.sdk.allow.insecure.connection=true): Bypasses server TLS/hostname checks (acts like curl -k).
  • Custom TrustStore (zowe.sdk.truststore.path): Validates server against a specific .p12 / .jks file containing internal CA certs.
  • Standard Mode (Default): Validates server against trusted CAs.

@frankgiordano frankgiordano self-assigned this Aug 8, 2026
@frankgiordano frankgiordano added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request Improvement labels Aug 8, 2026
@frankgiordano
frankgiordano merged commit e104f84 into main Aug 8, 2026
4 checks passed
@frankgiordano frankgiordano changed the title Basic connection does not work on untrusted z/OSMF server. With 7.0.1 release - Basic connection does not work on untrusted z/OSMF server. Aug 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request Improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TSO command execution is failing with BASIC connection after upgrading to 7.0.1 version

1 participant