ssh_cert_verify.c
Date and time management.
bool_t ipCompPrefix(const IpAddr *ipAddr1, const IpAddr *ipAddr2, size_t length)
Compare IP address prefixes.
Definition: ip.c:370
bool_t sshGetName(const SshNameList *nameList, uint_t index, SshString *name)
Get the element at specified index.
Definition: ssh_misc.c:1338
error_t sshParseString(const uint8_t *p, size_t length, SshString *string)
Parse a string.
Definition: ssh_misc.c:1152
SSH certificate verification.
error_t sshVerifyCriticalOptions(SshConnection *connection, const SshCertificate *cert)
Verify critical options.
Definition: ssh_cert_verify.c:326
error_t socketGetRemoteAddr(Socket *socket, IpAddr *remoteIpAddr, uint16_t *remotePort)
Retrieve the address of the peer to which a socket is connected.
Definition: socket.c:1985
bool_t sshCompareString(const SshString *string, const char_t *value)
Compare a binary string against the supplied value.
Definition: ssh_misc.c:1586
error_t sshVerifyValidity(const SshCertificate *cert)
Verify validity period.
Definition: ssh_cert_verify.c:292
error_t ipStringToAddr(const char_t *str, IpAddr *ipAddr)
Convert a string representation of an IP address to a binary IP address.
Definition: ip.c:761
bool_t sshGetValidPrincipal(const SshCertificate *cert, uint_t index, SshString *name)
Extract the principal name at specified index.
Definition: ssh_cert_parse.c:648
const char_t * sshGetKeyFormatId(const SshString *publicKeyAlgo)
Get the key format identifier used by a given public key algorithm.
Definition: ssh_algorithms.c:1323
bool_t ipCompAddr(const IpAddr *ipAddr1, const IpAddr *ipAddr2)
Compare IP addresses.
Definition: ip.c:317
error_t sshVerifySignature(SshConnection *connection, const SshString *publicKeyAlgo, const SshBinaryString *publicKeyBlob, const SshBinaryString *sessionId, const SshBinaryString *message, const SshBinaryString *signature)
Signature verification.
Definition: ssh_sign_verify.c:59
error_t sshVerifyServerCertificate(SshConnection *connection, const SshString *publicKeyAlgo, const SshBinaryString *hostKey)
Verify server's certificate.
Definition: ssh_cert_verify.c:158
SSH certificate parsing.
error_t sshParseNameList(const uint8_t *p, size_t length, SshNameList *nameList)
Parse a comma-separated list of names.
Definition: ssh_misc.c:1227
error_t sshVerifyCertSignature(SshConnection *connection, const SshCertificate *cert)
Verify certificate signature.
Definition: ssh_cert_verify.c:489
error_t sshVerifyClientCertificate(SshConnection *connection, const SshString *publicKeyAlgo, const SshBinaryString *hostKey, bool_t flag)
Verify client's certificate.
Definition: ssh_cert_verify.c:58
error_t sshParseCertificate(const uint8_t *data, size_t length, SshCertificate *cert)
Parse SSH certificate.
Definition: ssh_cert_parse.c:52
SSH helper functions.
bool_t sshGetCriticalOption(const SshCertificate *cert, uint_t index, SshString *name, SshBinaryString *data)
Extract the critical option at specified index.
Definition: ssh_cert_parse.c:692
error_t sshVerifySrcAddrOption(SshConnection *connection, const SshBinaryString *optionData)
Verify "source-address" option.
Definition: ssh_cert_verify.c:377
error_t sshVerifyPrincipal(const SshCertificate *cert, const char_t *name)
Verify principal name.
Definition: ssh_cert_verify.c:243
Secure Shell (SSH)
SSH algorithm negotiation.
RSA/DSA/ECDSA/EdDSA signature verification.
Debugging facilities.