While implementing an ECDSA request signature algorithm I was writing unit tests for it. The tests should work in a reproducible way: we generate the same private key each time, sign constant data with the same random (which is needed for ECDSA) - we get the same signature. It seems quite straightforward. Using reproducible random stream Looking at the documentation, we see that we should pass elliptic curve parameters and the random stream we want to use.