This repository has been archived on 2023-05-01. You can view files and clone it, but cannot push or open issues or pull requests.
gus/contrib/tlsauth/approver.go

18 lines
585 B
Go

package tlsauth
import "crypto/x509"
// Approver is a function that validates a certificate.
//
// It should not be have to handle a nil argument.
type Approver func(*x509.Certificate) bool
// RequireSpecificIdentity builds an approver that demands one specific client certificate.
func RequireSpecificIdentity(identity *x509.Certificate) Approver { return identity.Equal }
// Allow is an approver which permits anything.
func Allow(_ *x509.Certificate) bool { return true }
// Reject is an approver which denies everything.
func Reject(_ *x509.Certificate) bool { return false }