remove certmagic; gemini's TOFU model doesn't benefit from short-lived certs
This commit is contained in:
25
main.go
25
main.go
@@ -14,8 +14,6 @@ import (
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/caddyserver/certmagic"
|
||||
)
|
||||
|
||||
var responseCodes = map[string]int{
|
||||
@@ -218,30 +216,25 @@ func handleConnection(log Logger, conn net.Conn, h geminiHandler) {
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
log := NewLogger(&log.Logger{}, true)
|
||||
log := NewLogger(true)
|
||||
|
||||
err := mime.AddExtensionType(".gemini", "text/gemini")
|
||||
if err != nil {
|
||||
log.Info("Could not add text/gemini to mime-type database;", err)
|
||||
}
|
||||
|
||||
magic := certmagic.NewDefault()
|
||||
myACME := certmagic.NewACMEManager(magic, certmagic.DefaultACME)
|
||||
|
||||
err = magic.CacheUnmanagedCertificatePEMFile("./cert.pem", "./key.pem", []string{})
|
||||
cer, err := tls.LoadX509KeyPair("./cert.pem", "./key.pem")
|
||||
if err != nil {
|
||||
log.Info(err)
|
||||
log.Info("", err)
|
||||
return
|
||||
}
|
||||
|
||||
go func() {
|
||||
err := http.ListenAndServe(":80", myACME.HTTPChallengeHandler(&genericHTTPHandler{}))
|
||||
if err != nil {
|
||||
log.Info(err)
|
||||
}
|
||||
}()
|
||||
tlsc := tls.Config{
|
||||
Certificates: []tls.Certificate{cer},
|
||||
MinVersion: tls.VersionTLS12,
|
||||
}
|
||||
|
||||
listener, err := tls.Listen("tcp", "localhost:1965", magic.TLSConfig())
|
||||
listener, err := tls.Listen("tcp", "localhost:1965", &tlsc)
|
||||
if err != nil {
|
||||
log.Info(err)
|
||||
return
|
||||
|
Reference in New Issue
Block a user