summaryrefslogtreecommitdiffstats
path: root/src/lib/tlslite/utils/cryptomath.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/tlslite/utils/cryptomath.py')
-rwxr-xr-xsrc/lib/tlslite/utils/cryptomath.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/lib/tlslite/utils/cryptomath.py b/src/lib/tlslite/utils/cryptomath.py
index 51d6dff7c..204bb485c 100755
--- a/src/lib/tlslite/utils/cryptomath.py
+++ b/src/lib/tlslite/utils/cryptomath.py
@@ -99,11 +99,22 @@ except:
return stringToBytes(s)
prngName ="CryptoAPI"
except ImportError:
+ # Else see if we ahve Pprngd running
+ try:
+ def getRandomBytes(howMany):
+ import prngd
+ try:
+ p = prngd.PRNGD(sockname="/var/run/egd-pool")
+ except:
+ p = prngd.PRNGD(sockname="/dev/egd-pool")
+ return stringToBytes(p.read(howMany))
+ prngName = "PRNGD"
+ except:
#Else no PRNG :-(
- def getRandomBytes(howMany):
- raise NotImplementedError("No Random Number Generator "\
- "available.")
- prngName = "None"
+ def getRandomBytes(howMany):
+ raise NotImplementedError("No Random Number Generator "\
+ "available.")
+ prngName = "None"
# **************************************************************************
# Converter Functions