MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / NewServerTLSConfig

Function NewServerTLSConfig

IceFireDB-SQLite/pkg/mysql/server/ssl.go:16–33  ·  view source on GitHub ↗

NewServerTLSConfig: generate TLS config for server side controlling the security level by authType

(caPem, certPem, keyPem []byte, authType tls.ClientAuthType)

Source from the content-addressed store, hash-verified

14// NewServerTLSConfig: generate TLS config for server side
15// controlling the security level by authType
16func NewServerTLSConfig(caPem, certPem, keyPem []byte, authType tls.ClientAuthType) *tls.Config {
17 pool := x509.NewCertPool()
18 if !pool.AppendCertsFromPEM(caPem) {
19 panic("failed to add ca PEM")
20 }
21
22 cert, err := tls.X509KeyPair(certPem, keyPem)
23 if err != nil {
24 panic(err)
25 }
26
27 config := &tls.Config{
28 ClientAuth: authType,
29 Certificates: []tls.Certificate{cert},
30 ClientCAs: pool,
31 }
32 return config
33}
34
35// extract RSA public key from certificate
36func getPublicKeyFromCert(certPem []byte) []byte {

Callers 1

NewDefaultServerFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected