aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authoradnano <[email protected]>2020-09-25 18:53:20 -0400
committeradnano <[email protected]>2020-09-25 18:53:20 -0400
commitace3e682deefbfc15b9f5ee01c73250dcb4f7a5a (patch)
tree02423af4ed12b1b06053b5632d2562283c02e34e /examples
parentAdd test (diff)
downloadgo-gemini-ace3e682deefbfc15b9f5ee01c73250dcb4f7a5a.tar.xz
go-gemini-ace3e682deefbfc15b9f5ee01c73250dcb4f7a5a.zip
Remove TLSConfig fields
Diffstat (limited to 'examples')
-rw-r--r--examples/client/client.go7
-rw-r--r--examples/server/server.go16
2 files changed, 9 insertions, 14 deletions
diff --git a/examples/client/client.go b/examples/client/client.go
index 1716955..a90af18 100644
--- a/examples/client/client.go
+++ b/examples/client/client.go
@@ -34,8 +34,7 @@ func makeRequest(url string) {
if err != nil {
log.Fatal(err)
}
- req.TLSConfig.InsecureSkipVerify = true
- req.TLSConfig.Certificates = append(req.TLSConfig.Certificates, cert)
+ req.Certificate = cert
resp, err := gemini.Do(req)
if err != nil {
log.Fatal(err)
@@ -63,9 +62,9 @@ func makeRequest(url string) {
case gemini.StatusClassPermanentFailure:
log.Fatal("Permanent failure")
case gemini.StatusClassClientCertificateRequired:
- log.Fatal("Client Certificate Required")
+ log.Fatal("Client certificate required")
default:
- log.Fatal("Protocol Error")
+ log.Fatal("Protocol error")
}
}
diff --git a/examples/server/server.go b/examples/server/server.go
index c587c69..02e8643 100644
--- a/examples/server/server.go
+++ b/examples/server/server.go
@@ -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()
}