gnu: Add kafs-client
[jackhill/guix/guix.git] / gnu / packages / patches / java-apache-ivy-port-to-latest-bouncycastle.patch
1 From 29055a825af5405e44ffcd59a776f8952bdc7203 Mon Sep 17 00:00:00 2001
2 From: Julien Lepiller <julien@lepiller.eu>
3 Date: Fri, 15 Dec 2017 16:03:23 +0100
4 Subject: [PATCH] Port to latest bouncycastle.
5
6 ---
7 .../bouncycastle/OpenPGPSignatureGenerator.java | 34 ++++++++++------------
8 1 file changed, 16 insertions(+), 18 deletions(-)
9
10 diff --git a/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java b/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
11 index af7beae..34c204f 100644
12 --- a/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
13 +++ b/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
14 @@ -41,6 +41,11 @@ import org.bouncycastle.openpgp.PGPSecretKeyRingCollection;
15 import org.bouncycastle.openpgp.PGPSignature;
16 import org.bouncycastle.openpgp.PGPSignatureGenerator;
17 import org.bouncycastle.openpgp.PGPUtil;
18 +import org.bouncycastle.openpgp.operator.PBESecretKeyDecryptor;
19 +import org.bouncycastle.openpgp.operator.bc.BcPBESecretKeyDecryptorBuilder;
20 +import org.bouncycastle.openpgp.operator.bc.BcPGPDigestCalculatorProvider;
21 +import org.bouncycastle.openpgp.operator.bc.BcPGPContentSignerBuilder;
22 +import org.bouncycastle.openpgp.operator.bc.BcKeyFingerprintCalculator;
23
24 public class OpenPGPSignatureGenerator implements SignatureGenerator {
25
26 @@ -101,11 +106,15 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
27 pgpSec = readSecretKey(keyIn);
28 }
29
30 - PGPPrivateKey pgpPrivKey = pgpSec.extractPrivateKey(password.toCharArray(),
31 - BouncyCastleProvider.PROVIDER_NAME);
32 - PGPSignatureGenerator sGen = new PGPSignatureGenerator(pgpSec.getPublicKey()
33 - .getAlgorithm(), PGPUtil.SHA1, BouncyCastleProvider.PROVIDER_NAME);
34 - sGen.initSign(PGPSignature.BINARY_DOCUMENT, pgpPrivKey);
35 + PBESecretKeyDecryptor decryptor =
36 + new BcPBESecretKeyDecryptorBuilder(new BcPGPDigestCalculatorProvider())
37 + .build(password.toCharArray());
38 + PGPPrivateKey pgpPrivKey = pgpSec.extractPrivateKey(decryptor);
39 + BcPGPContentSignerBuilder builder = new BcPGPContentSignerBuilder(
40 + pgpSec.getPublicKey().getAlgorithm(), PGPUtil.SHA1);
41 +
42 + PGPSignatureGenerator sGen = new PGPSignatureGenerator(builder);
43 + sGen.init(PGPSignature.BINARY_DOCUMENT, pgpPrivKey);
44
45 in = new FileInputStream(src);
46 out = new BCPGOutputStream(new ArmoredOutputStream(new FileOutputStream(dest)));
47 @@ -116,22 +125,10 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
48 }
49
50 sGen.generate().encode(out);
51 - } catch (SignatureException e) {
52 - IOException ioexc = new IOException();
53 - ioexc.initCause(e);
54 - throw ioexc;
55 } catch (PGPException e) {
56 IOException ioexc = new IOException();
57 ioexc.initCause(e);
58 throw ioexc;
59 - } catch (NoSuchAlgorithmException e) {
60 - IOException ioexc = new IOException();
61 - ioexc.initCause(e);
62 - throw ioexc;
63 - } catch (NoSuchProviderException e) {
64 - IOException ioexc = new IOException();
65 - ioexc.initCause(e);
66 - throw ioexc;
67 } finally {
68 if (out != null) {
69 try {
70 @@ -156,7 +153,8 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
71
72 private PGPSecretKey readSecretKey(InputStream in) throws IOException, PGPException {
73 in = PGPUtil.getDecoderStream(in);
74 - PGPSecretKeyRingCollection pgpSec = new PGPSecretKeyRingCollection(in);
75 + PGPSecretKeyRingCollection pgpSec = new PGPSecretKeyRingCollection(in,
76 + new BcKeyFingerprintCalculator());
77
78 PGPSecretKey key = null;
79 for (Iterator it = pgpSec.getKeyRings(); key == null && it.hasNext();) {
80 --
81 2.15.1