fix CertificateOrganization matcher

Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>
This commit is contained in:
Tim Ramlot 2024-06-19 17:33:38 +02:00
parent 3703b07eba
commit ecf7b155ee
No known key found for this signature in database
GPG Key ID: 47428728E0C2878D

View File

@ -138,6 +138,22 @@ func ExpectCertificateOrganizationToMatch(certificate *cmapi.Certificate, secret
if certificate.Spec.Subject != nil {
expectedOrganization = certificate.Spec.Subject.Organizations
}
if certificate.Spec.LiteralSubject != "" {
sequence, err := pki.UnmarshalSubjectStringToRDNSequence(certificate.Spec.LiteralSubject)
if err != nil {
return err
}
for _, rdns := range sequence {
for _, atv := range rdns {
if atv.Type.Equal(pki.OIDConstants.Organization) {
if str, ok := atv.Value.(string); ok {
expectedOrganization = append(expectedOrganization, str)
}
}
}
}
}
if !util.EqualUnsorted(cert.Subject.Organization, expectedOrganization) {
return fmt.Errorf("Expected certificate valid for O %v, but got a certificate valid for O %v", expectedOrganization, cert.Subject.Organization)