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 0bc334299efe16ebd73fe0d52826d0d8b4c59165
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];

Reply via email to