Apache Maven Jarsigner

该组件提供了一些实用程序来签名/验证 Mojos 中的 jars/文件。

依赖声明

    <dependency>
      <groupId>org.apache.maven.shared</groupId>
      <artifactId>maven-jarsigner</artifactId>
      <version>3.0.0</version>
    </dependency>

签个罐子

您必须构造一个 JarSignerSignRequest。有关更多可用选项,请参阅javadoc

    JarSignerSignRequest request = new JarSignerSignRequest();
    request.setArchive( target );
    request.setKeystore( "src/test/keystore" );
    request.setVerbose( true );
    request.setAlias( "foo_alias" );
    request.setKeypass( "key-passwd" );
    request.setStorepass( "changeit" );
    request.setSignedjar( new File( "target/ssimple.jar" ) );

现在您可以使用该组件对您的 jar 进行签名:

    JavaToolResult result = jarSigner.execute( jarSignerRequest );
    // control the execution result
    result.getExitCode()
    // get exception
    result.getExecutionException()

验证签名的 jar

您必须构造一个 JarSignerVerifyRequest。有关更多可用选项,请参阅javadoc

    JarSignerVerifyRequest request = new JarSignerVerifyRequest();
    request.setCerts( true );
    request.setKeystore( "src/test/keystore" );
    request.setVerbose( true );
    request.setAlias( "foo_alias" );
    request.setArchive( new File( "target/ssimple.jar" ) );

现在您可以使用该组件来验证您签名的 jar:

    JavaToolResult result = jarSigner.execute( request );
    // control the execution result
    result.getExitCode()
    // get exception
    result.getExecutionException()