Mercurial > 510Connectbot
comparison src/ch/ethz/ssh2/channel/AuthAgentForwardThread.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 | 071eccdff8ea |
children |
comparison
equal
deleted
inserted
replaced
343:df13118e8e79 | 344:b40bc65fa09a |
---|---|
24 import java.security.KeyFactory; | 24 import java.security.KeyFactory; |
25 import java.security.KeyPair; | 25 import java.security.KeyPair; |
26 import java.security.NoSuchAlgorithmException; | 26 import java.security.NoSuchAlgorithmException; |
27 import java.security.PrivateKey; | 27 import java.security.PrivateKey; |
28 import java.security.PublicKey; | 28 import java.security.PublicKey; |
29 import java.security.SecureRandom; | |
30 import java.security.interfaces.DSAPrivateKey; | 29 import java.security.interfaces.DSAPrivateKey; |
31 import java.security.interfaces.ECPrivateKey; | 30 import java.security.interfaces.ECPrivateKey; |
32 import java.security.interfaces.RSAPrivateKey; | 31 import java.security.interfaces.RSAPrivateKey; |
33 import java.security.spec.DSAPrivateKeySpec; | 32 import java.security.spec.DSAPrivateKeySpec; |
34 import java.security.spec.DSAPublicKeySpec; | 33 import java.security.spec.DSAPublicKeySpec; |
42 import java.security.spec.RSAPublicKeySpec; | 41 import java.security.spec.RSAPublicKeySpec; |
43 import java.util.Map; | 42 import java.util.Map; |
44 import java.util.Map.Entry; | 43 import java.util.Map.Entry; |
45 | 44 |
46 import ch.ethz.ssh2.AuthAgentCallback; | 45 import ch.ethz.ssh2.AuthAgentCallback; |
46 import ch.ethz.ssh2.crypto.SecureRandomFix; | |
47 import ch.ethz.ssh2.log.Logger; | 47 import ch.ethz.ssh2.log.Logger; |
48 import ch.ethz.ssh2.packets.TypesReader; | 48 import ch.ethz.ssh2.packets.TypesReader; |
49 import ch.ethz.ssh2.packets.TypesWriter; | 49 import ch.ethz.ssh2.packets.TypesWriter; |
50 import ch.ethz.ssh2.signature.DSASHA1Verify; | 50 import ch.ethz.ssh2.signature.DSASHA1Verify; |
51 import ch.ethz.ssh2.signature.ECDSASHA2Verify; | 51 import ch.ethz.ssh2.signature.ECDSASHA2Verify; |
457 (RSAPrivateKey) privKey); | 457 (RSAPrivateKey) privKey); |
458 response = RSASHA1Verify.encodeSSHRSASignature(signature); | 458 response = RSASHA1Verify.encodeSSHRSASignature(signature); |
459 } | 459 } |
460 else if (privKey instanceof DSAPrivateKey) { | 460 else if (privKey instanceof DSAPrivateKey) { |
461 byte[] signature = DSASHA1Verify.generateSignature(challenge, | 461 byte[] signature = DSASHA1Verify.generateSignature(challenge, |
462 (DSAPrivateKey) privKey, new SecureRandom()); | 462 (DSAPrivateKey) privKey, new SecureRandomFix()); |
463 response = DSASHA1Verify.encodeSSHDSASignature(signature); | 463 response = DSASHA1Verify.encodeSSHDSASignature(signature); |
464 } | 464 } |
465 else if (privKey instanceof ECPrivateKey) { | 465 else if (privKey instanceof ECPrivateKey) { |
466 ECPrivateKey pk = (ECPrivateKey) privKey; | 466 ECPrivateKey pk = (ECPrivateKey) privKey; |
467 byte[] signature = ECDSASHA2Verify.generateSignature(challenge, pk); | 467 byte[] signature = ECDSASHA2Verify.generateSignature(challenge, pk); |