KiCad PCB EDA Suite
Loading...
Searching...
No Matches
kigit_known_hosts.h File Reference
#include <import_export.h>
#include <array>
#include <cstdint>
#include <string>
#include <wx/string.h>

Go to the source code of this file.

Classes

struct  KIGIT::HOST_KEY_FAILURE
 A server key the connection refused, for the UI to offer to trust or to report. More...
 

Namespaces

namespace  KIGIT
 

Enumerations

enum class  KIGIT::KNOWN_HOST_STATE {
  KIGIT::UNKNOWN , KIGIT::MATCH , KIGIT::MISMATCH , KIGIT::OTHER_KEY_TYPE ,
  KIGIT::REVOKED
}
 How a server's host key stands against known_hosts. More...
 

Functions

APIEXPORT std::array< uint8_t, 20 > KIGIT::HmacSha1 (const std::string &aKey, const std::string &aData)
 HMAC-SHA1 (RFC 2104), as OpenSSH hashes host names in known_hosts.
 
APIEXPORT KNOWN_HOST_STATE KIGIT::LookupKnownHost (const wxString &aKnownHostsText, const wxString &aHost, int aPort, const wxString &aKeyType, const std::string &aRawKey)
 Classify a server's key against the text of a known_hosts file, as OpenSSH reads it.
 
APIEXPORT wxString KIGIT::FormatKnownHostsLine (const wxString &aHost, int aPort, const wxString &aKeyType, const wxString &aBase64Key)
 The known_hosts line ssh would write for a key, without a line ending.
 
APIEXPORT wxString KIGIT::HostKeyType (const std::string &aRawKey)
 The type a raw SSH key names for itself, such as ssh-ed25519. Empty when the key is malformed.
 
APIEXPORT wxString KIGIT::HostKeyFingerprint (const std::string &aRawKey)
 SHA256 of a raw key in unpadded base64, as ssh shows it after "SHA256:".
 
APIEXPORT wxString KIGIT::KnownHostsPath ()
 The known_hosts file libgit2 checks host keys against. Empty when it has no home folder.
 
APIEXPORT bool KIGIT::MayOfferTrust (const HOST_KEY_FAILURE &aFailure, bool aRetriedAfterTrust)
 Whether the user may be asked to trust a refused key.
 
APIEXPORT wxString KIGIT::HostKeyRefusalMessage (const HOST_KEY_FAILURE &aFailure)
 Why a key the user may not trust was refused, and what to do next.
 
APIEXPORT wxString KIGIT::Libgit2LegacyHome (int aRevision)
 The home folder libgit2 1.5 reads .ssh/known_hosts under, which it has no option to report.
 
APIEXPORT wxString KIGIT::ReadKnownHosts ()
 The text of KnownHostsPath(). Empty when it is missing or cannot be read.
 
APIEXPORT bool KIGIT::AddKnownHost (const HOST_KEY_FAILURE &aKey)
 Append the refused key to KnownHostsPath(), creating the file and its folder when missing.