From 4169be45eb5262a1a4aba775740b65206906e772 Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Tue, 7 Aug 2018 11:32:36 +0200 Subject: pki: Allow filtering accepted public key types based on the configuration This effectively allows to disable using the SHA2 extension, disable other old public key mechanisms out of the box (hello DSA) or force the new SHA2-based key algorithm types if needed. This exposes the default_methods array from kex.c. Signed-off-by: Jakub Jelen Reviewed-by: Andreas Schneider --- include/libssh/kex.h | 1 + include/libssh/pki.h | 1 + 2 files changed, 2 insertions(+) (limited to 'include/libssh') diff --git a/include/libssh/kex.h b/include/libssh/kex.h index 3e9b69b5..58a9c555 100644 --- a/include/libssh/kex.h +++ b/include/libssh/kex.h @@ -43,6 +43,7 @@ char **ssh_space_tokenize(const char *chain); int ssh_get_kex1(ssh_session session); char *ssh_find_matching(const char *in_d, const char *what_d); const char *ssh_kex_get_supported_method(uint32_t algo); +const char *ssh_kex_get_default_methods(uint32_t algo); const char *ssh_kex_get_description(uint32_t algo); #endif /* KEX_H_ */ diff --git a/include/libssh/pki.h b/include/libssh/pki.h index 0a3823f3..621378ad 100644 --- a/include/libssh/pki.h +++ b/include/libssh/pki.h @@ -138,4 +138,5 @@ ssh_string ssh_srv_pki_do_sign_sessionid(ssh_session session, ssh_public_key ssh_pki_convert_key_to_publickey(const ssh_key key); ssh_private_key ssh_pki_convert_key_to_privatekey(const ssh_key key); +int ssh_key_algorithm_allowed(ssh_session session, const char *type); #endif /* PKI_H_ */ -- cgit v1.2.3