From 94899ddaf95e79324de8bcdd70ca18ff834ec0be Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 31 Mar 2016 11:28:15 +0200 Subject: Separated routes branch --- sni.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 sni.go (limited to 'sni.go') diff --git a/sni.go b/sni.go new file mode 100644 index 0000000..cc73fb3 --- /dev/null +++ b/sni.go @@ -0,0 +1,17 @@ +package goxy + +import ( + "crypto/tls" + "errors" +) + +// SNI holds Certificates for Server Name Identication +type SNI map[string]*tls.Certificate + +// GetCertificate returns certificate for SNI negotiation +func (s SNI) GetCertificate(h *tls.ClientHelloInfo) (*tls.Certificate, error) { + if crt, ok := s[h.ServerName]; ok { + return crt, nil + } + return nil, errors.New("no cert for " + h.ServerName) +} -- cgit v1.2.3