github.com/kubernetes-incubator/kube-aws@v0.16.4/pki/ca.go (about) 1 package pki 2 3 import ( 4 "crypto/rsa" 5 "crypto/x509" 6 "time" 7 ) 8 9 func NewCA(caDurationDays int, CommonName string) (*rsa.PrivateKey, *x509.Certificate, error) { 10 caKey, err := NewPrivateKey() 11 if err != nil { 12 return nil, nil, err 13 } 14 15 // Convert from days to time.Duration 16 caDuration := time.Duration(caDurationDays) * 24 * time.Hour 17 18 caConfig := CACertConfig{ 19 CommonName: CommonName, 20 Organization: "kube-aws", 21 Duration: caDuration, 22 } 23 caCert, err := NewSelfSignedCACertificate(caConfig, caKey) 24 if err != nil { 25 return nil, nil, err 26 } 27 28 return caKey, caCert, nil 29 }