This is an automated email from the ASF dual-hosted git repository. rfscholte pushed a commit to branch maven-sign-plugin in repository https://gitbox.apache.org/repos/asf/maven-studies.git
commit 5ad35f9b8f26b2c0e71ee9570a3c02eb51665e84 Author: Slawomir Jaranowski <s.jaranow...@gmail.com> AuthorDate: Mon Oct 5 23:21:52 2020 +0200 add subpacket 33 - issuer key fingerprint to signature --- src/it/pom-packaging/pom.xml | 2 +- src/it/standard-packaging/pom.xml | 2 +- .../java/org/apache/maven/plugins/sign/pgp/PGPSigner.java | 14 +++++++++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/it/pom-packaging/pom.xml b/src/it/pom-packaging/pom.xml index a18b908..59a7df3 100644 --- a/src/it/pom-packaging/pom.xml +++ b/src/it/pom-packaging/pom.xml @@ -25,7 +25,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>test-group</groupId> - <artifactId>test1</artifactId> + <artifactId>pom-packaging</artifactId> <version>${revision}</version> <packaging>pom</packaging> diff --git a/src/it/standard-packaging/pom.xml b/src/it/standard-packaging/pom.xml index 1d15a42..8fe32c0 100644 --- a/src/it/standard-packaging/pom.xml +++ b/src/it/standard-packaging/pom.xml @@ -25,7 +25,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>test-group</groupId> - <artifactId>test1</artifactId> + <artifactId>standard-packaging</artifactId> <version>${revision}</version> <build> diff --git a/src/main/java/org/apache/maven/plugins/sign/pgp/PGPSigner.java b/src/main/java/org/apache/maven/plugins/sign/pgp/PGPSigner.java index a4d82b9..a3f04ee 100644 --- a/src/main/java/org/apache/maven/plugins/sign/pgp/PGPSigner.java +++ b/src/main/java/org/apache/maven/plugins/sign/pgp/PGPSigner.java @@ -29,6 +29,8 @@ import org.bouncycastle.openpgp.PGPSecretKeyRing; import org.bouncycastle.openpgp.PGPSecretKeyRingCollection; import org.bouncycastle.openpgp.PGPSignature; import org.bouncycastle.openpgp.PGPSignatureGenerator; +import org.bouncycastle.openpgp.PGPSignatureSubpacketGenerator; +import org.bouncycastle.openpgp.PGPSignatureSubpacketVector; import org.bouncycastle.openpgp.PGPUtil; import org.bouncycastle.openpgp.operator.jcajce.JcaKeyFingerprintCalculator; import org.bouncycastle.openpgp.operator.jcajce.JcaPGPContentSignerBuilder; @@ -60,6 +62,7 @@ public class PGPSigner private PGPSecretKey secretKey; private PGPPrivateKey pgpPrivateKey; + private PGPSignatureSubpacketVector hashSubPackets; public PGPSigner( PGPSecretKeyInfo keyInfo ) throws PGPSignerException { @@ -68,6 +71,7 @@ public class PGPSigner try { loadKey(); + prepareAdditionalSubPacket(); } catch ( IOException | PGPException e ) { @@ -80,6 +84,14 @@ public class PGPSigner LOGGER.info( "Loaded keyId: {}, uIds: {}", String.format( "%16X", secretKey.getKeyID() ), uIds ); } + private void prepareAdditionalSubPacket() + { + PGPSignatureSubpacketGenerator subPacketGenerator = new PGPSignatureSubpacketGenerator(); + // PGP subpacket 33 - issuer key fingerprint + subPacketGenerator.setIssuerFingerprint( false, secretKey ); + hashSubPackets = subPacketGenerator.generate(); + } + /** * Find and load private key from file. */ @@ -130,7 +142,7 @@ public class PGPSigner try { sGen.init( PGPSignature.BINARY_DOCUMENT, pgpPrivateKey ); - + sGen.setHashedSubpackets( hashSubPackets ); int len; byte[] buffer = new byte[8 * 1024];