diff --git a/src/pkg/crypto/tls/generate_cert.go b/src/pkg/crypto/tls/generate_cert.go index 2ee8073f93..3e0c639389 100644 --- a/src/pkg/crypto/tls/generate_cert.go +++ b/src/pkg/crypto/tls/generate_cert.go @@ -9,6 +9,7 @@ package main import ( "crypto/rsa" + "crypto/rand" "crypto/x509" "encoding/pem" "flag" @@ -22,13 +23,7 @@ var hostName *string = flag.String("host", "127.0.0.1", "Hostname to generate a func main() { flag.Parse() - urandom, err := os.Open("/dev/urandom", os.O_RDONLY, 0) - if err != nil { - log.Exitf("failed to open /dev/urandom: %s", err) - return - } - - priv, err := rsa.GenerateKey(urandom, 1024) + priv, err := rsa.GenerateKey(rand.Reader, 1024) if err != nil { log.Exitf("failed to generate private key: %s", err) return @@ -49,7 +44,7 @@ func main() { KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature, } - derBytes, err := x509.CreateCertificate(urandom, &template, &template, &priv.PublicKey, priv) + derBytes, err := x509.CreateCertificate(rand.Reader, &template, &template, &priv.PublicKey, priv) if err != nil { log.Exitf("Failed to create certificate: %s", err) return