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
|
return
|
||||||
}
|
}
|
||||||
c.Options[values[0]] = lowerCaseOpt(values[0], val)
|
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()
|
err := saveConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.SetMessage("Value set, but error saving config to file", true)
|
c.SetMessage("Value set, but error saving config to file", true)
|
||||||
|
|
|
@ -24,7 +24,6 @@ type Capsule struct {
|
||||||
type TofuDigest struct {
|
type TofuDigest struct {
|
||||||
certs map[string]string
|
certs map[string]string
|
||||||
ClientCert tls.Certificate
|
ClientCert tls.Certificate
|
||||||
UseClientCert bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -33,13 +32,12 @@ type TofuDigest struct {
|
||||||
//--------------------------------------------------\\
|
//--------------------------------------------------\\
|
||||||
|
|
||||||
func (t *TofuDigest) LoadCertificate(cert, key string) {
|
func (t *TofuDigest) LoadCertificate(cert, key string) {
|
||||||
validClientCert := true
|
|
||||||
certificate, err := tls.LoadX509KeyPair(cert, key)
|
certificate, err := tls.LoadX509KeyPair(cert, key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
t.ClientCert = tls.Certificate{}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
t.ClientCert = certificate
|
t.ClientCert = certificate
|
||||||
t.UseClientCert = validClientCert
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *TofuDigest) Purge(host string) error {
|
func (t *TofuDigest) Purge(host string) error {
|
||||||
|
@ -156,10 +154,8 @@ func Retrieve(host, port, resource string, td *TofuDigest) (string, error) {
|
||||||
InsecureSkipVerify: true,
|
InsecureSkipVerify: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
if td.UseClientCert {
|
conf.GetClientCertificate = func(*tls.CertificateRequestInfo) (*tls.Certificate, error) {
|
||||||
conf.GetClientCertificate = func(*tls.CertificateRequestInfo) (*tls.Certificate, error) {
|
return &td.ClientCert, nil
|
||||||
return &td.ClientCert, nil
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := tls.Dial("tcp", addr, conf)
|
conn, err := tls.Dial("tcp", addr, conf)
|
||||||
|
@ -401,5 +397,5 @@ func MakeCapsule() Capsule {
|
||||||
}
|
}
|
||||||
|
|
||||||
func MakeTofuDigest() TofuDigest {
|
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