Fix Android certificate initialize

This commit is contained in:
世界 2025-02-13 09:09:26 +08:00
parent c57bbcb68a
commit 44177b9e58
No known key found for this signature in database
GPG Key ID: CD109927C34A63C4

View File

@ -33,16 +33,14 @@ func NewStore(ctx context.Context, logger logger.Logger, options option.Certific
var systemPool *x509.CertPool
switch options.Store {
case C.CertificateStoreSystem, "":
platformInterface := service.FromContext[platform.Interface](ctx)
systemCertificates := platformInterface.SystemCertificates()
if len(systemCertificates) > 0 {
systemPool = x509.NewCertPool()
for _, cert := range systemCertificates {
if !systemPool.AppendCertsFromPEM([]byte(cert)) {
return nil, E.New("invalid system certificate PEM: ", cert)
}
systemPool = x509.NewCertPool()
var systemValid bool
for _, cert := range service.FromContext[platform.Interface](ctx).SystemCertificates() {
if systemPool.AppendCertsFromPEM([]byte(cert)) {
systemValid = true
}
} else {
}
if !systemValid {
certPool, err := x509.SystemCertPool()
if err != nil {
return nil, err