Files
minio/docs/investigations/issue-154/cert-roots.go
T
Feng Ruohang 48e1846525 fix(tls): honor Go key exchange defaults across transports
Remove the eight explicit curve overrides so Go 1.27 honors tlsmlkem=0
across Server listeners, node links and outbound transports. Remove the
unused shared curve option and add wire-level regression coverage.

Document CA trust and TLS upgrade behavior, retain the investigation
artifacts, and exclude their synthetic routes from the rebrand guard.
The product compatibility baseline remains unchanged.

Validation: focused race tests, HTTP tests, lint, compatibility guard
positive/negative controls, and a fresh Linux build with three isolated
OIDC integration scenarios all pass.

Adversarial review: Claude Code Fable 5.1, max effort.
Final verdict: APPROVE FOR COMMIT.

Signed-off-by: Feng Ruohang <rh@vonng.com>
2026-09-09 18:50:12 +08:00

42 lines
912 B
Go

//go:build ignore
// Run only with the public, synthetic CA made by fixture.go.
package main
import (
"crypto/x509"
"encoding/json"
"encoding/pem"
"os"
"runtime"
"github.com/pgsty/silo-pkg/v3/certs"
)
func main() {
if len(os.Args) != 3 {
panic("usage: cert-roots synthetic-ca.pem explicit-ca-path-or-empty")
}
data, err := os.ReadFile(os.Args[1])
if err != nil {
panic(err)
}
block, _ := pem.Decode(data)
if block == nil || block.Type != "CERTIFICATE" {
panic("expected public certificate")
}
certificate, err := x509.ParseCertificate(block.Bytes)
if err != nil {
panic(err)
}
roots, err := certs.GetRootCAs(os.Args[2])
if err != nil {
panic(err)
}
_, err = certificate.Verify(x509.VerifyOptions{Roots: roots})
_ = json.NewEncoder(os.Stdout).Encode(map[string]any{
"go": runtime.Version(), "os": runtime.GOOS,
"explicit_ca": os.Args[2] != "", "trusted": err == nil,
})
}