diff options
author | Gary van der Merwe <garyvdm@gmail.com> | 2010-08-03 00:13:08 +0200 |
---|---|---|
committer | Gary van der Merwe <garyvdm@gmail.com> | 2010-08-03 00:13:08 +0200 |
commit | 044e7029986a060552770feb1687b00862f1a6ba (patch) | |
tree | e00ba3aa34c8bb343dce0da3f1d7470cd6c83421 /paramiko/dsskey.py | |
parent | e2add909811956b4a5cd91d290a3df45612ba75d (diff) | |
download | paramiko-044e7029986a060552770feb1687b00862f1a6ba.tar.gz |
Use Crypto.Random rather than Crypto.Util.RandomPool.
Diffstat (limited to 'paramiko/dsskey.py')
-rw-r--r-- | paramiko/dsskey.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/paramiko/dsskey.py b/paramiko/dsskey.py index eecfa695..53ca92b9 100644 --- a/paramiko/dsskey.py +++ b/paramiko/dsskey.py @@ -91,13 +91,13 @@ class DSSKey (PKey): def can_sign(self): return self.x is not None - def sign_ssh_data(self, rpool, data): + def sign_ssh_data(self, rng, data): digest = SHA.new(data).digest() dss = DSA.construct((long(self.y), long(self.g), long(self.p), long(self.q), long(self.x))) # generate a suitable k qsize = len(util.deflate_long(self.q, 0)) while True: - k = util.inflate_long(rpool.get_bytes(qsize), 1) + k = util.inflate_long(rng.read(qsize), 1) if (k > 2) and (k < self.q): break r, s = dss.sign(util.inflate_long(digest, 1), k) @@ -161,8 +161,7 @@ class DSSKey (PKey): @return: new private key @rtype: L{DSSKey} """ - randpool.stir() - dsa = DSA.generate(bits, randpool.get_bytes, progress_func) + dsa = DSA.generate(bits, rng.read, progress_func) key = DSSKey(vals=(dsa.p, dsa.q, dsa.g, dsa.y)) key.x = dsa.x return key |