Add function to add a host temporarily

This commit is contained in:
adnano 2020-09-27 17:41:41 -04:00
parent b46a05e5ff
commit 8009de81eb
3 changed files with 9 additions and 0 deletions

View File

@ -89,6 +89,7 @@ client.TrustCertificate = func(hostname string, cert *x509.Certificate, knownHos
// Prompt the user to trust the certificate
if userTrustsCertificateTemporarily() {
// Temporarily trust the certificate
knownHosts.AddTemporary(hostname, cert)
return nil
} else if userTrustsCertificatePermanently() {
// Add the certificate to the known hosts file

View File

@ -34,6 +34,7 @@ func init() {
// Prompt the user to trust the certificate
if userTrustsCertificateTemporarily() {
// Temporarily trust the certificate
knownHosts.AddTemporary(hostname, cert)
return nil
} else if userTrustsCertificatePermanently() {
// Add the certificate to the known hosts file

View File

@ -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.
// If the hostname is in the list, but the fingerprint differs,
// Lookup returns ErrCertificateNotTrusted.