Skip to content

Commit af36565

Browse files
committed
fix conversion
1 parent 581a735 commit af36565

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

internal/controlplane/translator/gateway.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package translator
22

33
import (
44
"crypto/x509"
5+
"encoding/pem"
56
"fmt"
67

78
v1 "github.com/api7/api7-ingress-controller/api/dashboard/v1"
@@ -84,11 +85,15 @@ func (t *Translator) translateSecret(tctx *TranslateContext, listener gatewayv1.
8485
}
8586

8687
func extractHost(cert []byte) ([]string, error) {
87-
parsedCert, err := x509.ParseCertificate(cert)
88+
block, _ := pem.Decode(cert)
89+
if block == nil {
90+
return nil, errors.New("parse certificate: not in PEM format")
91+
}
92+
der, err := x509.ParseCertificate(block.Bytes)
8893
if err != nil {
89-
return nil, err
94+
return nil, errors.Wrap(err, "parse certificate")
9095
}
91-
return parsedCert.DNSNames, nil
96+
return der.DNSNames, nil
9297
}
9398

9499
func extractKeyPair(s *corev1.Secret, hasPrivateKey bool) ([]byte, []byte, error) {

0 commit comments

Comments
 (0)