Example usage for org.eclipse.jgit.transport CredentialsProviderUserInfo CredentialsProviderUserInfo

List of usage examples for org.eclipse.jgit.transport CredentialsProviderUserInfo CredentialsProviderUserInfo

Introduction

In this page you can find the example usage for org.eclipse.jgit.transport CredentialsProviderUserInfo CredentialsProviderUserInfo.

Prototype

public CredentialsProviderUserInfo(Session session, CredentialsProvider credentialsProvider) 

Source Link

Document

Wrap a CredentialsProvider to make it suitable for use with JSch.

Usage

From source file:CustomJschConfigSessionFactory.java

License:Apache License

@Override
protected void configure(OpenSshConfig.Host host, Session session) {
    CredentialsProvider provider = new CredentialsProvider() {
        @Override/*  ww w  .  ja  v a  2s. co  m*/
        public boolean isInteractive() {
            return false;
        }

        @Override
        public boolean supports(CredentialItem... credentialItems) {
            return true;
        }

        @Override
        public boolean get(URIish urIish, CredentialItem... credentialItems) throws UnsupportedCredentialItem {
            for (CredentialItem item : credentialItems) {
                try {
                    ((CredentialItem.StringType) item).setValue(config.getString("privateKeyPassPhrase"));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
            return true;
        }
    };
    UserInfo userInfo = new CredentialsProviderUserInfo(session, provider);
    session.setUserInfo(userInfo);
    session.setConfig("StrictHostKeyChecking", "yes");
}

From source file:com.photon.phresco.framework.impl.SCMManagerImpl.java

License:Apache License

void additionalAuthentication(String passPhrase) {
    final String passwordPhrase = passPhrase;
    JschConfigSessionFactory sessionFactory = new JschConfigSessionFactory() {
        @Override//from  ww w .  ja v a2s  . c o m
        protected void configure(OpenSshConfig.Host hc, Session session) {
            CredentialsProvider provider = new CredentialsProvider() {
                @Override
                public boolean isInteractive() {
                    return false;
                }

                @Override
                public boolean supports(CredentialItem... items) {
                    return true;
                }

                @Override
                public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
                    for (CredentialItem item : items) {
                        if (item instanceof CredentialItem.StringType) {
                            ((CredentialItem.StringType) item).setValue(passwordPhrase);
                        }
                    }
                    return true;
                }
            };
            UserInfo userInfo = new CredentialsProviderUserInfo(session, provider);
            // Unknown host key for ssh
            java.util.Properties config = new java.util.Properties();
            config.put(STRICT_HOST_KEY_CHECKING, NO);
            session.setConfig(config);

            session.setUserInfo(userInfo);
        }
    };

    SshSessionFactory.setInstance(sessionFactory);

    /*
     * Enable clone of https url by trusting those urls
     */
    // Create a trust manager that does not validate certificate chains
    TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
        public java.security.cert.X509Certificate[] getAcceptedIssuers() {
            return null;
        }

        public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
        }

        public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
        }
    } };

    final String https_proxy = System.getenv(HTTPS_PROXY);
    final String http_proxy = System.getenv(HTTP_PROXY);

    ProxySelector.setDefault(new ProxySelector() {
        final ProxySelector delegate = ProxySelector.getDefault();

        @Override
        public List<Proxy> select(URI uri) {
            // Filter the URIs to be proxied

            if (uri.toString().contains(HTTPS) && StringUtils.isNotEmpty(http_proxy) && http_proxy != null) {
                try {
                    URI httpsUri = new URI(https_proxy);
                    String host = httpsUri.getHost();
                    int port = httpsUri.getPort();
                    return Arrays.asList(new Proxy(Type.HTTP, InetSocketAddress.createUnresolved(host, port)));
                } catch (URISyntaxException e) {
                    if (debugEnabled) {
                        S_LOGGER.debug("Url exception caught in https block of additionalAuthentication()");
                    }
                }
            }

            if (uri.toString().contains(HTTP) && StringUtils.isNotEmpty(http_proxy) && http_proxy != null) {
                try {
                    URI httpUri = new URI(http_proxy);
                    String host = httpUri.getHost();
                    int port = httpUri.getPort();
                    return Arrays.asList(new Proxy(Type.HTTP, InetSocketAddress.createUnresolved(host, port)));
                } catch (URISyntaxException e) {
                    if (debugEnabled) {
                        S_LOGGER.debug("Url exception caught in http block of additionalAuthentication()");
                    }
                }
            }

            // revert to the default behaviour
            return delegate == null ? Arrays.asList(Proxy.NO_PROXY) : delegate.select(uri);
        }

        @Override
        public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
            if (uri == null || sa == null || ioe == null) {
                throw new IllegalArgumentException("Arguments can't be null.");
            }
        }
    });

    // Install the all-trusting trust manager
    try {
        SSLContext sc = SSLContext.getInstance(SSL);
        sc.init(null, trustAllCerts, new java.security.SecureRandom());
        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    } catch (GeneralSecurityException e) {
        e.getLocalizedMessage();
    }
}

From source file:io.fabric8.collector.git.GitHelpers.java

License:Apache License

/**
 * Configures the transport of the command to deal with things like SSH
 *//*  w  ww .ja v a2s  .c o  m*/
public static <C extends GitCommand> void configureCommand(TransportCommand<C, ?> command,
        CredentialsProvider credentialsProvider, final File sshPrivateKey, final File sshPublicKey) {
    if (sshPrivateKey != null) {
        final CredentialsProvider provider = credentialsProvider;
        command.setTransportConfigCallback(new TransportConfigCallback() {
            @Override
            public void configure(Transport transport) {
                if (transport instanceof SshTransport) {
                    SshTransport sshTransport = (SshTransport) transport;
                    SshSessionFactory sshSessionFactory = new JschConfigSessionFactory() {
                        @Override
                        protected void configure(OpenSshConfig.Host host, Session session) {
                            session.setConfig("StrictHostKeyChecking", "no");
                            UserInfo userInfo = new CredentialsProviderUserInfo(session, provider);
                            session.setUserInfo(userInfo);
                        }

                        @Override
                        protected JSch createDefaultJSch(FS fs) throws JSchException {
                            JSch jsch = super.createDefaultJSch(fs);
                            jsch.removeAllIdentity();
                            String absolutePath = sshPrivateKey.getAbsolutePath();
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Adding identity privateKey: " + sshPrivateKey + " publicKey: "
                                        + sshPublicKey);
                            }
                            if (sshPublicKey != null) {
                                jsch.addIdentity(absolutePath, sshPublicKey.getAbsolutePath(), null);
                            } else {
                                jsch.addIdentity(absolutePath);
                            }
                            return jsch;
                        }
                    };
                    sshTransport.setSshSessionFactory(sshSessionFactory);
                }
            }
        });
    }
}

From source file:io.fabric8.project.support.GitUtils.java

License:Apache License

/**
 * Configures the transport of the command to deal with things like SSH
 *//* ww  w.  j  a  v a  2 s .c  o m*/
public static <C extends GitCommand> void configureCommand(TransportCommand<C, ?> command,
        CredentialsProvider credentialsProvider, final File sshPrivateKey, final File sshPublicKey) {
    LOG.info("Using " + credentialsProvider);
    if (sshPrivateKey != null) {
        final CredentialsProvider provider = credentialsProvider;
        command.setTransportConfigCallback(new TransportConfigCallback() {
            @Override
            public void configure(Transport transport) {
                if (transport instanceof SshTransport) {
                    SshTransport sshTransport = (SshTransport) transport;
                    SshSessionFactory sshSessionFactory = new JschConfigSessionFactory() {
                        @Override
                        protected void configure(OpenSshConfig.Host host, Session session) {
                            session.setConfig("StrictHostKeyChecking", "no");
                            UserInfo userInfo = new CredentialsProviderUserInfo(session, provider);
                            session.setUserInfo(userInfo);
                        }

                        @Override
                        protected JSch createDefaultJSch(FS fs) throws JSchException {
                            JSch jsch = super.createDefaultJSch(fs);
                            jsch.removeAllIdentity();
                            String absolutePath = sshPrivateKey.getAbsolutePath();
                            if (LOG.isDebugEnabled()) {
                                LOG.debug("Adding identity privateKey: " + sshPrivateKey + " publicKey: "
                                        + sshPublicKey);
                            }
                            if (sshPublicKey != null) {
                                jsch.addIdentity(absolutePath, sshPublicKey.getAbsolutePath(), null);
                            } else {
                                jsch.addIdentity(absolutePath);
                            }
                            return jsch;
                        }
                    };
                    sshTransport.setSshSessionFactory(sshSessionFactory);
                }
            }
        });
    }
}

From source file:org.eclipse.egit.core.EclipseSshSessionFactory.java

License:Open Source License

@Override
protected void configure(final OpenSshConfig.Host hc, final Session session) {
    UserInfo userInfo = session.getUserInfo();
    if (!hc.isBatchMode() && userInfo == null) {
        final CredentialsProvider cp = CredentialsProvider.getDefault();
        session.setUserInfo(new CredentialsProviderUserInfo(session, cp));
    }/* w ww.j a  va  2  s .co  m*/
}

From source file:org.eclipse.orion.internal.server.filesystem.git.OrionSshSessionFactory.java

License:Open Source License

@Override
public synchronized Session getSession(String user, String pass, String host, int port,
        CredentialsProvider credentialsProvider, FS fs) throws JSchException {
    if (user == null && credentialsProvider instanceof OrionUserCredentialsProvider) {
        OrionUserCredentialsProvider oucp = (OrionUserCredentialsProvider) credentialsProvider;
        CredentialsProvider cp = SshConfigManager.getDefault().getCredentialsProvider(oucp.getOrionUser(),
                oucp.getUri());/*from   w ww .j  a va  2  s.c o  m*/
        if (cp != null) {
            CredentialItem.Username u = new CredentialItem.Username();
            if (cp.supports(u) && cp.get(oucp.getUri(), u)) {
                user = u.getValue();
            }
        }
    }
    if (port <= 0)
        port = SSH_PORT;

    final Session session = createSession(user, host, port, credentialsProvider);
    if (pass != null)
        session.setPassword(pass);
    if (credentialsProvider != null && !credentialsProvider.isInteractive()) {
        session.setUserInfo(new CredentialsProviderUserInfo(session, credentialsProvider));
    }
    return session;
}

From source file:org.eclipse.orion.server.git.GitSshSessionFactory.java

License:Open Source License

@Override
public RemoteSession getSession(URIish uri, CredentialsProvider credentialsProvider, FS fs, int tms)
        throws TransportException {
    int port = uri.getPort();
    String user = uri.getUser();//  ww w  .j  a va 2s  .  c  o  m
    String pass = uri.getPass();
    if (credentialsProvider instanceof GitCredentialsProvider) {
        if (port <= 0)
            port = SSH_PORT;

        GitCredentialsProvider cp = (GitCredentialsProvider) credentialsProvider;
        if (user == null) {
            CredentialItem.Username u = new CredentialItem.Username();
            if (cp.supports(u) && cp.get(cp.getUri(), u)) {
                user = u.getValue();
            }
        }
        if (pass == null) {
            CredentialItem.Password p = new CredentialItem.Password();
            if (cp.supports(p) && cp.get(cp.getUri(), p)) {
                pass = new String(p.getValue());
            }
        }

        try {
            final SessionHandler session = new SessionHandler(user, uri.getHost(), port, cp.getKnownHosts(),
                    cp.getPrivateKey(), cp.getPublicKey(), cp.getPassphrase());
            if (pass != null)
                session.setPassword(pass);
            if (credentialsProvider != null && !credentialsProvider.isInteractive()) {
                session.setUserInfo(new CredentialsProviderUserInfo(session.getSession(), credentialsProvider));
            }

            session.connect(tms);

            return new JschSession(session.getSession(), uri);
        } catch (JSchException e) {
            throw new TransportException(uri, e.getMessage(), e);
        }
    }
    return null;
}

From source file:org.jboss.tools.openshift.express.internal.ui.utils.OpenShiftSshSessionFactory.java

License:Open Source License

@Override
protected void configure(final OpenSshConfig.Host hc, final Session session) {
    final EGitCredentialsProvider credentialsProvider = new EGitCredentialsProvider();
    if ((!hc.isBatchMode() || !credentialsProvider.isInteractive())) {
        session.setUserInfo(new CredentialsProviderUserInfo(session, credentialsProvider));
    } else {//from   w  w  w.jav a  2s .c om
        UserInfo userInfo = session.getUserInfo();

        if (!hc.isBatchMode() && userInfo == null)
            new UserInfoPrompter(session);
    }
}

From source file:serendipitytranslator.mainWindow.MainFrame.java

License:Open Source License

private void initApplication() {
    try {// w w  w  .ja v a  2  s .com
        l.addHandler(new FileHandler("error.log"));
    } catch (IOException ex) {
        Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SecurityException ex) {
        Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
    }

    executorService = Executors.newSingleThreadExecutor();
    PluginList.setSettings(settingsDialog);
    language = settingsDialog.getLanguage();
    settingsDialog.setMainWindowSizeAndPosition(this);
    translateFrame.setLocation(this.getX() + this.getWidth(), 0);
    progressBar.setVisible(false);
    cancelButton.setVisible(false);

    settingsDialog.addPropertyChangeListener(this);

    pluginTable.setModel(new PluginTableModel(plugins));
    pluginTable.setColumnModel(new PluginColumnModel());

    pluginTable.setDefaultRenderer(PluginStatus.class, new PluginTableRenderer());
    pluginTable.setDefaultRenderer(DocumentationStatus.class, new PluginTableRenderer());

    TableRowSorter sorter = new TableRowSorter<PluginTableModel>((PluginTableModel) pluginTable.getModel());
    sorter.setRowFilter(new RowFilter<PluginTableModel, Integer>() {
        @Override
        public boolean include(Entry<? extends PluginTableModel, ? extends Integer> entry) {
            PluginTableModel tableModel = entry.getModel();
            PluginStatus status = (PluginStatus) tableModel.getValueAt(entry.getIdentifier(), 5);
            DocumentationStatus docStatus = (DocumentationStatus) tableModel.getValueAt(entry.getIdentifier(),
                    7);
            return !(settingsDialog.isShowEmptyPlugins() && status.equals(PluginStatus.problem)
                    && docStatus.equals(DocumentationStatus.problem));
        }

    });
    pluginTable.setRowSorter(sorter);

    translateFrame.addPropertyChangeListener(this);

    try {
        updateApplication();
    } catch (MalformedURLException ex) {
        Logger.getLogger(MainFrame.class.getName()).log(Level.INFO, ex.getMessage());
    } catch (IOException ex) {
        Logger.getLogger(MainFrame.class.getName()).log(Level.INFO, ex.getMessage());
    }

    JschConfigSessionFactory sessionFactory = new JschConfigSessionFactory() {
        @Override
        protected void configure(OpenSshConfig.Host hc, Session session) {
            CredentialsProvider provider = new CredentialsProvider() {
                @Override
                public boolean isInteractive() {
                    System.out.println("CredentialProvider: check if interactive");
                    return false;
                }

                @Override
                public boolean supports(CredentialItem... items) {
                    System.out.println("CredentialProvider: request if next items are supported");
                    for (CredentialItem ci : items) {
                        System.out.println("\t\t" + ci.getClass().getName() + "; " + ci.getPromptText()
                                + "; secured = " + ci.isValueSecure());
                    }
                    return true;
                }

                @Override
                public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
                    System.out.println("CredentialProvider: item request for URI: " + uri);
                    for (CredentialItem item : items) {
                        System.out.println("\t\t setting item: class = " + item.getClass().getName()
                                + "; prompt = " + item.getPromptText() + "; string = " + item.toString()
                                + "; secure = " + item.isValueSecure());
                        JPanel userPanel = new JPanel();
                        JLabel passwordLbl = new JLabel(item.getPromptText());
                        JPasswordField pf = new JPasswordField();
                        userPanel.setLayout(new GridLayout(2, 1));
                        userPanel.add(passwordLbl);
                        userPanel.add(pf);
                        int okCxl = JOptionPane.showConfirmDialog(null, userPanel, "Set password",
                                JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);

                        if (okCxl == JOptionPane.OK_OPTION) {
                            String password = new String(pf.getPassword());
                            //System.err.println("You entered: " + password);
                            ((CredentialItem.StringType) item).setValue(password);
                        }
                    }
                    return true;
                }
            };
            UserInfo userInfo = new CredentialsProviderUserInfo(session, provider);
            session.setUserInfo(userInfo);
        }
    };
    SshSessionFactory.setInstance(sessionFactory);

    updateLanguage();
}

From source file:wilton.support.jgit.PasswordSshSessionFactory.java

License:Apache License

@Override
protected void configure(OpenSshConfig.Host hc, Session session) {
    String val = strictHostKeyChecking ? "yes" : "no";
    session.setConfig("StrictHostKeyChecking", val);
    Provider prov = new Provider(password);
    UserInfo userInfo = new CredentialsProviderUserInfo(session, prov);
    session.setUserInfo(userInfo);/* ww w .  j  a v a 2  s  . c  o  m*/
}