Mercurial > 510Connectbot
comparison src/com/five_ten_sg/connectbot/GeneratePubkeyActivity.java @ 344:b40bc65fa09a
compensate for SecureRandom bug on older devices
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Thu, 31 Jul 2014 18:39:36 -0700 |
parents | 91a31873c42a |
children |
comparison
equal
deleted
inserted
replaced
343:df13118e8e79 | 344:b40bc65fa09a |
---|---|
19 | 19 |
20 import java.security.KeyPair; | 20 import java.security.KeyPair; |
21 import java.security.KeyPairGenerator; | 21 import java.security.KeyPairGenerator; |
22 import java.security.PrivateKey; | 22 import java.security.PrivateKey; |
23 import java.security.PublicKey; | 23 import java.security.PublicKey; |
24 import java.security.SecureRandom; | |
25 | 24 |
26 import com.five_ten_sg.connectbot.bean.PubkeyBean; | 25 import com.five_ten_sg.connectbot.bean.PubkeyBean; |
27 import com.five_ten_sg.connectbot.util.EntropyDialog; | 26 import com.five_ten_sg.connectbot.util.EntropyDialog; |
28 import com.five_ten_sg.connectbot.util.EntropyView; | 27 import com.five_ten_sg.connectbot.util.EntropyView; |
29 import com.five_ten_sg.connectbot.util.OnEntropyGatheredListener; | 28 import com.five_ten_sg.connectbot.util.OnEntropyGatheredListener; |
46 import android.widget.RadioGroup; | 45 import android.widget.RadioGroup; |
47 import android.widget.RadioGroup.OnCheckedChangeListener; | 46 import android.widget.RadioGroup.OnCheckedChangeListener; |
48 import android.widget.SeekBar; | 47 import android.widget.SeekBar; |
49 import android.widget.SeekBar.OnSeekBarChangeListener; | 48 import android.widget.SeekBar.OnSeekBarChangeListener; |
50 | 49 |
50 import ch.ethz.ssh2.crypto.SecureRandomFix; | |
51 import ch.ethz.ssh2.signature.ECDSASHA2Verify; | 51 import ch.ethz.ssh2.signature.ECDSASHA2Verify; |
52 | 52 |
53 public class GeneratePubkeyActivity extends Activity implements OnEntropyGatheredListener { | 53 public class GeneratePubkeyActivity extends Activity implements OnEntropyGatheredListener { |
54 public final static String TAG = "ConnectBot.GeneratePubkeyActivity"; | 54 public final static String TAG = "ConnectBot.GeneratePubkeyActivity"; |
55 | 55 |
236 int tmpbits = bits; | 236 int tmpbits = bits; |
237 | 237 |
238 if (keyType == PubkeyDatabase.KEY_TYPE_DSA) | 238 if (keyType == PubkeyDatabase.KEY_TYPE_DSA) |
239 tmpbits = DSA_BITS; | 239 tmpbits = DSA_BITS; |
240 | 240 |
241 SecureRandom random = new SecureRandom(); | 241 SecureRandomFix random = new SecureRandomFix(); |
242 // Work around JVM bug | 242 // Work around JVM bug |
243 random.nextInt(); | 243 random.nextInt(); |
244 random.setSeed(entropy); | 244 random.setSeed(entropy); |
245 KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(keyType); | 245 KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(keyType); |
246 keyPairGen.initialize(tmpbits, random); | 246 keyPairGen.initialize(tmpbits, random); |