mirror of
https://github.com/apple/pkl.git
synced 2026-01-11 22:30:54 +01:00
[PR #378] [CLOSED] Improve handling of CA certificates #528
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/apple/pkl/pull/378
Author: @odenix
Created: 3/29/2024
Status: ❌ Closed
Base:
main← Head:improve-certs📝 Commits (5)
01e3c74Improve handling of CA certificates02c72f1Ensure that OCSP is enabled for all CLIs85eee8bRemove ability to load CA certificate file via jar: or file: URIe50dbc2Rename certificateFiles to certificatePathse4b5823Fix test📊 Changes
24 files changed (+159 additions, -323 deletions)
View changed files
📝
docs/modules/pkl-cli/partials/cli-common-options.adoc(+5 -3)➖
pkl-certs/pkl-certs.gradle.kts(+0 -19)📝
pkl-cli/pkl-cli.gradle.kts(+36 -1)📝
pkl-cli/src/certs/PklCARoots.pem(+0 -0)📝
pkl-cli/src/test/kotlin/org/pkl/cli/CliEvaluatorTest.kt(+3 -6)📝
pkl-commons-cli/pkl-commons-cli.gradle.kts(+0 -1)📝
pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/CliBaseOptions.kt(+17 -14)📝
pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/CliMain.kt(+4 -0)📝
pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/commands/BaseOptions.kt(+1 -1)📝
pkl-commons-test/pkl-commons-test.gradle.kts(+0 -1)📝
pkl-commons-test/src/main/kotlin/org/pkl/commons/test/FileTestUtils.kt(+0 -5)📝
pkl-core/src/main/java/org/pkl/core/http/HttpClient.java(+8 -45)📝
pkl-core/src/main/java/org/pkl/core/http/HttpClientBuilder.java(+6 -64)📝
pkl-core/src/main/java/org/pkl/core/http/JdkHttpClient.java(+22 -25)📝
pkl-core/src/main/java/org/pkl/core/service/ExecutorSpiImpl.java(+13 -25)📝
pkl-core/src/main/resources/org/pkl/core/errorMessages.properties(+4 -0)📝
pkl-core/src/test/kotlin/org/pkl/core/http/HttpClientTest.kt(+8 -46)📝
pkl-core/src/test/kotlin/org/pkl/core/http/LazyHttpClientTest.kt(+10 -4)➖
pkl-core/src/test/resources/org/pkl/core/http/brokenCerts.pem(+0 -1)➖
pkl-core/src/test/resources/org/pkl/core/http/emptyCerts.pem(+0 -0)...and 4 more files
📄 Description
Instead of bundling Pkl's built-in CA certificates as a class path resource and loading them at runtime, pass them to the native image compiler as the default SSL context's trust store. This results in faster SSL initialization and is more consistent with how default certificates are handled when running on the JVM.
Further related improvements:
--ca-certificatesand corresponding APIs to accept directories in addition to files. Passing a directory has the same effect as passing each of the directory's regular files.~/.pkl/cacertsCLI default directly inCliBaseOptions.addDefaultCliCertificatesandaddBuiltInCertificates.PklCARoots.pemtopkl-cli/src/certs.certificateFilestocertificatePaths.CliBaseOptions.httpClientfails.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.