Please review the change at http://cr.openjdk.java.net/~weijun/8205507/webrev.00/
Here I cached the keys for each signature method. Running 100 times on solaris-sparcv9 and the longest duration is 10 minutes, much shorter than the timeout threshold of 50 mins. I didn't hardcoded the keys because I'm afraid some keys might fail (this happened before, for example, if first byte of key is zero). With a cache, and especially the keys persisted into a file, we gain both randomness (although not as random as before) and reproducibility. Noreg-self. Thanks Max