@Override public void addIdentity(KeyPair key, String comment) throws IOException { agent.addIdentity(key, comment); }
@Override public void addIdentity(KeyPair key, String comment) throws IOException { agent.addIdentity(key, comment); }
public void registerSession(org.apache.karaf.shell.api.console.Session session) { try { String user = (String) session.get("USER"); SshAgent agent = new AgentImpl(); URL url = getClass().getClassLoader().getResource("karaf.key"); InputStream is = url.openStream(); ObjectInputStream r = new ObjectInputStream(is); KeyPair keyPair = (KeyPair) r.readObject(); agent.addIdentity(keyPair, "karaf"); String agentId = "local:" + user; session.put(SshAgent.SSH_AUTHSOCKET_ENV_NAME, agentId); locals.put(agentId, agent); } catch (Throwable e) { LOGGER.warn("Error starting ssh agent for local console", e); } }
public void registerSession(org.apache.karaf.shell.api.console.Session session) { try { String user = (String) session.get("USER"); SshAgent agent = new AgentImpl(); URL url = getClass().getClassLoader().getResource("karaf.key"); InputStream is = url.openStream(); ObjectInputStream r = new ObjectInputStream(is); KeyPair keyPair = (KeyPair) r.readObject(); agent.addIdentity(keyPair, "karaf"); String agentId = "local:" + user; session.put(SshAgent.SSH_AUTHSOCKET_ENV_NAME, agentId); locals.put(agentId, agent); } catch (Throwable e) { LOGGER.warn("Error starting ssh agent for local console", e); } }
protected SshAgent startAgent(String user, URL privateKeyUrl, File keyFile) { try (InputStream is = privateKeyUrl.openStream()) { final SshAgent agent = new AgentImpl(); final ObjectInputStream r = new ObjectInputStream(is); final KeyPair keyPair = (KeyPair) r.readObject(); is.close(); agent.addIdentity(keyPair, user); if (keyFile != null) { final String[] keyFiles = new String[] {keyFile.getAbsolutePath()}; final FileKeyPairProvider fileKeyPairProvider = new FileKeyPairProvider(keyFiles); for (KeyPair key : fileKeyPairProvider.loadKeys()) { agent.addIdentity(key, user); } } return agent; } catch (Throwable e) { log.error("Error starting ssh agent for: " + e.getMessage(), e); return null; } }
private SshAgent startAgent(String user, URL privateKeyUrl, File keyFile) { try (InputStream is = privateKeyUrl.openStream()) { SshAgent agent = new AgentImpl(); ObjectInputStream r = new ObjectInputStream(is); KeyPair keyPair = (KeyPair) r.readObject(); is.close(); agent.addIdentity(keyPair, user); if (keyFile != null) { FileKeyPairProvider fileKeyPairProvider = new FileKeyPairProvider(keyFile.getAbsoluteFile().toPath()); for (KeyPair key : fileKeyPairProvider.loadKeys()) { agent.addIdentity(key, user); } } return agent; } catch (Throwable e) { getLog().error("Error starting ssh agent for: " + e.getMessage(), e); return null; } }
private SshAgent startAgent(String user, URL privateKeyUrl, File keyFile) { try (InputStream is = privateKeyUrl.openStream()) { SshAgent agent = new AgentImpl(); ObjectInputStream r = new ObjectInputStream(is); KeyPair keyPair = (KeyPair) r.readObject(); is.close(); agent.addIdentity(keyPair, user); if (keyFile != null) { FileKeyPairProvider fileKeyPairProvider = new FileKeyPairProvider(keyFile.getAbsoluteFile().toPath()); for (KeyPair key : fileKeyPairProvider.loadKeys()) { agent.addIdentity(key, user); } } return agent; } catch (Throwable e) { getLog().error("Error starting ssh agent for: " + e.getMessage(), e); return null; } }
private SshAgent startAgent(String user, URL privateKeyUrl, File keyFile) { try (InputStream is = privateKeyUrl.openStream()) { SshAgent agent = new AgentImpl(); ObjectInputStream r = new ObjectInputStream(is); KeyPair keyPair = (KeyPair) r.readObject(); is.close(); agent.addIdentity(keyPair, user); if (keyFile != null) { FileKeyPairProvider fileKeyPairProvider = new FileKeyPairProvider(keyFile.getAbsoluteFile().toPath()); for (KeyPair key : fileKeyPairProvider.loadKeys()) { agent.addIdentity(key, user); } } return agent; } catch (Throwable e) { getLog().error("Error starting ssh agent for: " + e.getMessage(), e); return null; } }
private SshAgent startAgent(String user, URL privateKeyUrl, File keyFile) { try (InputStream is = privateKeyUrl.openStream()) { SshAgent agent = new AgentImpl(); ObjectInputStream r = new ObjectInputStream(is); KeyPair keyPair = (KeyPair) r.readObject(); is.close(); agent.addIdentity(keyPair, user); if (keyFile != null) { FileKeyPairProvider fileKeyPairProvider = new FileKeyPairProvider(keyFile.getAbsoluteFile().toPath()); for (KeyPair key : fileKeyPairProvider.loadKeys()) { agent.addIdentity(key, user); } } return agent; } catch (Throwable e) { getLog().error("Error starting ssh agent for: " + e.getMessage(), e); return null; } }
private static SshAgent startAgent(String user, URL privateKeyUrl, String keyFile, FilePasswordProvider passwordProvider) { InputStream is = null; try { SshAgent agent = new AgentImpl(); is = privateKeyUrl.openStream(); ObjectInputStream r = new ObjectInputStream(is); KeyPair keyPair = (KeyPair) r.readObject(); is.close(); agent.addIdentity(keyPair, user); if (keyFile != null) { FileKeyPairProvider fileKeyPairProvider = new FileKeyPairProvider(Paths.get(keyFile)); fileKeyPairProvider.setPasswordFinder(passwordProvider); for (KeyPair key : fileKeyPairProvider.loadKeys()) { agent.addIdentity(key, user); } } return agent; } catch (Throwable e) { close(is); System.err.println("Error starting ssh agent for: " + e.getMessage()); return null; } }
private static SshAgent startAgent(String user, URL privateKeyUrl, String keyFile, FilePasswordProvider passwordProvider) { InputStream is = null; try { SshAgent agent = new AgentImpl(); is = privateKeyUrl.openStream(); ObjectInputStream r = new ObjectInputStream(is); KeyPair keyPair = (KeyPair) r.readObject(); is.close(); agent.addIdentity(keyPair, user); if (keyFile != null) { FileKeyPairProvider fileKeyPairProvider = new FileKeyPairProvider(Paths.get(keyFile)); fileKeyPairProvider.setPasswordFinder(passwordProvider); for (KeyPair key : fileKeyPairProvider.loadKeys()) { agent.addIdentity(key, user); } } return agent; } catch (Throwable e) { close(is); System.err.println("Error starting ssh agent for: " + e.getMessage()); return null; } }
/** * {@inheritDoc} */ public void addIdentity(String privateKey, final String passphrase, String comment) throws IOException { if (!SecurityUtils.isBouncyCastleRegistered()) { SecurityUtils.setRegisterBouncyCastle(true); if (!SecurityUtils.isBouncyCastleRegistered()) { throw new IllegalStateException("BouncyCastle must be registered as a JCE provider"); } } try { PEMReader r = new PEMReader(new StringReader(privateKey), passphrase == null ? null : new PasswordFinder() { public char[] getPassword() { return passphrase.toCharArray(); } }); try { Object o = r.readObject(); if (o instanceof KeyPair) { agent.getAgent().addIdentity((KeyPair) o, comment); } } finally { r.close(); } } catch (Exception e) { listener.getLogger().println(Messages.SSHAgentBuildWrapper_UnableToReadKey(e.getMessage())); e.printStackTrace(listener.getLogger()); } }
/** * {@inheritDoc} */ public void addIdentity(String privateKey, final String passphrase, String comment) throws IOException { if (!SecurityUtils.isBouncyCastleRegistered()) { SecurityUtils.setRegisterBouncyCastle(true); if (!SecurityUtils.isBouncyCastleRegistered()) { throw new IllegalStateException("BouncyCastle must be registered as a JCE provider"); } } try { PEMReader r = new PEMReader(new StringReader(privateKey), passphrase == null ? null : new PasswordFinder() { public char[] getPassword() { return passphrase.toCharArray(); } }); try { Object o = r.readObject(); if (o instanceof KeyPair) { agent.getAgent().addIdentity((KeyPair) o, comment); } } finally { r.close(); } } catch (Exception e) { e.printStackTrace(listener.error(Messages.SSHAgentBuildWrapper_UnableToReadKey(e.getMessage()))); } }
log.debug("SSH2_AGENTC_ADD_IDENTITY comment={}", comment); agent.addIdentity(keyToAdd, comment); rep.putByte(SshAgentConstants.SSH_AGENT_SUCCESS); break;
log.debug("SSH2_AGENTC_ADD_IDENTITY comment={}", comment); agent.addIdentity(keyToAdd, comment); rep.putByte(SshAgentConstants.SSH_AGENT_SUCCESS); break;