1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-23 15:29:42 +02:00

refactor(api): create a new structure for the Go api (#94)

* refactor(api): create a new structure for the Go api

* refactor(api): update the way keyFile parameter is managed
This commit is contained in:
Anthony Lapenna 2016-08-01 13:40:12 +12:00 committed by GitHub
parent 06c2635e82
commit b0ebbdf68c
9 changed files with 325 additions and 246 deletions

27
api/ssl.go Normal file
View file

@ -0,0 +1,27 @@
package main
import (
"crypto/tls"
"crypto/x509"
"io/ioutil"
"log"
)
// newTLSConfig initializes a tls.Config from the TLS flags
func newTLSConfig(tlsFlags TLSFlags) *tls.Config {
cert, err := tls.LoadX509KeyPair(tlsFlags.certPath, tlsFlags.keyPath)
if err != nil {
log.Fatal(err)
}
caCert, err := ioutil.ReadFile(tlsFlags.caPath)
if err != nil {
log.Fatal(err)
}
caCertPool := x509.NewCertPool()
caCertPool.AppendCertsFromPEM(caCert)
tlsConfig := &tls.Config{
Certificates: []tls.Certificate{cert},
RootCAs: caCertPool,
}
return tlsConfig
}