func GeneratePrivateKey() (*rsa.PrivateKey, error) {
	return rsa.GenerateKey(rand.Reader, 2048)
}
GeneratePrivateKey Generates RSA private key
package tls
import (
	"crypto/rand"
	"crypto/rsa"
	"crypto/x509"
	"crypto/x509/pkix"
	"encoding/pem"
	"errors"
	"fmt"
	"math/big"
	"net"
	"strings"
	"time"
)
const CertRenewalInterval time.Duration = 12 * time.Hour
const CertValidityDuration time.Duration = 365 * 24 * time.Hour
type CertificateProps struct {
	Service       string
	Namespace     string
	APIServerHost string
	ServerIP      string
}
type PemPair struct {
	Certificate []byte
	PrivateKey  []byte
}
type KeyPair struct {
	Cert *x509.Certificate
	Key  *rsa.PrivateKey
}