--- src/main/java/com/jcraft/jsch/Session.java 2013-05-08 01:10:10.000000000 +0400 +++ src/main/java/com/jcraft/jsch/Session.java 2013-10-04 16:45:08.489140895 +0400 @@ -798,21 +798,23 @@ HostKey[] keys = hkr.getHostKey(chost, (key_type.equals("DSA") ? "ssh-dss" : "ssh-rsa")); - String _key= Util.byte2str(Util.toBase64(K_S, 0, K_S.length)); - for(int j=0; j< keys.length; j++){ - if(keys[i].getKey().equals(_key) && - keys[j].getMarker().equals("@revoked")){ - if(userinfo!=null){ - userinfo.showMessage( -"The "+ key_type +" host key for "+ host +" is marked as revoked.\n"+ -"This could mean that a stolen key is being used to "+ -"impersonate this host."); + if(keys != null){ + String _key= Util.byte2str(Util.toBase64(K_S, 0, K_S.length)); + for(int j=0; j< keys.length; j++){ + if(keys[i].getKey().equals(_key) && + keys[j].getMarker().equals("@revoked")){ + if(userinfo!=null){ + userinfo.showMessage( + "The "+ key_type +" host key for "+ host +" is marked as revoked.\n"+ + "This could mean that a stolen key is being used to "+ + "impersonate this host."); + } + if(JSch.getLogger().isEnabled(Logger.INFO)){ + JSch.getLogger().log(Logger.INFO, + "Host '"+host+"' has provided revoked key."); + } + throw new JSchException("revoked HostKey: "+host); } - if(JSch.getLogger().isEnabled(Logger.INFO)){ - JSch.getLogger().log(Logger.INFO, - "Host '"+host+"' has provided revoked key."); - } - throw new JSchException("revoked HostKey: "+host); } } }