From 1f01e368dd552251367f401cb0cbb333aecf2aab Mon Sep 17 00:00:00 2001 From: hstyi Date: Sun, 27 Apr 2025 09:54:22 +0800 Subject: [PATCH] feat: support for signature algorithms (#539) --- src/main/kotlin/app/termora/SshClients.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/kotlin/app/termora/SshClients.kt b/src/main/kotlin/app/termora/SshClients.kt index 904631b..69f9397 100644 --- a/src/main/kotlin/app/termora/SshClients.kt +++ b/src/main/kotlin/app/termora/SshClients.kt @@ -48,6 +48,7 @@ import org.apache.sshd.common.kex.BuiltinDHFactories import org.apache.sshd.common.keyprovider.KeyIdentityProvider import org.apache.sshd.common.session.Session import org.apache.sshd.common.session.SessionListener +import org.apache.sshd.common.signature.BuiltinSignatures import org.apache.sshd.common.util.net.SshdSocketAddress import org.apache.sshd.core.CoreModuleProperties import org.apache.sshd.server.forward.AcceptAllForwardingFilter @@ -351,6 +352,13 @@ object SshClients { } builder.compressionFactories(compressionFactories) + val signatureFactories = ClientBuilder.setUpDefaultSignatureFactories(true).toMutableList() + for (signature in BuiltinSignatures.entries) { + if (signatureFactories.contains(signature)) continue + signatureFactories.add(signature) + } + builder.signatureFactories(signatureFactories) + if (host.tunnelings.isEmpty() && host.options.jumpHosts.isEmpty()) { builder.forwardingFilter(RejectAllForwardingFilter.INSTANCE) } else {