Example usage for org.apache.maven.settings.crypto SettingsDecrypter decrypt

List of usage examples for org.apache.maven.settings.crypto SettingsDecrypter decrypt

Introduction

In this page you can find the example usage for org.apache.maven.settings.crypto SettingsDecrypter decrypt.

Prototype

SettingsDecryptionResult decrypt(SettingsDecryptionRequest request);

Source Link

Document

Decrypts passwords in the settings.

Usage

From source file:com.basistech.ReleaseNoteMojo.java

License:Open Source License

private boolean getAuthFromSettings(Client client) throws MojoExecutionException {
    if (serverId == null) {
        return false;
    }/*from ww w .ja  va 2 s .  co  m*/
    Server server = getServer(settings, serverId);
    if (server == null) {
        throw new MojoExecutionException(
                MessageFormat.format("Server ''{0}'' not found in settings", serverId));
    }

    getLog().debug(MessageFormat.format("Using ''{0}'' server credentials", serverId));

    try {
        SettingsDecrypter settingsDecrypter = container.lookup(SettingsDecrypter.class);
        SettingsDecryptionResult result = settingsDecrypter
                .decrypt(new DefaultSettingsDecryptionRequest(server));
        server = result.getServer();
    } catch (ComponentLookupException cle) {
        throw new MojoExecutionException("Unable to lookup SettingsDecrypter: " + cle.getMessage(), cle);
    }

    String serverUsername = server.getUsername();
    String serverPassword = server.getPassword();

    if (serverUsername != null && serverUsername.length() > 0 && serverPassword != null
            && serverPassword.length() > 0) {
        getLog().debug("Using basic authentication with username: " + serverUsername);
        setupBasicAuthentication(client, serverUsername, serverPassword);
        return true;
    }

    // A server password without a username is assumed to be an OAuth2 token
    if (serverPassword != null && serverPassword.length() > 0) {
        getLog().debug("Using OAuth2 access token authentication");
        setupOauth2(client, serverPassword);
        return true;
    }

    getLog().debug(MessageFormat.format("Server ''{0}'' is missing username/password credentials", serverId));
    return false;
}

From source file:com.basistech.ReleaseNoteMojo.java

License:Open Source License

private void setupProxy(Invocation.Builder target) throws MojoExecutionException {
    Proxy proxy = getProxy(settings, serverId);
    if (null != proxy) {
        ClientConfiguration cxfConfig = WebClient.getConfig(target);
        Conduit conduit = cxfConfig.getConduit();

        try {/*from  w  w w. j av  a2s.c  om*/
            SettingsDecrypter settingsDecrypter = container.lookup(SettingsDecrypter.class);
            SettingsDecryptionResult result = settingsDecrypter
                    .decrypt(new DefaultSettingsDecryptionRequest(proxy));
            proxy = result.getProxy();
        } catch (ComponentLookupException cle) {
            throw new MojoExecutionException("Unable to lookup SettingsDecrypter: " + cle.getMessage(), cle);
        }
        getLog().debug(MessageFormat.format("Found Proxy {0}:{1}", proxy.getHost(), proxy.getPort()));
        HTTPConduit http = (HTTPConduit) conduit;
        http.getClient().setProxyServer(proxy.getHost());
        http.getClient().setProxyServerPort(proxy.getPort());
        http.getProxyAuthorization().setUserName(proxy.getUsername());
        http.getProxyAuthorization().setPassword(proxy.getPassword());
    }
}

From source file:com.cloudbees.sdk.maven.RepositorySystemModule.java

License:Apache License

/**
 * List of remote repositories to resolve artifacts from.
 *//*from  w  w w. j a  va2  s  .  c o  m*/
@Provides
@Singleton
public List<RemoteRepository> getRemoteRepositories(SettingsDecrypter decrypter,
        ExtensionList<RemoteRepositoryDecorator> decorators) {

    List<RemoteRepository> repositories = new ArrayList<RemoteRepository>();
    MavenDependencyResolverSettings resolverSettings = new MavenDependencyResolverSettings();
    resolverSettings.setUseMavenCentral(true);
    List<RemoteRepository> repos = resolverSettings.getRemoteRepositories();
    for (RemoteRepository remoteRepository : repos) {
        Server server = resolverSettings.getSettings().getServer(remoteRepository.getId());
        if (server != null) {
            server = decrypter.decrypt(new DefaultSettingsDecryptionRequest(server)).getServer();
            remoteRepository.setAuthentication(new Authentication(server.getUsername(), server.getPassword(),
                    server.getPrivateKey(), server.getPassphrase()));
        }
        repositories.add(decorate(remoteRepository, decorators));
    }
    RemoteRepository r = new RemoteRepository("cloudbees-public-release", "default",
            "https://repository-cloudbees.forge.cloudbees.com/public-release/");
    repositories.add(decorate(r, decorators));
    return repositories;
}

From source file:de.jutzig.github.release.plugin.UploadMojo.java

License:Apache License

public GitHub createGithub(String serverId) throws MojoExecutionException, IOException {
    String usernameProperty = System.getProperty("username");
    String passwordProperty = System.getProperty("password");
    if (usernameProperty != null && passwordProperty != null) {
        getLog().debug("Using server credentials from system properties 'username' and 'password'");
        return GitHub.connectUsingPassword(usernameProperty, passwordProperty);
    }// w w w.  ja  v  a2  s.c  o  m

    Server server = getServer(settings, serverId);
    if (server == null)
        throw new MojoExecutionException(
                MessageFormat.format("Server ''{0}'' not found in settings", serverId));

    getLog().debug(MessageFormat.format("Using ''{0}'' server credentials", serverId));

    try {
        SettingsDecrypter settingsDecrypter = container.lookup(SettingsDecrypter.class);
        SettingsDecryptionResult result = settingsDecrypter
                .decrypt(new DefaultSettingsDecryptionRequest(server));
        server = result.getServer();
    } catch (ComponentLookupException cle) {
        throw new MojoExecutionException("Unable to lookup SettingsDecrypter: " + cle.getMessage(), cle);
    }

    String serverUsername = server.getUsername();
    String serverPassword = server.getPassword();
    String serverAccessToken = server.getPrivateKey();
    if (StringUtils.isNotEmpty(serverUsername) && StringUtils.isNotEmpty(serverPassword))
        return GitHub.connectUsingPassword(serverUsername, serverPassword);
    else if (StringUtils.isNotEmpty(serverAccessToken))
        return GitHub.connectUsingOAuth(serverAccessToken);
    else
        throw new MojoExecutionException("Configuration for server " + serverId + " has no login credentials");
}

From source file:io.fabric8.maven.util.MavenUtils.java

License:Apache License

public static synchronized Settings getSettings() {
    Settings settings = null;//from   www.  ja  v  a2  s . c  o m
    DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
    File userSettingsFile = safeGetFile(USER_SETTINGS_FILE);
    File globalMavenSettingsFile = safeGetFile(GLOBAL_MAVEN_SETTINGS_FILE);
    if (globalMavenSettingsFile == null) {
        globalMavenSettingsFile = safeGetFile(GLOBAL_M2_SETTINGS_FILE);
    }

    if (userSettingsFile != null) {
        request.setUserSettingsFile(userSettingsFile);
    }
    if (globalMavenSettingsFile != null) {
        request.setGlobalSettingsFile(globalMavenSettingsFile);
    }

    request.setSystemProperties(System.getProperties());

    try {
        settings = settingsBuilder.build(request).getEffectiveSettings();
    } catch (SettingsBuildingException e) {
        LOGGER.warn("Could not process settings.xml: ", e);
    }

    try {
        SettingsDecrypter settingsDecrypter = createSettingsDecrypter();
        SettingsDecryptionResult result = settingsDecrypter
                .decrypt(new DefaultSettingsDecryptionRequest(settings));
        settings.setServers(result.getServers());
        settings.setProxies(result.getProxies());
    } catch (Exception ex) {
        LOGGER.warn("Failed to decrypt maven settings.", ex);
    }
    return settings;
}

From source file:io.wcm.devops.conga.plugins.aem.maven.ProxySupport.java

License:Apache License

private static Proxy decryptProxy(Proxy proxy, SettingsDecrypter decrypter) {
    final DefaultSettingsDecryptionRequest decryptionRequest = new DefaultSettingsDecryptionRequest(proxy);
    SettingsDecryptionResult decryptedResult = decrypter.decrypt(decryptionRequest);
    return decryptedResult.getProxy();
}

From source file:org.eclipse.ebr.maven.EclipseIpLogUtil.java

License:Open Source License

private Server getServer(final String serverId, final Settings settings,
        final SettingsDecrypter settingsDecrypter) {
    for (Server server : settings.getServers()) {
        if (StringUtils.equals(server.getId(), serverId)) {
            final SettingsDecryptionRequest request = new DefaultSettingsDecryptionRequest(server);
            final SettingsDecryptionResult result = settingsDecrypter.decrypt(request);
            server = result.getServer();

            // log any detected problems
            for (final SettingsProblem problem : result.getProblems()) {
                getLog().warn(problem.getMessage(), problem.getException());
            }/*from www .  ja v  a2 s  .com*/

            return server;
        }
    }

    return null;
}

From source file:org.jboss.shrinkwrap.resolver.impl.maven.bootstrap.MavenSettingsBuilder.java

License:Apache License

private Settings decryptPasswords(Settings settings) {

    File securitySettings = new File(DEFAULT_SETTINGS_SECURITY_PATH);
    String altSecuritySettings = SecurityActions.getProperty(ALT_SECURITY_SETTINGS_XML_LOCATION);
    String altSecuritySettingsDeprecated = SecurityActions
            .getProperty(ALT_SECURITY_SETTINGS_XML_LOCATION_DEPRECATED);

    // set alternate file
    if (altSecuritySettingsDeprecated != null && altSecuritySettingsDeprecated.length() > 0) {
        log.log(Level.WARNING,// ww w. j  ava2  s .co m
                "Maven settings-security.xml location ({0}) set via deprecated property \"{1}\", please use \"{2}\" instead",
                new Object[] { altSecuritySettingsDeprecated, ALT_SECURITY_SETTINGS_XML_LOCATION_DEPRECATED,
                        ALT_SECURITY_SETTINGS_XML_LOCATION });
        securitySettings = new File(altSecuritySettingsDeprecated);
    }
    // set alternate file
    if (altSecuritySettings != null && altSecuritySettings.length() > 0) {
        securitySettings = new File(altSecuritySettings);
    }

    SettingsDecrypter decrypter = new MavenSettingsDecrypter(securitySettings);
    SettingsDecryptionRequest request = new DefaultSettingsDecryptionRequest(settings);
    SettingsDecryptionResult result = decrypter.decrypt(request);

    if (result.getProblems().size() > 0) {
        StringBuilder sb = new StringBuilder("Found ").append(result.getProblems().size())
                .append(" problems while trying to decrypt settings configuration.");

        int counter = 1;
        for (SettingsProblem problem : result.getProblems()) {
            sb.append(counter++).append("/ ").append(problem).append("\n");
        }

        throw new InvalidConfigurationFileException(sb.toString());
    }

    settings.setProxies(result.getProxies());
    settings.setServers(result.getServers());

    return settings;
}

From source file:org.sourcepit.m2p2.osgi.embedder.maven.equinox.MavenProxies.java

License:Apache License

private static Proxy decrypt(SettingsDecrypter settingsDecrypter, Proxy proxy) {
    return settingsDecrypter.decrypt(new DefaultSettingsDecryptionRequest(proxy)).getProxy();
}

From source file:org.sourcepit.m2p2.osgi.embedder.maven.equinox.MavenRepositories.java

License:Apache License

private static Server decrypt(final SettingsDecrypter settingsDecrypter, Server server) {
    return settingsDecrypter.decrypt(new DefaultSettingsDecryptionRequest(server)).getServer();
}