如何使用maven导入2个不同的证书

时间:2016-12-12 07:39:01

标签: java maven keytool

我需要在构建过程中导入两个不同的证书。我使用keytool-maven-plugin,我能够导入1个插件,但我无法导入2个不同的插件。

这是我的pom片段

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>keytool-maven-plugin</artifactId>
    <version>1.5</version>
    <executions>
        <execution>
            <goals>
                <goal>importCertificate</goal>
            </goals>
            <phase>package</phase>
        </execution>
    </executions>
    <configuration>
        <keystore>${project.build.directory}/client-truststore.jks</keystore>
        <storepass>storepass</storepass>
        <alias>alias</alias>
        <file>ca.pem</file>
        <noprompt>true</noprompt>
    </configuration>
</plugin>

提前致谢。

1 个答案:

答案 0 :(得分:1)

很少 -

  • 如上所述<id>所讨论和推断的内容是<execution>代码

  • 中缺少的内容
  • 另外,如果您想使别名可配置,请在执行时使用changeAlias -

    <goals>
        <goal>changeAlias</goal>
    </goals>
    

来源 - Keytool Maven Plugin

如何在命令行中使用keytool:changeAlias指定参数

> mvn keytool:changeAlias -Dkeystore=/path/to/your/keystore
> -Dstorepass=storepass -Dkeypass=keypass -Dalias=foo_alias \  -Ddestalias=new_alias
  • 对于不同的执行,您可以尝试按如下方式配置不同的别名 -

    <executions>
       <execution>
           <goals>
             <goal>importCertificate</goal>
           </goals>
           <phase>package</phase>
           <id>executionOne</id>
           <configuration>
             <keystore>${project.build.directory}/client-truststore.jks</keystore>
             <storepass>storepass</storepass>
             <alias>alias</alias>
             <file>ca.pem</file>
             <noprompt>true</noprompt>
           </configuration>
       </execution>
       <execution>
           <goals>
             <goal>importCertificate</goal>
           </goals>
           <phase>package</phase>
           <id>executionTwo</id>
           <!--change this from one above-->
           <configuration>
             <keystore>${project.build.directory}/client-truststore.jks</keystore>
             <storepass>storepass</storepass>
             <alias>alias</alias>
             <file>ca.pem</file>
             <noprompt>true</noprompt>
           </configuration>
       </execution>
    </executions>