@@ -89,6 +89,20 @@ public static function crlDistributionPointExtractionProvider(): array {
8989 true ,
9090 ['ldap://ldap.example.net/cn=CA,dc=example,dc=net?certificateRevocationList;binary ' ],
9191 ],
92+ 'uri-with-tabs-and-extra-whitespace ' => [
93+ [
94+ '2.5.29.31 ' => "Full Name: \n\tURI \t: \t https://example.org/crl/with-tabs.crl " ,
95+ ],
96+ true ,
97+ ['https://example.org/crl/with-tabs.crl ' ],
98+ ],
99+ 'uri-line-with-closing-parenthesis-from-formatted-output ' => [
100+ [
101+ '2.5.29.31 ' => "Distribution Point (1): \nURI:https://example.org/crl/formatted.crl) " ,
102+ ],
103+ true ,
104+ ['https://example.org/crl/formatted.crl ' ],
105+ ],
92106 'multiple-supported-extension-keys-are-merged-and-deduplicated ' => [
93107 [
94108 '2.5.29.31 ' => "Full Name: \nURI:https://example.org/crl/shared.crl " ,
@@ -118,6 +132,24 @@ public static function crlDistributionPointExtractionProvider(): array {
118132 true ,
119133 [],
120134 ],
135+ 'known-extension-with-general-names-but-no-uri ' => [
136+ [
137+ 'X509v3 CRL Distribution Points ' => "Full Name: \nDNS:crl.example.org \nDirName:/C=BR/O=Example/CN=CRL Directory " ,
138+ ],
139+ true ,
140+ [],
141+ ],
142+ 'multiple-supported-keys-preserve-first-seen-order ' => [
143+ [
144+ 'crlDistributionPoints ' => "Full Name: \nURI:https://example.org/crl/first.crl " ,
145+ '2.5.29.31 ' => "Full Name: \nURI:https://example.org/crl/second.crl " ,
146+ ],
147+ true ,
148+ [
149+ 'https://example.org/crl/first.crl ' ,
150+ 'https://example.org/crl/second.crl ' ,
151+ ],
152+ ],
121153 'unknown-extension-name-should-not-match ' => [
122154 [
123155 'Issuer CRL Distribution Points ' => "Full Name: \nURI:https://example.org/crl/issuer.crl " ,
0 commit comments