Add function to add a host temporarily
This commit is contained in:
parent
b46a05e5ff
commit
8009de81eb
@ -89,6 +89,7 @@ client.TrustCertificate = func(hostname string, cert *x509.Certificate, knownHos
|
|||||||
// Prompt the user to trust the certificate
|
// Prompt the user to trust the certificate
|
||||||
if userTrustsCertificateTemporarily() {
|
if userTrustsCertificateTemporarily() {
|
||||||
// Temporarily trust the certificate
|
// Temporarily trust the certificate
|
||||||
|
knownHosts.AddTemporary(hostname, cert)
|
||||||
return nil
|
return nil
|
||||||
} else if userTrustsCertificatePermanently() {
|
} else if userTrustsCertificatePermanently() {
|
||||||
// Add the certificate to the known hosts file
|
// Add the certificate to the known hosts file
|
||||||
|
@ -34,6 +34,7 @@ func init() {
|
|||||||
// Prompt the user to trust the certificate
|
// Prompt the user to trust the certificate
|
||||||
if userTrustsCertificateTemporarily() {
|
if userTrustsCertificateTemporarily() {
|
||||||
// Temporarily trust the certificate
|
// Temporarily trust the certificate
|
||||||
|
knownHosts.AddTemporary(hostname, cert)
|
||||||
return nil
|
return nil
|
||||||
} else if userTrustsCertificatePermanently() {
|
} else if userTrustsCertificatePermanently() {
|
||||||
// Add the certificate to the known hosts file
|
// Add the certificate to the known hosts file
|
||||||
|
7
tofu.go
7
tofu.go
@ -69,6 +69,13 @@ func (k *KnownHosts) Add(hostname string, cert *x509.Certificate) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddTemporary adds a certificate to the list of known hosts,
|
||||||
|
// without writing it to a file.
|
||||||
|
func (k *KnownHosts) AddTemporary(hostname string, cert *x509.Certificate) {
|
||||||
|
host := NewKnownHost(hostname, cert)
|
||||||
|
k.hosts = append(k.hosts, host)
|
||||||
|
}
|
||||||
|
|
||||||
// Lookup looks for the provided certificate in the list of known hosts.
|
// Lookup looks for the provided certificate in the list of known hosts.
|
||||||
// If the hostname is in the list, but the fingerprint differs,
|
// If the hostname is in the list, but the fingerprint differs,
|
||||||
// Lookup returns ErrCertificateNotTrusted.
|
// Lookup returns ErrCertificateNotTrusted.
|
||||||
|
Loading…
Reference in New Issue
Block a user