Skip to content

Commit b0678ea

Browse files
committed
Fix OpenSSL version-dependent diff. "Time Stamp signing" is not in openssl 0.9. Skip current test for 0.9. New test for 0.9 approved by Stas
1 parent e2ab222 commit b0678ea

File tree

2 files changed

+279
-1
lines changed

2 files changed

+279
-1
lines changed

ext/openssl/tests/openssl_x509_parse_basic.phpt

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
--TEST--
22
openssl_x509_parse() basic test
33
--SKIPIF--
4-
<?php if (!extension_loaded("openssl")) print "skip"; ?>
4+
<?php if (!extension_loaded("openssl")) print "skip";
5+
if (OPENSSL_VERSION_NUMBER < 0x10000000) die("skip Output requires OpenSSL 1.0");
6+
?>
57
--FILE--
68
<?php
79
$cert = "file://" . dirname(__FILE__) . "/cert.crt";
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
--TEST--
2+
openssl_x509_parse() basic test for OpenSSL 0.9
3+
--SKIPIF--
4+
<?php if (!extension_loaded("openssl")) print "skip";
5+
if (OPENSSL_VERSION_NUMBER > 0x10000000) die("skip Output requires OpenSSL 0.9");
6+
?>
7+
--FILE--
8+
<?php
9+
$cert = "file://" . dirname(__FILE__) . "/cert.crt";
10+
11+
var_dump(openssl_x509_parse($cert));
12+
var_dump(openssl_x509_parse($cert, false));
13+
?>
14+
--EXPECTF--
15+
array(12) {
16+
["name"]=>
17+
string(96) "/C=BR/ST=Rio Grande do Sul/L=Porto Alegre/CN=Henrique do N. Angelo/emailAddress=hnangelo@php.net"
18+
["subject"]=>
19+
array(5) {
20+
["C"]=>
21+
string(2) "BR"
22+
["ST"]=>
23+
string(17) "Rio Grande do Sul"
24+
["L"]=>
25+
string(12) "Porto Alegre"
26+
["CN"]=>
27+
string(21) "Henrique do N. Angelo"
28+
["emailAddress"]=>
29+
string(16) "hnangelo@php.net"
30+
}
31+
["hash"]=>
32+
string(8) "%s"
33+
["issuer"]=>
34+
array(5) {
35+
["C"]=>
36+
string(2) "BR"
37+
["ST"]=>
38+
string(17) "Rio Grande do Sul"
39+
["L"]=>
40+
string(12) "Porto Alegre"
41+
["CN"]=>
42+
string(21) "Henrique do N. Angelo"
43+
["emailAddress"]=>
44+
string(16) "hnangelo@php.net"
45+
}
46+
["version"]=>
47+
int(2)
48+
["serialNumber"]=>
49+
string(20) "12593567369101004962"
50+
["validFrom"]=>
51+
string(13) "080630102843Z"
52+
["validTo"]=>
53+
string(13) "080730102843Z"
54+
["validFrom_time_t"]=>
55+
int(1214821723)
56+
["validTo_time_t"]=>
57+
int(1217413723)
58+
["purposes"]=>
59+
array(8) {
60+
[1]=>
61+
array(3) {
62+
[0]=>
63+
bool(true)
64+
[1]=>
65+
bool(true)
66+
[2]=>
67+
string(9) "sslclient"
68+
}
69+
[2]=>
70+
array(3) {
71+
[0]=>
72+
bool(true)
73+
[1]=>
74+
bool(true)
75+
[2]=>
76+
string(9) "sslserver"
77+
}
78+
[3]=>
79+
array(3) {
80+
[0]=>
81+
bool(true)
82+
[1]=>
83+
bool(true)
84+
[2]=>
85+
string(11) "nssslserver"
86+
}
87+
[4]=>
88+
array(3) {
89+
[0]=>
90+
bool(true)
91+
[1]=>
92+
bool(true)
93+
[2]=>
94+
string(9) "smimesign"
95+
}
96+
[5]=>
97+
array(3) {
98+
[0]=>
99+
bool(true)
100+
[1]=>
101+
bool(true)
102+
[2]=>
103+
string(12) "smimeencrypt"
104+
}
105+
[6]=>
106+
array(3) {
107+
[0]=>
108+
bool(true)
109+
[1]=>
110+
bool(true)
111+
[2]=>
112+
string(7) "crlsign"
113+
}
114+
[7]=>
115+
array(3) {
116+
[0]=>
117+
bool(true)
118+
[1]=>
119+
bool(true)
120+
[2]=>
121+
string(3) "any"
122+
}
123+
[8]=>
124+
array(3) {
125+
[0]=>
126+
bool(true)
127+
[1]=>
128+
bool(true)
129+
[2]=>
130+
string(10) "ocsphelper"
131+
}
132+
}
133+
["extensions"]=>
134+
array(3) {
135+
["subjectKeyIdentifier"]=>
136+
string(59) "DB:7E:40:72:BD:5C:35:85:EC:29:29:81:12:E8:62:68:6A:B7:3F:7D"
137+
["authorityKeyIdentifier"]=>
138+
string(202) "keyid:DB:7E:40:72:BD:5C:35:85:EC:29:29:81:12:E8:62:68:6A:B7:3F:7D
139+
DirName:/C=BR/ST=Rio Grande do Sul/L=Porto Alegre/CN=Henrique do N. Angelo/emailAddress=hnangelo@php.net
140+
serial:AE:C5:56:CC:72:37:50:A2
141+
"
142+
["basicConstraints"]=>
143+
string(7) "CA:TRUE"
144+
}
145+
}
146+
array(12) {
147+
["name"]=>
148+
string(96) "/C=BR/ST=Rio Grande do Sul/L=Porto Alegre/CN=Henrique do N. Angelo/emailAddress=hnangelo@php.net"
149+
["subject"]=>
150+
array(5) {
151+
["countryName"]=>
152+
string(2) "BR"
153+
["stateOrProvinceName"]=>
154+
string(17) "Rio Grande do Sul"
155+
["localityName"]=>
156+
string(12) "Porto Alegre"
157+
["commonName"]=>
158+
string(21) "Henrique do N. Angelo"
159+
["emailAddress"]=>
160+
string(16) "hnangelo@php.net"
161+
}
162+
["hash"]=>
163+
string(8) "%s"
164+
["issuer"]=>
165+
array(5) {
166+
["countryName"]=>
167+
string(2) "BR"
168+
["stateOrProvinceName"]=>
169+
string(17) "Rio Grande do Sul"
170+
["localityName"]=>
171+
string(12) "Porto Alegre"
172+
["commonName"]=>
173+
string(21) "Henrique do N. Angelo"
174+
["emailAddress"]=>
175+
string(16) "hnangelo@php.net"
176+
}
177+
["version"]=>
178+
int(2)
179+
["serialNumber"]=>
180+
string(20) "12593567369101004962"
181+
["validFrom"]=>
182+
string(13) "080630102843Z"
183+
["validTo"]=>
184+
string(13) "080730102843Z"
185+
["validFrom_time_t"]=>
186+
int(1214821723)
187+
["validTo_time_t"]=>
188+
int(1217413723)
189+
["purposes"]=>
190+
array(8) {
191+
[1]=>
192+
array(3) {
193+
[0]=>
194+
bool(true)
195+
[1]=>
196+
bool(true)
197+
[2]=>
198+
string(10) "SSL client"
199+
}
200+
[2]=>
201+
array(3) {
202+
[0]=>
203+
bool(true)
204+
[1]=>
205+
bool(true)
206+
[2]=>
207+
string(10) "SSL server"
208+
}
209+
[3]=>
210+
array(3) {
211+
[0]=>
212+
bool(true)
213+
[1]=>
214+
bool(true)
215+
[2]=>
216+
string(19) "Netscape SSL server"
217+
}
218+
[4]=>
219+
array(3) {
220+
[0]=>
221+
bool(true)
222+
[1]=>
223+
bool(true)
224+
[2]=>
225+
string(14) "S/MIME signing"
226+
}
227+
[5]=>
228+
array(3) {
229+
[0]=>
230+
bool(true)
231+
[1]=>
232+
bool(true)
233+
[2]=>
234+
string(17) "S/MIME encryption"
235+
}
236+
[6]=>
237+
array(3) {
238+
[0]=>
239+
bool(true)
240+
[1]=>
241+
bool(true)
242+
[2]=>
243+
string(11) "CRL signing"
244+
}
245+
[7]=>
246+
array(3) {
247+
[0]=>
248+
bool(true)
249+
[1]=>
250+
bool(true)
251+
[2]=>
252+
string(11) "Any Purpose"
253+
}
254+
[8]=>
255+
array(3) {
256+
[0]=>
257+
bool(true)
258+
[1]=>
259+
bool(true)
260+
[2]=>
261+
string(11) "OCSP helper"
262+
}
263+
}
264+
["extensions"]=>
265+
array(3) {
266+
["subjectKeyIdentifier"]=>
267+
string(59) "DB:7E:40:72:BD:5C:35:85:EC:29:29:81:12:E8:62:68:6A:B7:3F:7D"
268+
["authorityKeyIdentifier"]=>
269+
string(202) "keyid:DB:7E:40:72:BD:5C:35:85:EC:29:29:81:12:E8:62:68:6A:B7:3F:7D
270+
DirName:/C=BR/ST=Rio Grande do Sul/L=Porto Alegre/CN=Henrique do N. Angelo/emailAddress=hnangelo@php.net
271+
serial:AE:C5:56:CC:72:37:50:A2
272+
"
273+
["basicConstraints"]=>
274+
string(7) "CA:TRUE"
275+
}
276+
}

0 commit comments

Comments
 (0)