Implement TLS server

$ ./minio --tls --cert <your_cert> --key <your_private_key>

This patchset also provides crypto/x509 - which is a wrapper package
to generate X509 certificates.

This is necessary to provide certificates later through management console
This commit is contained in:
Harshavardhana
2015-01-25 17:15:18 -08:00
parent 4b586a51cf
commit 063832baaf
23 changed files with 3435 additions and 10 deletions

View File

@@ -26,19 +26,29 @@ import (
"github.com/minio-io/minio/pkg/webapi/minioapi"
)
func Start() {
func Start(hostname string, tls bool, certFile, keyFile string) {
var ctrlChans []chan<- string
var statusChans []<-chan error
var ctrlChan chan<- string
var statusChan <-chan error
var storage mstorage.Storage
var srv = httpserver.HttpServer{}
srv.Address = hostname
srv.TLS = tls
if certFile != "" {
srv.CertFile = certFile
}
if keyFile != "" {
srv.KeyFile = keyFile
}
ctrlChan, statusChan, storage = inmemory.Start()
ctrlChans = append(ctrlChans, ctrlChan)
statusChans = append(statusChans, statusChan)
ctrlChan, statusChan = httpserver.Start(minioapi.HttpHandler(storage), ":8080")
ctrlChan, statusChan = httpserver.Start(minioapi.HttpHandler(storage), srv)
ctrlChans = append(ctrlChans, ctrlChan)
statusChans = append(statusChans, statusChan)