This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new 60a8a43bf3 NIFI-14203 Replaced deprecated Bouncy Castle PGP methods 
(#9678)
60a8a43bf3 is described below

commit 60a8a43bf3b85f5cf9043cb9f60fb6cf769b8dcf
Author: dan-s1 <[email protected]>
AuthorDate: Sat Feb 1 10:24:26 2025 -0500

    NIFI-14203 Replaced deprecated Bouncy Castle PGP methods (#9678)
    
    Signed-off-by: David Handermann <[email protected]>
---
 .../main/java/org/apache/nifi/processors/pgp/SignContentPGP.java   | 7 ++++++-
 .../src/main/java/org/apache/nifi/pgp/util/PGPOperationUtils.java  | 7 ++++++-
 .../main/java/org/apache/nifi/pgp/util/PGPSecretKeyGenerator.java  | 3 ++-
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git 
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/SignContentPGP.java
 
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/SignContentPGP.java
index 4f3ef7c797..98e2758b2f 100644
--- 
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/SignContentPGP.java
+++ 
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-processors/src/main/java/org/apache/nifi/processors/pgp/SignContentPGP.java
@@ -44,9 +44,12 @@ import org.bouncycastle.openpgp.PGPException;
 import org.bouncycastle.openpgp.PGPLiteralDataGenerator;
 import org.bouncycastle.openpgp.PGPOnePassSignature;
 import org.bouncycastle.openpgp.PGPPrivateKey;
+import org.bouncycastle.openpgp.PGPPublicKey;
 import org.bouncycastle.openpgp.PGPSignature;
 import org.bouncycastle.openpgp.PGPSignatureGenerator;
 import org.bouncycastle.openpgp.PGPUtil;
+import org.bouncycastle.openpgp.operator.KeyFingerPrintCalculator;
+import org.bouncycastle.openpgp.operator.jcajce.JcaKeyFingerprintCalculator;
 import org.bouncycastle.openpgp.operator.jcajce.JcaPGPContentSignerBuilder;
 
 import java.io.IOException;
@@ -290,7 +293,9 @@ public class SignContentPGP extends AbstractProcessor {
             final int keyAlgorithm = 
privateKey.getPublicKeyPacket().getAlgorithm();
             final SecureRandom secureRandom = new SecureRandom();
             final JcaPGPContentSignerBuilder builder = new 
JcaPGPContentSignerBuilder(keyAlgorithm, 
hashAlgorithm.getId()).setSecureRandom(secureRandom);
-            final PGPSignatureGenerator signatureGenerator = new 
PGPSignatureGenerator(builder);
+            final KeyFingerPrintCalculator keyFingerprintCalculator = new 
JcaKeyFingerprintCalculator();
+            final PGPPublicKey pgpPublicKey = new 
PGPPublicKey(privateKey.getPublicKeyPacket(), keyFingerprintCalculator);
+            final PGPSignatureGenerator signatureGenerator = new 
PGPSignatureGenerator(builder, pgpPublicKey);
             signatureGenerator.init(PGPSignature.BINARY_DOCUMENT, privateKey);
             return signatureGenerator;
         }
diff --git 
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-test-utils/src/main/java/org/apache/nifi/pgp/util/PGPOperationUtils.java
 
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-test-utils/src/main/java/org/apache/nifi/pgp/util/PGPOperationUtils.java
index 63e1fe7407..3b95aff63f 100644
--- 
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-test-utils/src/main/java/org/apache/nifi/pgp/util/PGPOperationUtils.java
+++ 
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-test-utils/src/main/java/org/apache/nifi/pgp/util/PGPOperationUtils.java
@@ -21,9 +21,12 @@ import org.bouncycastle.openpgp.PGPException;
 import org.bouncycastle.openpgp.PGPLiteralDataGenerator;
 import org.bouncycastle.openpgp.PGPOnePassSignature;
 import org.bouncycastle.openpgp.PGPPrivateKey;
+import org.bouncycastle.openpgp.PGPPublicKey;
 import org.bouncycastle.openpgp.PGPSignature;
 import org.bouncycastle.openpgp.PGPSignatureGenerator;
+import org.bouncycastle.openpgp.operator.KeyFingerPrintCalculator;
 import org.bouncycastle.openpgp.operator.PGPContentSignerBuilder;
+import org.bouncycastle.openpgp.operator.jcajce.JcaKeyFingerprintCalculator;
 import org.bouncycastle.openpgp.operator.jcajce.JcaPGPContentSignerBuilder;
 
 import java.io.ByteArrayOutputStream;
@@ -101,7 +104,9 @@ public class PGPOperationUtils {
 
     private static PGPSignatureGenerator getSignatureGenerator(final 
PGPPrivateKey privateKey) throws PGPException {
         final PGPContentSignerBuilder contentSignerBuilder = new 
JcaPGPContentSignerBuilder(privateKey.getPublicKeyPacket().getAlgorithm(), 
HashAlgorithmTags.SHA512);
-        final PGPSignatureGenerator signatureGenerator = new 
PGPSignatureGenerator(contentSignerBuilder);
+        final KeyFingerPrintCalculator keyFingerprintCalculator = new 
JcaKeyFingerprintCalculator();
+        final PGPPublicKey pgpPublicKey = new 
PGPPublicKey(privateKey.getPublicKeyPacket(), keyFingerprintCalculator);
+        final PGPSignatureGenerator signatureGenerator = new 
PGPSignatureGenerator(contentSignerBuilder, pgpPublicKey);
         signatureGenerator.init(PGPSignature.BINARY_DOCUMENT, privateKey);
         return signatureGenerator;
     }
diff --git 
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-test-utils/src/main/java/org/apache/nifi/pgp/util/PGPSecretKeyGenerator.java
 
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-test-utils/src/main/java/org/apache/nifi/pgp/util/PGPSecretKeyGenerator.java
index 25568955d8..6b1df078fc 100644
--- 
a/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-test-utils/src/main/java/org/apache/nifi/pgp/util/PGPSecretKeyGenerator.java
+++ 
b/nifi-extension-bundles/nifi-pgp-bundle/nifi-pgp-test-utils/src/main/java/org/apache/nifi/pgp/util/PGPSecretKeyGenerator.java
@@ -17,6 +17,7 @@
 package org.apache.nifi.pgp.util;
 
 import org.bouncycastle.bcpg.HashAlgorithmTags;
+import org.bouncycastle.bcpg.PublicKeyPacket;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.openpgp.PGPEncryptedData;
 import org.bouncycastle.openpgp.PGPException;
@@ -112,7 +113,7 @@ public class PGPSecretKeyGenerator {
     }
 
     private static PGPKeyPair getPgpKeyPair(final KeyPair keyPair, final int 
algorithm) throws PGPException {
-        return new JcaPGPKeyPair(algorithm, keyPair, new Date());
+        return new JcaPGPKeyPair(PublicKeyPacket.VERSION_4, algorithm, 
keyPair, new Date());
     }
 
     private static PBESecretKeyEncryptor getSecretKeyEncryptor(final char[] 
password, final PGPDigestCalculator digestCalculator) {

Reply via email to