/** {@inheritDoc} */ public void addIdentity(String privateKey, final String passphrase, String comment) throws IOException { 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 stop() { agent.close(); }
/** * Constructor. * * @param listener the listener. * @throws Exception if the agent could not start. */ public JNRRemoteAgent(TaskListener listener) throws Exception { this.listener = listener; agent = new AgentServer(); socket = agent.start(); }