jsign
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>net.jsign</groupId>
<artifactId>jsign</artifactId>
<version>7.4</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>jsign-parent</artifactId>
<groupId>net.jsign</groupId>
<version>7.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>net.jsign</groupId>
<artifactId>jsign</artifactId>
<name>Jsign - Authenticode signing in Java (Distribution)</name>
<version>7.4</version>
<build>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.12.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<includeDependencySources>true</includeDependencySources>
<dependencySourceExcludes>
<dependencySourceExclude>net.jsign:jsign-cli</dependencySourceExclude>
<dependencySourceExclude>net.jsign:jsign-ant</dependencySourceExclude>
<dependencySourceExclude>org.kohsuke.metainf-services:metainf-services</dependencySourceExclude>
</dependencySourceExcludes>
<detectOfflineLinks>false</detectOfflineLinks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.14</version>
<executions>
<execution>
<id>jacoco-report</id>
<phase>site</phase>
<goals>
<goal>report-aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
<artifactSet>
<excludes>
<exclude>org.kohsuke.metainf-services:metainf-services</exclude>
</excludes>
</artifactSet>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*</exclude>
<exclude>META-INF/maven/**</exclude>
<exclude>META-INF/services/*log4j*</exclude>
<exclude>META-INF/services/*poi*</exclude>
<exclude>**/*_de.properties</exclude>
<exclude>**/commons/codec/language/**</exclude>
<exclude>**/commons/math3/random/**</exclude>
<exclude>**/poi/ss/formula/**</exclude>
<exclude>**/poi/sl/draw/geom/**</exclude>
<exclude>font_metrics.properties</exclude>
<exclude>assets/org/apache/commons/math3/**</exclude>
<exclude>native/**</exclude>
<exclude>**/bouncycastle/pqc/**</exclude>
<exclude>**/bouncycastle/crypto/digests/Tiger**</exclude>
<exclude>**/bouncycastle/crypto/digests/GOST**</exclude>
</excludes>
</filter>
<filter>
<artifact>*:*</artifact>
<excludeDefaults>false</excludeDefaults>
<includes>
<include>**/JsignCLI</include>
<include>**/JsignTask</include>
<include>**/PESigner</include>
<include>**/PESignerTask</include>
<include>**/KeyStoreUtils</include>
<include>**/JsignJcaProvider</include>
<include>**/jcajce/provider/symmetric/PBE*</include>
<include>**/jcajce/provider/symmetric/AES*</include>
<include>**/jcajce/provider/asymmetric/RSA*</include>
</includes>
</filter>
</filters>
<relocations>
<relocation>
<pattern>org.bouncycastle</pattern>
<shadedPattern>net.jsign.bouncycastle</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons</pattern>
<shadedPattern>net.jsign.commons</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.logging.log4j</pattern>
<shadedPattern>net.jsign.log4j</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.poi</pattern>
<shadedPattern>net.jsign.poi</shadedPattern>
</relocation>
<relocation>
<pattern>com.cedarsoftware</pattern>
<shadedPattern>net.jsign.json-io</shadedPattern>
</relocation>
</relocations>
<transformers>
<transformer>
<mainClass>net.jsign.JsignCLI</mainClass>
<manifestEntries>
<Implementation-Title>Jsign</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<Add-Exports>jdk.crypto.cryptoki/sun.security.pkcs11.wrapper</Add-Exports>
<Add-Opens>java.base/javax.crypto</Add-Opens>
</manifestEntries>
</transformer>
<transformer />
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.7.0</version>
<executions>
<execution>
<id>proguard-minimizing</id>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
<configuration>
<obfuscate>false</obfuscate>
<options>
<option>-dontwarn</option>
<option>-dontnote **</option>
<option>-dontoptimize</option>
<option>-keep public class net.jsign.bouncycastle.jcajce.provider.symmetric.* { *; }</option>
<option>-keep public class net.jsign.bouncycastle.jcajce.provider.asymmetric.* { *; }</option>
<option>-keep public class net.jsign.* { *; }</option>
<option>-keep public class net.jsign.asn1.authenticode.* { *; }</option>
<option>-keep public class net.jsign.asn1.authenticode.* { *; }</option>
<option>-keep public class net.jsign.jca.* { *; }</option>
<option>-keep public class net.jsign.msi.* { *; }</option>
<option>-keep public class net.jsign.pe.* { *; }</option>
<option>-keep public class net.jsign.script.* { *; }</option>
<option>-keep public class net.jsign.timestamp.* { *; }</option>
<option>-keep public class * implements net.jsign.spi.SignableProvider { *; }</option>
<option>-keeppackagenames net.jsign</option>
<option>-keepclassmembers class * extends java.lang.Enum { *; }</option>
</options>
<injar>${project.build.finalName}.jar</injar>
<includeDependency>true</includeDependency>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.guardsquare</groupId>
<artifactId>proguard-base</artifactId>
<version>7.8.0</version>
</dependency>
<dependency>
<groupId>com.guardsquare</groupId>
<artifactId>proguard-core</artifactId>
<version>9.2.0</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>io.github.zlika</groupId>
<artifactId>reproducible-build-maven-plugin</artifactId>
<version>0.17</version>
<executions>
<execution>
<id>reproducible-jar</id>
<phase>package</phase>
<goals>
<goal>strip-jar</goal>
</goals>
<configuration>
<zipDateTime>${project.build.outputTimestamp}</zipDateTime>
<zipDateTimeFormatPattern>yyyy-MM-dd'T'HH:mm:ss'Z'</zipDateTimeFormatPattern>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.siom79.japicmp</groupId>
<artifactId>japicmp-maven-plugin</artifactId>
<version>0.24.2</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>cmp</goal>
</goals>
</execution>
</executions>
<configuration>
<parameter>
<onlyModified>true</onlyModified>
<onlyBinaryIncompatible>true</onlyBinaryIncompatible>
<includeSynthetic>true</includeSynthetic>
<breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
<breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications>
<excludes>
<exclude>net.jsign.AuthenticodeSigner#addNestedSignature(net.jsign.bouncycastle.cms.CMSSignedData,net.jsign.bouncycastle.cms.CMSSignedData)</exclude>
<exclude>net.jsign.appx.APPXFile</exclude>
<exclude>net.jsign.asn1.*</exclude>
<exclude>net.jsign.bouncycastle.*</exclude>
<exclude>net.jsign.pe.*</exclude>
<exclude>net.jsign.poi.*</exclude>
<exclude>net.jsign.commons.*</exclude>
<exclude>net.jsign.json-io.*</exclude>
<exclude>net.jsign.log4j.*</exclude>
<exclude>net.jsign.PESigner</exclude>
<exclude>net.jsign.PESignerCLI</exclude>
<exclude>net.jsign.JsignTask</exclude>
</excludes>
<ignoreMissingClassesByRegularExpressions>
<ignoreMissingClassesByRegularExpression>org.apache.tools.ant.*</ignoreMissingClassesByRegularExpression>
</ignoreMissingClassesByRegularExpressions>
<skipXmlReport>true</skipXmlReport>
<skipDiffReport>true</skipDiffReport>
<overrideCompatibilityChangeParameters>
<overrideCompatibilityChangeParameter>
<compatibilityChange>METHOD_NEW_DEFAULT</compatibilityChange>
<binaryCompatible>true</binaryCompatible>
<sourceCompatible>true</sourceCompatible>
</overrideCompatibilityChangeParameter>
<overrideCompatibilityChangeParameter>
<compatibilityChange>METHOD_ABSTRACT_NOW_DEFAULT</compatibilityChange>
<binaryCompatible>true</binaryCompatible>
<sourceCompatible>true</sourceCompatible>
</overrideCompatibilityChangeParameter>
</overrideCompatibilityChangeParameters>
</parameter>
</configuration>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>replace-version</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<mkdir />
<copy>
<fileset />
<filterset>
<filter />
</filterset>
</copy>
</target>
</configuration>
</execution>
<execution>
<id>make-rpm</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<taskdef />
<loadresource>
<propertyresource />
<filterchain>
<tokenfilter>
<filetokenizer />
<replacestring />
</tokenfilter>
</filterchain>
</loadresource>
<redline>
<tarfileset />
<tarfileset />
<tarfileset>
<include />
</tarfileset>
<link />
<depends />
</redline>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.redline-rpm</groupId>
<artifactId>redline</artifactId>
<version>1.2.10</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.vafer</groupId>
<artifactId>jdeb</artifactId>
<version>1.10</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jdeb</goal>
</goals>
<configuration>
<attach>false</attach>
<dataSet>
<data>
<type>file</type>
<src>${project.build.directory}/${project.build.finalName}.jar</src>
<mapper>
<type>perm</type>
<prefix>/usr/share/jsign</prefix>
</mapper>
</data>
<data>
<type>directory</type>
<src>${project.build.directory}/deb/data</src>
<excludes>**/*.sh</excludes>
</data>
<data>
<type>directory</type>
<src>${project.build.directory}/deb/data</src>
<includes>**/*.sh</includes>
<mapper>
<type>perm</type>
<filemode>755</filemode>
</mapper>
</data>
<data>
<type>link</type>
<linkName>/usr/bin/jsign</linkName>
<linkTarget>/usr/share/jsign/jsign.sh</linkTarget>
<symlink>true</symlink>
</data>
</dataSet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>proguard-bootclasspath-pre-java9</id>
<build>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<executions>
<execution>
<id>proguard-minimizing</id>
<configuration>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
</libs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>proguard-bootclasspath-post-java9</id>
<build>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<executions>
<execution>
<id>proguard-minimizing</id>
<configuration>
<libs>
<lib>${java.home}/jmods/java.base.jmod</lib>
<lib>${java.home}/jmods/java.logging.jmod</lib>
<lib>${java.home}/jmods/java.smartcardio.jmod</lib>
<lib>${java.home}/jmods/java.sql.jmod</lib>
<lib>${java.home}/jmods/java.xml.jmod</lib>
<lib>${java.home}/jmods/jdk.crypto.cryptoki.jmod</lib>
</libs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>update-release-version</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<checksum />
<replaceregexp />
<replaceregexp />
<replaceregexp />
<replaceregexp />
<replaceregexp />
<replaceregexp />
<replaceregexp />
<replaceregexp />
<replaceregexp />
<replaceregexp />
<replaceregexp />
<replaceregexp />
<replaceregexp />
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>org.kohsuke.metainf-services</groupId>
<artifactId>metainf-services</artifactId>
<version>1.11</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>3.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>hamcrest</artifactId>
<groupId>org.hamcrest</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>4.11.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>mockito-core</artifactId>
<groupId>org.mockito</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-agent</artifactId>
<version>1.17.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>1.17.8</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>