如果证书已经存在,如何使用keytool maven plugin跳过importcertificate目标?

zlhcx6iw  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(413)

我正在使用keytool maven plugin将alias.cer文件导入JavaCacerts存储,它工作正常。二次建房时出现的问题;获取错误,因为已将alias.cer文件添加到存储中。我看不到任何参数来修复插件中的问题。有“skip”和“skipifexist”参数。这些参数不用于此目的;skip禁用插件,skipifexist在存储已经存在时跳过。
我怎样才能解决这个问题?或者你知道这个目标的替代插件吗?

niwlg2el

niwlg2el1#

我意识到这个插件是在javakeytool上开发的。keytool中没有任何用于“证书已存在时跳过”目的的参数。因此,我使用了'skip'参数来处理这个问题,方法是在构建项目时添加一个自定义参数。

<properties>
     <cert.skip>true</cert.skip>
</properties>

<plugin>
    <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/keytool-maven-plugin -->
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>keytool-maven-plugin</artifactId>
    <version>1.5</version>
    <executions>
        <execution>
            <goals>
                <goal>importCertificate</goal>
            </goals>
            <phase>generate-sources</phase>
        </execution>
    </executions>
    <configuration>
        <skip>${cert.skip}</skip>
        <keystore>${JAVA_HOME}/lib/security/cacerts</keystore>
        <storepass>changeit</storepass>
        <alias>alias</alias>
        <file>${basedir}/src/main/resources/alias.cer</file>
        <noprompt>true</noprompt>
    </configuration>
</plugin>

相关问题