Из источника:
// Listen creates a TLS listener accepting connections on the
// given network address using net.Listen.
// The configuration config must be non-nil and must include
// at least one certificate or else set GetCertificate.
func Listen(network, laddr string, config *Config) (net.Listener, error) {
if config == nil || (len(config.Certificates) == 0 && config.GetCertificate == nil) {
return nil, errors.New("tls: neither Certificates nor GetCertificate set in Config")
}
l, err := net.Listen(network, laddr)
if err != nil {
return nil, err
}
return NewListener(l, config), nil
}
Проблема в том, что сертификаты не могут быть nil:
// The configuration config must be non-nil and must include
// at least one certificate or else set GetCertificate.
Как я могу использовать соединение tls
, прослушивающее без сертификатов?Мне нужно шифрование tls
, но , а не аутентификация .
Я попытался создать tls.Config с пустым сертификатом, подобным этому:
&tls.Config{
Certificates: []tls.Certificate{tls.Certificate{}},
}
Но не удалось установить соединение с tls: handshake failure
.Это вообще возможно?