mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-11-02 03:27:54 +00:00
Revert "Remove unneeded looping since Go 1.10 cover it already (#4010)"
This reverts commit 8aeba427d2.
This commit is contained in:
@@ -439,12 +439,28 @@ func validateConnState(roots *x509.CertPool, cs *tls.ConnectionState) ([][]*x509
|
||||
}
|
||||
}
|
||||
|
||||
chains, err := certs[0].Verify(opts)
|
||||
if err != nil {
|
||||
if _, ok := err.(x509.UnknownAuthorityError); ok {
|
||||
return nil, nil
|
||||
var chains [][]*x509.Certificate
|
||||
var err error
|
||||
switch {
|
||||
case len(certs[0].DNSNames) > 0:
|
||||
for _, dnsName := range certs[0].DNSNames {
|
||||
opts.DNSName = dnsName
|
||||
chains, err = certs[0].Verify(opts)
|
||||
if err != nil {
|
||||
if _, ok := err.(x509.UnknownAuthorityError); ok {
|
||||
return nil, nil
|
||||
}
|
||||
return nil, errors.New("failed to verify client's certificate: " + err.Error())
|
||||
}
|
||||
}
|
||||
default:
|
||||
chains, err = certs[0].Verify(opts)
|
||||
if err != nil {
|
||||
if _, ok := err.(x509.UnknownAuthorityError); ok {
|
||||
return nil, nil
|
||||
}
|
||||
return nil, errors.New("failed to verify client's certificate: " + err.Error())
|
||||
}
|
||||
return nil, errors.New("failed to verify client's certificate: " + err.Error())
|
||||
}
|
||||
|
||||
return chains, nil
|
||||
|
||||
Reference in New Issue
Block a user