in transport/tlscommon/server_config.go [125:151]
func (c *ServerConfig) Validate() error {
if c.IsEnabled() {
// c.Certificate.Validate() ensures that both a certificate and key
// are specified, or neither are specified. For server-side TLS we
// require both to be specified.
if c.Certificate.Certificate == "" {
return ErrCertificateUnspecified
}
}
for _, v := range c.Versions {
if err := v.Validate(); err != nil {
return err
}
}
for _, cs := range c.CipherSuites {
if err := cs.Validate(); err != nil {
return err
}
}
for _, ct := range c.CurveTypes {
if err := ct.Validate(); err != nil {
return err
}
}
return c.Certificate.Validate()
}