fix: generate a per-installation root CA

This commit is contained in:
leokun
2026-08-12 20:04:29 +08:00
parent 7a67e76617
commit 2b8d1c9e3d
14 changed files with 454 additions and 89 deletions
+3 -1
View File
@@ -28,6 +28,7 @@ type exchangeContext struct {
type Server struct {
config Config
certManager *certs.Manager
caCertPEM []byte
store *exchangeStore
counter atomic.Uint64
proxyServer *http.Server
@@ -43,13 +44,14 @@ func New(config Config) (*Server, error) {
if err := validateLoopbackAddress(config.UIAddr); err != nil {
return nil, err
}
manager, err := certs.NewEmbeddedManager()
manager, caCertPEM, err := certs.NewGeneratedManager()
if err != nil {
return nil, fmt.Errorf("加载 MITM CA 失败:%w", err)
}
server := &Server{
config: config,
certManager: manager,
caCertPEM: caCertPEM,
store: newExchangeStore(config.MaxExchanges),
}
proxyHandler, err := server.newProxyHandler()