All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.codehaus.mojo.keytool.ImportCertificateMojo Maven / Gradle / Ivy

Go to download

A plugin that wraps the keytool program bundled with Sun's Java SDK. Allows to manipulate keystores.

There is a newer version: 1.7
Show newest version
package org.codehaus.mojo.keytool;

/*
 * Copyright 2005-2013 The Codehaus
 *
 * Licensed under the Apache License, Version 2.0 (the "License" );
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.shared.utils.cli.Commandline;
import org.codehaus.mojo.keytool.requests.KeyToolImportCertificateRequest;
import org.codehaus.plexus.util.StringUtils;

import java.io.File;

/**
 * To import a certificate into a keystore.
 * 

* Implemented as a wrapper around the SDK {@code keytool -import} (jdk 1.5) or {@code keytool -importcert} (jdk 1.6) * command. *

* See keystore documentation. *

* Since version 1.2, this mojo replace the mojo import. * * @author tchemit * @since 1.2 */ @Mojo(name = "importCertificate", requiresProject = true) public class ImportCertificateMojo extends AbstractKeyToolRequestWithKeyStoreAndAliasParametersMojo { /** * Key password. *

* See options. * * @since 1.2 */ @Parameter private String keypass; /** * Input file name. *

* See options. * * @since 1.2 */ @Parameter private String file; /** * Do not prompt. *

* See options. * * @since 1.2 */ @Parameter private boolean noprompt; /** * Trust certificates from cacerts. *

* See options. * * @since 1.2 */ @Parameter private boolean trustcacerts; /** * If value is {@code true}, then will do nothing if keystore already exists. * * @since 1.3 */ @Parameter private boolean skipIfExist; /** * Default contructor. */ public ImportCertificateMojo() { super( KeyToolImportCertificateRequest.class ); } @Override public void execute() throws MojoExecutionException { if ( skipIfExist ) { // check if keystore already exist File keystoreFile = getKeystoreFile(); boolean keystoreFileExists = keystoreFile.exists(); if ( keystoreFileExists ) { getLog().info( "Skip execution, keystore already exists at " + keystoreFile ); setSkip( true ); } } super.execute(); } /** * {@inheritDoc} */ @Override protected KeyToolImportCertificateRequest createKeytoolRequest() { KeyToolImportCertificateRequest request = super.createKeytoolRequest(); request.setKeypass( this.keypass ); request.setFile( this.file ); request.setNoprompt( this.noprompt ); request.setTrustcacerts( this.trustcacerts ); return request; } /** * {@inheritDoc} */ @Override protected String getCommandlineInfo( Commandline commandLine ) { String commandLineInfo = super.getCommandlineInfo( commandLine ); commandLineInfo = StringUtils.replace( commandLineInfo, this.keypass, "'*****'" ); return commandLineInfo; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy