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  }