From f831874472a36e07329f1dad1b203262c07d4afc Mon Sep 17 00:00:00 2001 From: David Kocher Date: Mon, 23 Oct 2023 22:10:37 +0200 Subject: [PATCH] Add null checks. --- .../auth/SFTPPublicKeyAuthentication.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/ssh/src/main/java/ch/cyberduck/core/sftp/auth/SFTPPublicKeyAuthentication.java b/ssh/src/main/java/ch/cyberduck/core/sftp/auth/SFTPPublicKeyAuthentication.java index 7ed512cfaa3..7850ace8e62 100644 --- a/ssh/src/main/java/ch/cyberduck/core/sftp/auth/SFTPPublicKeyAuthentication.java +++ b/ssh/src/main/java/ch/cyberduck/core/sftp/auth/SFTPPublicKeyAuthentication.java @@ -83,14 +83,28 @@ public Boolean authenticate(final Host bookmark, final LoginCallback prompt, fin provider = new PKCS8KeyFile.Factory().create(); pubKey = null; break; - case OpenSSH: + case OpenSSH: { provider = new OpenSSHKeyFile.Factory().create(); - pubKey = LocalFactory.get(OpenSSHKeyFileUtil.getPublicKeyFile(new File(privKey.getAbsolute())).getAbsolutePath()); + final File f = OpenSSHKeyFileUtil.getPublicKeyFile(new File(privKey.getAbsolute())); + if(f != null) { + pubKey = LocalFactory.get(f.getAbsolutePath()); + } + else { + pubKey = null; + } break; - case OpenSSHv1: + } + case OpenSSHv1: { provider = new OpenSSHKeyV1KeyFile.Factory().create(); - pubKey = LocalFactory.get(OpenSSHKeyFileUtil.getPublicKeyFile(new File(privKey.getAbsolute())).getAbsolutePath()); + final File f = OpenSSHKeyFileUtil.getPublicKeyFile(new File(privKey.getAbsolute())); + if(f != null) { + pubKey = LocalFactory.get(f.getAbsolutePath()); + } + else { + pubKey = null; + } break; + } case PuTTY: provider = new PuTTYKeyFile.Factory().create(); pubKey = null;