commit 590f242759d1802012a4b55620e3a2ad60874885
Author: gil <puntogil(a)libero.it>
Date: Sun Apr 6 03:48:19 2014 +0200
update bouncycastle to 1.50
sshj-0.8.1-port-to-bouncycastle-1.50.patch | 66 ++++++++++++++++++++++++++++
sshj.spec | 7 +++-
2 files changed, 72 insertions(+), 1 deletions(-)
---
diff --git a/sshj-0.8.1-port-to-bouncycastle-1.50.patch
b/sshj-0.8.1-port-to-bouncycastle-1.50.patch
new file mode 100644
index 0000000..f6ef7da
--- /dev/null
+++ b/sshj-0.8.1-port-to-bouncycastle-1.50.patch
@@ -0,0 +1,66 @@
+diff -Nru sshj-0.8.1/pom.xml sshj-0.8.1-msrb/pom.xml
+--- sshj-0.8.1/pom.xml 2012-07-08 15:55:22.000000000 +0200
++++ sshj-0.8.1-msrb/pom.xml 2014-04-06 03:31:54.504838462 +0200
+@@ -41,8 +41,14 @@
+ </dependency>
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+- <artifactId>bcprov-jdk16</artifactId>
+- <version>1.46</version>
++ <artifactId>bcpkix-jdk15on</artifactId>
++ <version>1.50</version>
++ <scope>provided</scope>
++ </dependency>
++ <dependency>
++ <groupId>org.bouncycastle</groupId>
++ <artifactId>bcprov-jdk15on</artifactId>
++ <version>1.50</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+diff -Nru
sshj-0.8.1/src/main/java/net/schmizz/sshj/userauth/keyprovider/PKCS8KeyFile.java
sshj-0.8.1-msrb/src/main/java/net/schmizz/sshj/userauth/keyprovider/PKCS8KeyFile.java
+---
sshj-0.8.1/src/main/java/net/schmizz/sshj/userauth/keyprovider/PKCS8KeyFile.java 2012-07-08
15:55:22.000000000 +0200
++++
sshj-0.8.1-msrb/src/main/java/net/schmizz/sshj/userauth/keyprovider/PKCS8KeyFile.java 2014-04-06
03:42:43.248047889 +0200
+@@ -23,7 +23,12 @@
+ import net.schmizz.sshj.userauth.password.PrivateKeyStringResource;
+ import net.schmizz.sshj.userauth.password.Resource;
+ import org.bouncycastle.openssl.EncryptionException;
+-import org.bouncycastle.openssl.PEMReader;
++import org.bouncycastle.openssl.PEMDecryptorProvider;
++import org.bouncycastle.openssl.PEMEncryptedKeyPair;
++import org.bouncycastle.openssl.PEMKeyPair;
++import org.bouncycastle.openssl.PEMParser;
++import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter;
++import org.bouncycastle.openssl.jcajce.JcePEMDecryptorProviderBuilder;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+
+@@ -119,14 +124,26 @@
+ throws IOException {
+ KeyPair kp = null;
+ org.bouncycastle.openssl.PasswordFinder pFinder = makeBouncyPasswordFinder();
+- PEMReader r = null;
++ PEMParser r = null;
+ Object o = null;
+ try {
+ for (; ; ) {
+ // while the PasswordFinder tells us we should retry
+ try {
+- r = new PEMReader(resource.getReader(), pFinder);
++ r = new PEMParser(resource.getReader());
+ o = r.readObject();
++
++ JcaPEMKeyConverter pemConverter = new JcaPEMKeyConverter();
++ pemConverter.setProvider("BC");
++ if (pFinder != null && o instanceof PEMEncryptedKeyPair) {
++ JcePEMDecryptorProviderBuilder decryptorBuilder = new
JcePEMDecryptorProviderBuilder();
++ PEMDecryptorProvider pemDecryptor =
decryptorBuilder.build(pFinder.getPassword());
++ o = pemConverter.getKeyPair(((PEMEncryptedKeyPair)
o).decryptKeyPair(pemDecryptor));
++ }
++ if (o instanceof PEMKeyPair) {
++ o = pemConverter.getKeyPair((PEMKeyPair) o);
++ }
++
+ } catch (EncryptionException e) {
+ if (pwdf.shouldRetry(resource))
+ continue;
diff --git a/sshj.spec b/sshj.spec
index 9712078..1077bef 100644
--- a/sshj.spec
+++ b/sshj.spec
@@ -5,10 +5,14 @@ Summary: SSHv2 library for Java
License: ASL 2.0
URL:
http://schmizz.net/sshj/
Source0:
https://github.com/shikhar/sshj/archive/v%{version}.tar.gz
+# Thanks to Michal Srb
+# Update bouncycastle to 1.50
+Patch0: sshj-0.8.1-port-to-bouncycastle-1.50.patch
BuildRequires: java-devel
BuildRequires: mvn(com.jcraft:jzlib) >= 1.1.0-2
-BuildRequires: mvn(org.bouncycastle:bcprov-jdk16)
+BuildRequires: mvn(org.bouncycastle:bcprov-jdk15on)
+BuildRequires: mvn(org.bouncycastle:bcpkix-jdk15on)
BuildRequires: mvn(org.slf4j:slf4j-api)
# test deps
@@ -38,6 +42,7 @@ This package contains javadoc for %{name}.
%prep
%setup -q
+%patch0 -p1
# SmokeTest.setUp:37 ? NoClassDefFound org/apache/mina/core/service/IoHandler
%pom_add_dep org.apache.mina:mina-core::test