aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJonathan M. Wilbur <jonathan@wilbur.space>2024-06-18 09:08:40 +0000
committerTomas Mraz <tomas@openssl.org>2024-06-24 15:33:21 +0200
commitbe5adfd6e36817fe8d5b5793f8c23189dc412045 (patch)
tree13c22ba4cf24d7598d6dffb8dfa517713cecfbc0 /test
parent8f250985ad1ac4efc25621ce2504c52ef0cbe283 (diff)
downloadopenssl-be5adfd6e36817fe8d5b5793f8c23189dc412045.zip
openssl-be5adfd6e36817fe8d5b5793f8c23189dc412045.tar.gz
openssl-be5adfd6e36817fe8d5b5793f8c23189dc412045.tar.bz2
Support subjectDirectoryAttributes and associatedInformation exts
Added tests for SDA and AI extensions. Added internal function ossl_print_attribute_value() with documentation. Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/24669)
Diffstat (limited to 'test')
-rw-r--r--test/certs/ext-associatedInformation.pem10
-rw-r--r--test/certs/ext-subjectDirectoryAttributes.pem10
-rw-r--r--test/recipes/25-test_x509.t53
3 files changed, 72 insertions, 1 deletions
diff --git a/test/certs/ext-associatedInformation.pem b/test/certs/ext-associatedInformation.pem
new file mode 100644
index 0000000..e9278e1
--- /dev/null
+++ b/test/certs/ext-associatedInformation.pem
@@ -0,0 +1,10 @@
+-----BEGIN CERTIFICATE-----
+MIIBYzCCAU2gAwIBAgIEDCI4TjANBgkqhkiG9w0BAQEFADARMQ8wDQYDVQQDDAZI
+aSBtb20wIhgPMjAyMjEwMjkwMTIzNDNaGA8yMDIyMTAyOTAxMjM0M1owETEPMA0G
+A1UEAwwGSGkgbW9tMAowBQYDKgMEAwEAo4HaMIHXMIHUBgNVHUsEgcwwgckwgX8G
+A1UEAzF4DAtTdGV2ZSBCcnVsZQwPRHIuIFN0ZXZlIEJydWxlDCJEci4gU3RldmUg
+QnJ1bGUsIGZyb20gQnJ1bGVzIFJ1bGVzDDRUaGUgZ2l2ZW5OYW1lIGF0dHJpYnV0
+ZSBiZWxvdyBpcyBpbnRlbnRpb25hbGx5IGVtcHR5MAwGA1UEajEFBgNVBAMwGgYD
+VQQgMRMwETEPMA0GA1UEAwwGSGkgbW9tMAcGA1UEKjEAMBIGA1UEBzELDAlGdW5r
+eXRvd24wDQYJKoZIhvcNAQEBBQADAQA=
+-----END CERTIFICATE-----
diff --git a/test/certs/ext-subjectDirectoryAttributes.pem b/test/certs/ext-subjectDirectoryAttributes.pem
new file mode 100644
index 0000000..4dcb43d
--- /dev/null
+++ b/test/certs/ext-subjectDirectoryAttributes.pem
@@ -0,0 +1,10 @@
+-----BEGIN CERTIFICATE-----
+MIIBYzCCAU2gAwIBAgIEDCI4TjANBgkqhkiG9w0BAQEFADARMQ8wDQYDVQQDDAZI
+aSBtb20wIhgPMjAyMjEwMjkwMTI0NDlaGA8yMDIyMTAyOTAxMjQ0OVowETEPMA0G
+A1UEAwwGSGkgbW9tMAowBQYDKgMEAwEAo4HaMIHXMIHUBgNVHQkEgcwwgckwgX8G
+A1UEAzF4DAtTdGV2ZSBCcnVsZQwPRHIuIFN0ZXZlIEJydWxlDCJEci4gU3RldmUg
+QnJ1bGUsIGZyb20gQnJ1bGVzIFJ1bGVzDDRUaGUgZ2l2ZW5OYW1lIGF0dHJpYnV0
+ZSBiZWxvdyBpcyBpbnRlbnRpb25hbGx5IGVtcHR5MAwGA1UEajEFBgNVBAMwGgYD
+VQQgMRMwETEPMA0GA1UEAwwGSGkgbW9tMAcGA1UEKjEAMBIGA1UEBzELDAlGdW5r
+eXRvd24wDQYJKoZIhvcNAQEBBQADAQA=
+-----END CERTIFICATE-----
diff --git a/test/recipes/25-test_x509.t b/test/recipes/25-test_x509.t
index f5e5919..579f902 100644
--- a/test/recipes/25-test_x509.t
+++ b/test/recipes/25-test_x509.t
@@ -16,7 +16,7 @@ use OpenSSL::Test qw/:DEFAULT srctop_file/;
setup("test_x509");
-plan tests => 66;
+plan tests => 82;
# Prevent MSys2 filename munging for arguments that look like file paths but
# aren't
@@ -193,6 +193,57 @@ cert_contains($dnc_cert,
cert_contains($dnc_cert,
"DirName:CN = Wildboar",
1, 'X.509 Delegated Name Constraint');
+my $sda_cert = srctop_file(@certs, "ext-subjectDirectoryAttributes.pem");
+cert_contains($sda_cert,
+ "Steve Brule",
+ 1, 'X.509 Subject Directory Attributes');
+cert_contains($sda_cert,
+ "CN=Hi mom",
+ 1, 'X.509 Subject Directory Attributes');
+cert_contains($sda_cert,
+ "<No Values>",
+ 1, 'X.509 Subject Directory Attributes');
+cert_contains($sda_cert,
+ "Funkytown",
+ 1, 'X.509 Subject Directory Attributes');
+cert_contains($sda_cert,
+ "commonName",
+ 1, 'X.509 Subject Directory Attributes');
+cert_contains($sda_cert,
+ "owner",
+ 1, 'X.509 Subject Directory Attributes');
+cert_contains($sda_cert,
+ "givenName",
+ 1, 'X.509 Subject Directory Attributes');
+cert_contains($sda_cert,
+ "localityName",
+ 1, 'X.509 Subject Directory Attributes');
+
+my $ass_info_cert = srctop_file(@certs, "ext-associatedInformation.pem");
+cert_contains($ass_info_cert,
+ "Steve Brule",
+ 1, 'X509v3 Associated Information');
+cert_contains($ass_info_cert,
+ "CN=Hi mom",
+ 1, 'X509v3 Associated Information');
+cert_contains($ass_info_cert,
+ "<No Values>",
+ 1, 'X509v3 Associated Information');
+cert_contains($ass_info_cert,
+ "Funkytown",
+ 1, 'X509v3 Associated Information');
+cert_contains($ass_info_cert,
+ "commonName",
+ 1, 'X509v3 Associated Information');
+cert_contains($ass_info_cert,
+ "owner",
+ 1, 'X509v3 Associated Information');
+cert_contains($sda_cert,
+ "givenName",
+ 1, 'X509v3 Associated Information');
+cert_contains($ass_info_cert,
+ "localityName",
+ 1, 'X509v3 Associated Information');
sub test_errors { # actually tests diagnostics of OSSL_STORE
my ($expected, $cert, @opts) = @_;