我需要在构建过程中导入两个不同的证书。我正在使用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>
关于java - 如何使用maven导入2个不同的证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41096134/