Add certificate store

This commit is contained in:
世界
2025-01-08 10:34:45 +08:00
parent 90ec9c8bcb
commit 17576e9f66
30 changed files with 4786 additions and 32 deletions

21
adapter/certificate.go Normal file
View File

@@ -0,0 +1,21 @@
package adapter
import (
"context"
"crypto/x509"
"github.com/sagernet/sing/service"
)
type CertificateStore interface {
LifecycleService
Pool() *x509.CertPool
}
func RootPoolFromContext(ctx context.Context) *x509.CertPool {
store := service.FromContext[CertificateStore](ctx)
if store == nil {
return nil
}
return store.Pool()
}