From 655d0705719fe497b2c0e1fe4876c05e7617a572 Mon Sep 17 00:00:00 2001 From: Ghozzi Cherif Date: Sun, 25 Sep 2016 15:28:59 +0200 Subject: [PATCH] Update AndroidConfig.java --- .../java/net/schmizz/sshj/AndroidConfig.java | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/schmizz/sshj/AndroidConfig.java b/src/main/java/net/schmizz/sshj/AndroidConfig.java index 9bf01821..802f511f 100644 --- a/src/main/java/net/schmizz/sshj/AndroidConfig.java +++ b/src/main/java/net/schmizz/sshj/AndroidConfig.java @@ -1,5 +1,5 @@ -/* - * Copyright (C)2009 - SSHJ Contributors +/** + * Copyright 2009 sshj contributors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,12 +15,42 @@ */ package net.schmizz.sshj; +import java.security.Provider; +import java.security.Security; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import net.schmizz.sshj.common.SecurityUtils; +import net.schmizz.sshj.signature.SignatureDSA; +import net.schmizz.sshj.signature.SignatureRSA; import net.schmizz.sshj.transport.random.JCERandom; import net.schmizz.sshj.transport.random.SingletonRandomFactory; public class AndroidConfig extends DefaultConfig { + static { + final Logger log = LoggerFactory.getLogger(AndroidConfig.class); + SecurityUtils.setRegisterBouncyCastle(false); + try { + Class bcpClazz = Class.forName("org.spongycastle.jce.provider.BouncyCastleProvider"); + Security.addProvider((Provider) bcpClazz.newInstance()); + SecurityUtils.setSecurityProvider("SC"); + } catch (ClassNotFoundException e) { + log.info("SpongyCastle was not found."); + } catch (IllegalAccessException e) { + log.error("IllegalAccessException", e); + } catch (InstantiationException e) { + log.info("InstantiationException", e); + } + } + + // don't add ECDSA + protected void initSignatureFactories() { + setSignatureFactories(new SignatureRSA.Factory(), new SignatureDSA.Factory()); + } + @Override protected void initRandomFactory(boolean ignored) { setRandomFactory(new SingletonRandomFactory(new JCERandom.Factory()));