resolve failing unit tests

Signed-off-by: Joshua Mathianas <mathianasj@gmail.com>
This commit is contained in:
Joshua Mathianas 2020-01-16 11:34:44 -05:00
parent 05ff21250d
commit 39cc63a205

View File

@ -134,6 +134,15 @@ func OrganizationForCertificate(crt *v1alpha2.Certificate) []string {
return crt.Spec.Organization
}
// SubjectForCertificate will return the Subject from the Certificate resource or an empty one if it is not set
func SubjectForCertificate(crt *v1alpha2.Certificate) v1alpha2.X509Subject {
if crt.Spec.Subject == nil {
return v1alpha2.X509Subject{}
}
return *crt.Spec.Subject
}
var serialNumberLimit = new(big.Int).Lsh(big.NewInt(1), 128)
func BuildKeyUsages(usages []v1alpha2.KeyUsage, isCA bool) (ku x509.KeyUsage, eku []x509.ExtKeyUsage, err error) {
@ -167,6 +176,7 @@ func GenerateCSR(crt *v1alpha2.Certificate) (*x509.CertificateRequest, error) {
commonName := crt.Spec.CommonName
iPAddresses := IPAddressesForCertificate(crt)
organization := OrganizationForCertificate(crt)
subject := SubjectForCertificate(crt)
dnsNames, err := DNSNamesForCertificate(crt)
if err != nil {
@ -192,14 +202,14 @@ func GenerateCSR(crt *v1alpha2.Certificate) (*x509.CertificateRequest, error) {
SignatureAlgorithm: sigAlgo,
PublicKeyAlgorithm: pubKeyAlgo,
Subject: pkix.Name{
Country: crt.Spec.Subject.Countries,
Country: subject.Countries,
Organization: organization,
OrganizationalUnit: crt.Spec.Subject.OrganizationalUnits,
Locality: crt.Spec.Subject.Localities,
Province: crt.Spec.Subject.Provinces,
StreetAddress: crt.Spec.Subject.StreetAddresses,
PostalCode: crt.Spec.Subject.PostalCodes,
SerialNumber: crt.Spec.Subject.SerialNumber,
OrganizationalUnit: subject.OrganizationalUnits,
Locality: subject.Localities,
Province: subject.Provinces,
StreetAddress: subject.StreetAddresses,
PostalCode: subject.PostalCodes,
SerialNumber: subject.SerialNumber,
CommonName: commonName,
},
DNSNames: dnsNames,
@ -219,6 +229,7 @@ func GenerateTemplate(crt *v1alpha2.Certificate) (*x509.Certificate, error) {
dnsNames := crt.Spec.DNSNames
ipAddresses := IPAddressesForCertificate(crt)
organization := OrganizationForCertificate(crt)
subject := SubjectForCertificate(crt)
keyUsages, extKeyUsages, err := BuildKeyUsages(crt.Spec.Usages, crt.Spec.IsCA)
if err != nil {
return nil, err
@ -247,14 +258,14 @@ func GenerateTemplate(crt *v1alpha2.Certificate) (*x509.Certificate, error) {
PublicKeyAlgorithm: pubKeyAlgo,
IsCA: crt.Spec.IsCA,
Subject: pkix.Name{
Country: crt.Spec.Subject.Countries,
Country: subject.Countries,
Organization: organization,
OrganizationalUnit: crt.Spec.Subject.OrganizationalUnits,
Locality: crt.Spec.Subject.Localities,
Province: crt.Spec.Subject.Provinces,
StreetAddress: crt.Spec.Subject.StreetAddresses,
PostalCode: crt.Spec.Subject.PostalCodes,
SerialNumber: crt.Spec.Subject.SerialNumber,
OrganizationalUnit: subject.OrganizationalUnits,
Locality: subject.Localities,
Province: subject.Provinces,
StreetAddress: subject.StreetAddresses,
PostalCode: subject.PostalCodes,
SerialNumber: subject.SerialNumber,
CommonName: commonName,
},
NotBefore: time.Now(),