summaryrefslogtreecommitdiff
path: root/libgo/go/crypto/tls/generate_cert.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/crypto/tls/generate_cert.go')
-rw-r--r--libgo/go/crypto/tls/generate_cert.go13
1 files changed, 4 insertions, 9 deletions
diff --git a/libgo/go/crypto/tls/generate_cert.go b/libgo/go/crypto/tls/generate_cert.go
index bdc70f1cf66..3e0c6393893 100644
--- a/libgo/go/crypto/tls/generate_cert.go
+++ b/libgo/go/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
@@ -40,7 +35,7 @@ func main() {
SerialNumber: []byte{0},
Subject: x509.Name{
CommonName: *hostName,
- Organization: "Acme Co",
+ Organization: []string{"Acme Co"},
},
NotBefore: time.SecondsToUTC(now - 300),
NotAfter: time.SecondsToUTC(now + 60*60*24*365), // valid for 1 year.
@@ -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