Skip to content

Commit b16cbef

Browse files
authored
Fix intermediate certificate handling (agones-dev#2602) (agones-dev#2605)
1 parent 8062a04 commit b16cbef

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

‎cmd/allocator/main.go‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -412,8 +412,13 @@ func (h *serviceHandler) verifyClientCertificate(rawCerts [][]byte, verifiedChai
412412
KeyUsages: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth},
413413
}
414414

415-
for _, cert := range rawCerts[1:] {
416-
opts.Intermediates.AppendCertsFromPEM(cert)
415+
for _, rawCert := range rawCerts[1:] {
416+
cert, err := x509.ParseCertificate(rawCert)
417+
if err != nil {
418+
logger.WithError(err).Warning("cannot parse intermediate certificate")
419+
return errors.New("bad intermediate certificate: " + err.Error())
420+
}
421+
opts.Intermediates.AddCert(cert)
417422
}
418423

419424
c, err := x509.ParseCertificate(rawCerts[0])

0 commit comments

Comments
 (0)