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

How to import 2 different certificates with maven

我需要在构建过程中导入两个不同的证书。我正在使用 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>

提前致谢。

几件事 -

  • 正如上面讨论和推断的那样 <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>