forked from sloum/bombadillo
Sets certificate to update as SET is called
This commit is contained in:
parent
5539f6c2c6
commit
c12bc16015
|
@ -403,6 +403,9 @@ func (c *client) doCommandAs(action string, values []string) {
|
|||
return
|
||||
}
|
||||
c.Options[values[0]] = lowerCaseOpt(values[0], val)
|
||||
if values[0] == "tlskey" || values[0] == "tlscertificate" {
|
||||
c.Certs.LoadCertificate(c.Options["tlscertificate"], c.Options["tlskey"])
|
||||
}
|
||||
err := saveConfig()
|
||||
if err != nil {
|
||||
c.SetMessage("Value set, but error saving config to file", true)
|
||||
|
|
|
@ -24,7 +24,6 @@ type Capsule struct {
|
|||
type TofuDigest struct {
|
||||
certs map[string]string
|
||||
ClientCert tls.Certificate
|
||||
UseClientCert bool
|
||||
}
|
||||
|
||||
|
||||
|
@ -33,13 +32,12 @@ type TofuDigest struct {
|
|||
//--------------------------------------------------\\
|
||||
|
||||
func (t *TofuDigest) LoadCertificate(cert, key string) {
|
||||
validClientCert := true
|
||||
certificate, err := tls.LoadX509KeyPair(cert, key)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
t.ClientCert = tls.Certificate{}
|
||||
return
|
||||
}
|
||||
t.ClientCert = certificate
|
||||
t.UseClientCert = validClientCert
|
||||
}
|
||||
|
||||
func (t *TofuDigest) Purge(host string) error {
|
||||
|
@ -156,10 +154,8 @@ func Retrieve(host, port, resource string, td *TofuDigest) (string, error) {
|
|||
InsecureSkipVerify: true,
|
||||
}
|
||||
|
||||
if td.UseClientCert {
|
||||
conf.GetClientCertificate = func(*tls.CertificateRequestInfo) (*tls.Certificate, error) {
|
||||
return &td.ClientCert, nil
|
||||
}
|
||||
conf.GetClientCertificate = func(*tls.CertificateRequestInfo) (*tls.Certificate, error) {
|
||||
return &td.ClientCert, nil
|
||||
}
|
||||
|
||||
conn, err := tls.Dial("tcp", addr, conf)
|
||||
|
@ -401,5 +397,5 @@ func MakeCapsule() Capsule {
|
|||
}
|
||||
|
||||
func MakeTofuDigest() TofuDigest {
|
||||
return TofuDigest{make(map[string]string), tls.Certificate{}, false}
|
||||
return TofuDigest{make(map[string]string), tls.Certificate{}}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue