Remove TLSConfig fields
This commit is contained in:
@@ -4,7 +4,6 @@ package main
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"crypto/x509"
|
||||
"log"
|
||||
|
||||
"git.sr.ht/~adnano/go-gemini"
|
||||
@@ -18,27 +17,24 @@ func main() {
|
||||
// openssl ecparam -genkey -name secp384r1 -out server.key
|
||||
// openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650
|
||||
//
|
||||
config := tls.Config{}
|
||||
cert, err := tls.LoadX509KeyPair("examples/server/server.crt", "examples/server/server.key")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
config.Certificates = append(config.Certificates, cert)
|
||||
config.ClientAuth = tls.RequestClientCert
|
||||
config.VerifyPeerCertificate = func(rawCerts [][]byte, chains [][]*x509.Certificate) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
mux := &gemini.ServeMux{}
|
||||
mux.HandleFunc("/", func(rw *gemini.ResponseWriter, req *gemini.Request) {
|
||||
log.Printf("Request from %s for %s with certificates %v", req.RemoteAddr.String(), req.URL.String(), req.TLS.PeerCertificates)
|
||||
rw.WriteHeader(gemini.StatusSuccess, "text/gemini")
|
||||
rw.Write([]byte("You requested " + req.URL.String()))
|
||||
log.Printf("Request from %s for %s", req.RemoteAddr.String(), req.URL)
|
||||
if len(req.TLS.PeerCertificates) != 0 {
|
||||
log.Print("Client certificate: ", gemini.Fingerprint(req.TLS.PeerCertificates[0]))
|
||||
}
|
||||
})
|
||||
|
||||
server := gemini.Server{
|
||||
TLSConfig: config,
|
||||
Handler: mux,
|
||||
Handler: mux,
|
||||
Certificate: cert,
|
||||
}
|
||||
server.ListenAndServe()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user