Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Side by Side Diff: net/data/verify_certificate_chain_unittest/target-not-end-entity.pem

Issue 2805213004: Refactor how net/data/verify_certificate_chain_unittest/* (Closed)
Patch Set: fix android Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 [Created by: generate-target-not-end-entity.py]
2
3 Certificate chain with 1 intermediate, a trusted root, and a target
4 certificate that is also a CA. Verification is expected to succeed, as the test
5 code accepts any target certificate.
6
7 Certificate:
8 Data:
9 Version: 3 (0x2)
10 Serial Number: 1 (0x1)
11 Signature Algorithm: sha256WithRSAEncryption
12 Issuer: CN=Intermediate
13 Validity
14 Not Before: Jan 1 12:00:00 2015 GMT
15 Not After : Jan 1 12:00:00 2016 GMT
16 Subject: CN=Target
17 Subject Public Key Info:
18 Public Key Algorithm: rsaEncryption
19 Public-Key: (2048 bit)
20 Modulus:
21 00:a5:45:4e:2d:c7:c9:c2:ab:e9:b7:ff:2f:3a:09:
22 f2:64:ea:bc:ea:9c:34:fa:39:c1:2d:c2:38:c3:51:
23 ec:7b:06:6e:21:c6:7b:a0:04:ec:e3:dd:5a:72:0a:
24 0f:bc:73:37:7f:01:7e:02:3d:d5:cb:7a:2d:cc:b3:
25 c7:d9:cb:44:0e:d6:a3:1d:dc:69:08:80:50:ce:2b:
26 9b:a3:8d:3f:4e:79:55:ea:cc:94:81:7a:9d:fc:54:
27 f5:15:9e:17:99:e2:30:9b:67:55:4c:79:cc:85:13:
28 ca:38:af:ec:df:a5:50:bc:b8:ff:0a:4e:12:be:5e:
29 de:64:d3:ac:7d:f5:cc:3f:9a:b5:94:32:75:65:8e:
30 47:b0:81:d7:c8:27:5f:7c:44:31:53:6d:93:36:6f:
31 54:99:dc:82:24:7c:ab:14:eb:67:2f:3b:10:a4:cb:
32 56:34:05:f4:b1:fc:12:42:dd:3c:dc:16:0f:d1:8f:
33 f0:87:fa:07:b4:fa:3d:7a:47:c0:dc:95:09:77:9c:
34 28:b3:a3:ae:9e:72:d3:bc:3b:a5:57:f7:31:3b:4f:
35 76:30:a2:43:56:74:f9:3b:7b:f7:ec:43:64:3e:56:
36 aa:93:53:d4:4a:5a:84:8b:fb:68:43:17:a4:20:13:
37 07:e0:aa:7f:b1:c3:36:15:8b:b3:ec:e2:e6:d6:4a:
38 5f:83
39 Exponent: 65537 (0x10001)
40 X509v3 extensions:
41 X509v3 Subject Key Identifier:
42 93:E1:6A:2B:C0:A8:CA:CA:A9:B3:28:0E:8B:11:FF:0B:B0:24:73:F6
43 X509v3 Authority Key Identifier:
44 keyid:9A:2E:6F:0B:96:F4:DF:5E:32:32:96:E5:03:2A:FA:DD:98:12:55:E E
45
46 Authority Information Access:
47 CA Issuers - URI:http://url-for-aia/Intermediate.cer
48
49 X509v3 CRL Distribution Points:
50
51 Full Name:
52 URI:http://url-for-crl/Intermediate.crl
53
54 X509v3 Key Usage: critical
55 Certificate Sign, CRL Sign
56 X509v3 Basic Constraints: critical
57 CA:TRUE
58 Signature Algorithm: sha256WithRSAEncryption
59 0a:2f:83:cb:88:bb:1b:0e:2f:37:60:34:ea:2b:8a:5b:cf:ae:
60 d7:f6:ab:f5:59:62:f9:f9:33:44:f8:e4:f7:1c:1a:91:52:d2:
61 c9:4d:f7:d5:8d:f8:d9:c3:24:5b:da:39:bb:6a:29:87:63:8d:
62 25:f2:a6:3a:49:ef:6c:8c:4a:f3:9a:fc:12:69:77:fe:f0:f0:
63 9d:6f:c3:c8:9e:c4:20:57:ae:4e:51:b8:d0:15:b2:a1:ee:24:
64 78:3a:38:c0:ae:c3:25:f9:ab:60:f2:44:39:c9:0d:a1:25:10:
65 42:cd:2e:f8:35:35:20:ab:46:85:0f:47:76:bc:fb:94:7f:55:
66 54:64:08:8c:86:97:da:da:e7:46:ab:42:c4:e8:8b:72:b6:5d:
67 be:c4:fd:b1:fc:c6:4c:f3:d7:24:48:8f:03:45:fa:f6:95:49:
68 20:c0:d2:42:a7:c1:59:a2:04:41:57:36:a8:56:b5:04:6a:2b:
69 01:e4:bb:ce:a2:d9:ae:c3:b0:11:bd:0e:ef:2f:3e:ec:21:ae:
70 b1:e3:91:4d:45:c0:05:eb:03:af:24:0e:d2:1f:4e:04:32:37:
71 7d:1c:1b:d8:fc:ff:f6:75:ac:76:31:e9:71:07:a5:38:54:52:
72 86:f0:27:9e:82:4b:77:f0:8d:5a:24:92:46:37:6e:d4:fa:fe:
73 f5:45:5a:fd
74 -----BEGIN CERTIFICATE-----
75 MIIDfzCCAmegAwIBAgIBATANBgkqhkiG9w0BAQsFADAXMRUwEwYDVQQDDAxJbnRl
76 cm1lZGlhdGUwHhcNMTUwMTAxMTIwMDAwWhcNMTYwMTAxMTIwMDAwWjARMQ8wDQYD
77 VQQDDAZUYXJnZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQClRU4t
78 x8nCq+m3/y86CfJk6rzqnDT6OcEtwjjDUex7Bm4hxnugBOzj3VpyCg+8czd/AX4C
79 PdXLei3Ms8fZy0QO1qMd3GkIgFDOK5ujjT9OeVXqzJSBep38VPUVnheZ4jCbZ1VM
80 ecyFE8o4r+zfpVC8uP8KThK+Xt5k06x99cw/mrWUMnVljkewgdfIJ198RDFTbZM2
81 b1SZ3IIkfKsU62cvOxCky1Y0BfSx/BJC3TzcFg/Rj/CH+ge0+j16R8DclQl3nCiz
82 o66ectO8O6VX9zE7T3YwokNWdPk7e/fsQ2Q+VqqTU9RKWoSL+2hDF6QgEwfgqn+x
83 wzYVi7Ps4ubWSl+DAgMBAAGjgdswgdgwHQYDVR0OBBYEFJPhaivAqMrKqbMoDosR
84 /wuwJHP2MB8GA1UdIwQYMBaAFJoubwuW9N9eMjKW5QMq+t2YElXuMD8GCCsGAQUF
85 BwEBBDMwMTAvBggrBgEFBQcwAoYjaHR0cDovL3VybC1mb3ItYWlhL0ludGVybWVk
86 aWF0ZS5jZXIwNAYDVR0fBC0wKzApoCegJYYjaHR0cDovL3VybC1mb3ItY3JsL0lu
87 dGVybWVkaWF0ZS5jcmwwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
88 DQYJKoZIhvcNAQELBQADggEBAAovg8uIuxsOLzdgNOorilvPrtf2q/VZYvn5M0T4
89 5PccGpFS0slN99WN+NnDJFvaObtqKYdjjSXypjpJ72yMSvOa/BJpd/7w8J1vw8ie
90 xCBXrk5RuNAVsqHuJHg6OMCuwyX5q2DyRDnJDaElEELNLvg1NSCrRoUPR3a8+5R/
91 VVRkCIyGl9ra50arQsToi3K2Xb7E/bH8xkzz1yRIjwNF+vaVSSDA0kKnwVmiBEFX
92 NqhWtQRqKwHku86i2a7DsBG9Du8vPuwhrrHjkU1FwAXrA68kDtIfTgQyN30cG9j8
93 //Z1rHYx6XEHpThUUobwJ56CS3fwjVokkkY3btT6/vVFWv0=
94 -----END CERTIFICATE-----
95
96 Certificate:
97 Data:
98 Version: 3 (0x2)
99 Serial Number: 2 (0x2)
100 Signature Algorithm: sha256WithRSAEncryption
101 Issuer: CN=Root
102 Validity
103 Not Before: Jan 1 12:00:00 2015 GMT
104 Not After : Jan 1 12:00:00 2016 GMT
105 Subject: CN=Intermediate
106 Subject Public Key Info:
107 Public Key Algorithm: rsaEncryption
108 Public-Key: (2048 bit)
109 Modulus:
110 00:b2:94:35:8b:85:75:a2:74:1e:b4:bd:5c:9b:e2:
111 7a:87:32:a1:df:63:d4:5c:10:c8:3c:c2:7e:aa:53:
112 09:d8:fa:ce:14:bd:80:a7:b3:cb:4b:84:af:fc:c8:
113 de:97:38:d8:17:cd:1d:6a:65:39:b5:27:36:bc:64:
114 9a:4f:2d:91:5f:34:2b:f2:83:fa:2b:ea:1c:6e:5f:
115 60:09:c3:70:94:0f:bd:0c:eb:e2:a0:ba:43:5a:3a:
116 dd:3e:02:99:52:4a:28:e2:e4:dc:18:95:3a:bd:44:
117 6f:c1:a2:3e:6f:43:57:60:a4:70:17:ae:42:d1:9c:
118 7c:08:7f:f0:77:93:78:59:b2:c4:39:db:28:cd:19:
119 42:78:c5:00:a2:3a:6f:ef:57:a7:22:d5:87:6a:26:
120 c4:d1:9f:18:70:05:43:9c:72:a1:03:79:47:ba:f5:
121 64:f9:0f:63:c1:fe:70:3f:f0:5c:92:44:e6:71:88:
122 0e:ec:13:0c:45:33:93:b8:3c:c2:fe:07:7d:0e:b2:
123 bb:2f:19:69:d0:d1:9c:77:77:48:54:ca:5d:0f:8e:
124 6d:8d:27:37:61:45:12:de:22:6c:da:2f:23:9f:d1:
125 0f:38:03:75:b4:53:ba:81:17:4a:83:93:19:4b:56:
126 4e:31:63:12:6f:89:5c:5c:7b:1b:49:fc:6a:a0:8a:
127 54:8d
128 Exponent: 65537 (0x10001)
129 X509v3 extensions:
130 X509v3 Subject Key Identifier:
131 9A:2E:6F:0B:96:F4:DF:5E:32:32:96:E5:03:2A:FA:DD:98:12:55:EE
132 X509v3 Authority Key Identifier:
133 keyid:19:FB:52:2E:B1:D7:76:19:DB:8B:05:83:BE:62:CA:0B:48:6E:75:0 E
134
135 Authority Information Access:
136 CA Issuers - URI:http://url-for-aia/Root.cer
137
138 X509v3 CRL Distribution Points:
139
140 Full Name:
141 URI:http://url-for-crl/Root.crl
142
143 X509v3 Key Usage: critical
144 Certificate Sign, CRL Sign
145 X509v3 Basic Constraints: critical
146 CA:TRUE
147 Signature Algorithm: sha256WithRSAEncryption
148 62:cb:d5:74:28:23:8d:84:32:c8:97:7b:16:cd:b6:fb:fd:f9:
149 8c:f7:ff:e3:5f:c0:b0:a3:2b:cf:70:4f:97:30:73:b7:52:6b:
150 1c:38:76:9c:f0:f3:c9:d4:95:6a:77:93:e1:6f:c4:63:1b:d0:
151 9b:52:4c:d5:e7:66:4c:78:41:6a:a5:c9:7a:11:fc:8b:17:1a:
152 67:35:78:5c:97:1b:df:e5:c0:57:87:98:04:ea:e7:f4:89:1d:
153 38:e3:a2:6f:0d:9d:2f:c6:de:ed:ac:2f:c1:a6:5c:17:1b:44:
154 2f:38:30:fa:e8:fb:1b:e3:1e:63:73:68:8a:b8:75:f8:e4:b4:
155 28:57:6c:20:1b:ec:2d:bf:bd:2e:24:7e:da:9c:6f:8a:f8:3c:
156 80:4f:c8:63:5a:09:ba:c3:33:73:9d:27:cf:e1:10:9f:71:20:
157 ae:63:bc:b5:6a:b6:90:ca:63:84:b4:ab:b8:e8:89:15:c0:b2:
158 17:e9:82:3f:51:46:5c:ff:2b:7c:08:03:6e:78:24:a1:5d:cd:
159 8d:11:5c:4f:a3:5f:d3:a5:d0:04:71:e3:75:83:7a:d1:57:8e:
160 bd:8d:c1:0d:1a:23:4c:22:6c:fb:63:dc:58:d2:6a:bc:d8:ef:
161 4f:ff:97:80:a8:da:8e:30:4d:9f:39:67:d0:77:81:1d:3a:76:
162 c4:28:91:14
163 -----BEGIN CERTIFICATE-----
164 MIIDbTCCAlWgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARSb290
165 MB4XDTE1MDEwMTEyMDAwMFoXDTE2MDEwMTEyMDAwMFowFzEVMBMGA1UEAwwMSW50
166 ZXJtZWRpYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAspQ1i4V1
167 onQetL1cm+J6hzKh32PUXBDIPMJ+qlMJ2PrOFL2Ap7PLS4Sv/MjelzjYF80damU5
168 tSc2vGSaTy2RXzQr8oP6K+ocbl9gCcNwlA+9DOvioLpDWjrdPgKZUkoo4uTcGJU6
169 vURvwaI+b0NXYKRwF65C0Zx8CH/wd5N4WbLEOdsozRlCeMUAojpv71enItWHaibE
170 0Z8YcAVDnHKhA3lHuvVk+Q9jwf5wP/BckkTmcYgO7BMMRTOTuDzC/gd9DrK7Lxlp
171 0NGcd3dIVMpdD45tjSc3YUUS3iJs2i8jn9EPOAN1tFO6gRdKg5MZS1ZOMWMSb4lc
172 XHsbSfxqoIpUjQIDAQABo4HLMIHIMB0GA1UdDgQWBBSaLm8LlvTfXjIyluUDKvrd
173 mBJV7jAfBgNVHSMEGDAWgBQZ+1Iusdd2GduLBYO+YsoLSG51DjA3BggrBgEFBQcB
174 AQQrMCkwJwYIKwYBBQUHMAKGG2h0dHA6Ly91cmwtZm9yLWFpYS9Sb290LmNlcjAs
175 BgNVHR8EJTAjMCGgH6AdhhtodHRwOi8vdXJsLWZvci1jcmwvUm9vdC5jcmwwDgYD
176 VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB
177 AGLL1XQoI42EMsiXexbNtvv9+Yz3/+NfwLCjK89wT5cwc7dSaxw4dpzw88nUlWp3
178 k+FvxGMb0JtSTNXnZkx4QWqlyXoR/IsXGmc1eFyXG9/lwFeHmATq5/SJHTjjom8N
179 nS/G3u2sL8GmXBcbRC84MPro+xvjHmNzaIq4dfjktChXbCAb7C2/vS4kftqcb4r4
180 PIBPyGNaCbrDM3OdJ8/hEJ9xIK5jvLVqtpDKY4S0q7joiRXAshfpgj9RRlz/K3wI
181 A254JKFdzY0RXE+jX9Ol0ARx43WDetFXjr2NwQ0aI0wibPtj3FjSarzY70//l4Co
182 2o4wTZ85Z9B3gR06dsQokRQ=
183 -----END CERTIFICATE-----
184
185 Certificate:
186 Data:
187 Version: 3 (0x2)
188 Serial Number: 1 (0x1)
189 Signature Algorithm: sha256WithRSAEncryption
190 Issuer: CN=Root
191 Validity
192 Not Before: Jan 1 12:00:00 2015 GMT
193 Not After : Jan 1 12:00:00 2016 GMT
194 Subject: CN=Root
195 Subject Public Key Info:
196 Public Key Algorithm: rsaEncryption
197 Public-Key: (2048 bit)
198 Modulus:
199 00:cd:cf:00:37:2d:30:07:b1:79:ce:1c:2f:e5:de:
200 14:66:f0:c4:c9:65:94:d5:d8:86:9b:f8:3e:fa:8f:
201 2a:f6:45:59:3f:2b:e2:ca:27:da:e1:63:8b:cd:3d:
202 9d:f7:9c:fd:a8:c0:34:87:d3:7a:ff:50:a2:43:8c:
203 96:db:d7:a9:43:bd:e9:f9:ac:f2:6c:85:e7:46:33:
204 4b:4b:32:2f:62:fb:86:5e:f7:70:74:24:b7:a7:9b:
205 f5:1c:ba:d2:06:93:d4:2c:7e:94:de:64:d4:df:a5:
206 d7:07:f0:57:32:76:e8:d8:dc:10:37:54:24:73:34:
207 1d:7f:fe:8a:5f:21:40:b4:cd:aa:ab:a6:ea:9b:f3:
208 6e:eb:45:0f:52:f2:0b:aa:5f:0c:bd:69:b4:bc:c5:
209 ba:eb:36:29:07:62:9c:f1:26:59:89:04:b7:87:c6:
210 5b:9e:e9:93:af:81:f2:29:21:8a:fc:99:93:2d:d9:
211 8a:0e:5a:43:b1:d8:31:42:e3:70:ab:5d:ed:7c:bc:
212 08:71:27:e9:8f:f2:ac:09:12:be:28:91:31:c7:89:
213 a4:e3:0a:07:e5:c0:f4:6c:fa:53:4f:1f:71:3a:42:
214 c7:b3:25:56:fc:69:ce:98:99:d6:fa:b4:e2:3d:c7:
215 4c:b8:f2:a9:c7:39:3e:dd:60:e6:06:dd:68:f9:ec:
216 55:3b
217 Exponent: 65537 (0x10001)
218 X509v3 extensions:
219 X509v3 Subject Key Identifier:
220 19:FB:52:2E:B1:D7:76:19:DB:8B:05:83:BE:62:CA:0B:48:6E:75:0E
221 X509v3 Authority Key Identifier:
222 keyid:19:FB:52:2E:B1:D7:76:19:DB:8B:05:83:BE:62:CA:0B:48:6E:75:0 E
223
224 Authority Information Access:
225 CA Issuers - URI:http://url-for-aia/Root.cer
226
227 X509v3 CRL Distribution Points:
228
229 Full Name:
230 URI:http://url-for-crl/Root.crl
231
232 X509v3 Key Usage: critical
233 Certificate Sign, CRL Sign
234 X509v3 Basic Constraints: critical
235 CA:TRUE
236 Signature Algorithm: sha256WithRSAEncryption
237 b3:d7:90:88:52:9f:73:87:34:23:30:0b:b9:e0:4d:2b:79:5a:
238 64:08:83:fd:ab:e7:f8:9a:18:23:10:37:13:fd:9d:1c:00:03:
239 29:6f:0d:98:03:4b:8b:9c:8e:49:01:0c:f4:c4:c2:b8:a1:f0:
240 57:fa:80:94:e2:19:30:cd:4c:8e:b8:0c:f7:f3:7d:57:0c:96:
241 c2:45:60:a1:97:6a:f7:5b:d3:c1:7b:ac:53:ea:da:31:0c:22:
242 7f:57:b6:f3:ec:f9:39:a4:ac:21:b4:95:7e:c2:e0:52:33:79:
243 b6:65:3d:9a:e1:ce:31:52:27:c2:88:ac:19:53:22:86:3b:cc:
244 a7:b4:32:97:b5:9b:fa:2e:cf:02:e3:a8:73:85:ab:13:cd:ca:
245 cd:3c:4c:64:97:b2:ff:7d:46:8a:31:b9:36:f6:bd:b0:4d:8c:
246 16:8f:62:12:6c:bd:95:9a:86:43:87:86:fd:c1:b8:e3:ba:dc:
247 4f:2d:7f:35:7e:62:08:d0:23:1c:b1:76:65:e0:42:62:9b:12:
248 95:8c:f7:b2:0d:36:2e:1d:a7:cb:3e:6f:35:86:cf:e1:5f:99:
249 cf:38:14:c0:14:31:e9:59:51:20:94:8a:7d:cc:25:d3:69:8c:
250 ac:41:3c:1e:05:ed:30:f5:ee:ef:ca:68:fe:f0:42:ff:0c:c9:
251 9f:fc:59:3b
252 -----BEGIN TRUST_ANCHOR_UNCONSTRAINED-----
253 MIIDZTCCAk2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARSb290
254 MB4XDTE1MDEwMTEyMDAwMFoXDTE2MDEwMTEyMDAwMFowDzENMAsGA1UEAwwEUm9v
255 dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM3PADctMAexec4cL+Xe
256 FGbwxMlllNXYhpv4PvqPKvZFWT8r4son2uFji809nfec/ajANIfTev9QokOMltvX
257 qUO96fms8myF50YzS0syL2L7hl73cHQkt6eb9Ry60gaT1Cx+lN5k1N+l1wfwVzJ2
258 6NjcEDdUJHM0HX/+il8hQLTNqqum6pvzbutFD1LyC6pfDL1ptLzFuus2KQdinPEm
259 WYkEt4fGW57pk6+B8ikhivyZky3Zig5aQ7HYMULjcKtd7Xy8CHEn6Y/yrAkSviiR
260 MceJpOMKB+XA9Gz6U08fcTpCx7MlVvxpzpiZ1vq04j3HTLjyqcc5Pt1g5gbdaPns
261 VTsCAwEAAaOByzCByDAdBgNVHQ4EFgQUGftSLrHXdhnbiwWDvmLKC0hudQ4wHwYD
262 VR0jBBgwFoAUGftSLrHXdhnbiwWDvmLKC0hudQ4wNwYIKwYBBQUHAQEEKzApMCcG
263 CCsGAQUFBzAChhtodHRwOi8vdXJsLWZvci1haWEvUm9vdC5jZXIwLAYDVR0fBCUw
264 IzAhoB+gHYYbaHR0cDovL3VybC1mb3ItY3JsL1Jvb3QuY3JsMA4GA1UdDwEB/wQE
265 AwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCz15CIUp9z
266 hzQjMAu54E0reVpkCIP9q+f4mhgjEDcT/Z0cAAMpbw2YA0uLnI5JAQz0xMK4ofBX
267 +oCU4hkwzUyOuAz3831XDJbCRWChl2r3W9PBe6xT6toxDCJ/V7bz7Pk5pKwhtJV+
268 wuBSM3m2ZT2a4c4xUifCiKwZUyKGO8yntDKXtZv6Ls8C46hzhasTzcrNPExkl7L/
269 fUaKMbk29r2wTYwWj2ISbL2VmoZDh4b9wbjjutxPLX81fmII0CMcsXZl4EJimxKV
270 jPeyDTYuHafLPm81hs/hX5nPOBTAFDHpWVEglIp9zCXTaYysQTweBe0w9e7vymj+
271 8EL/DMmf/Fk7
272 -----END TRUST_ANCHOR_UNCONSTRAINED-----
273
274 150302120000Z
275 -----BEGIN TIME-----
276 MTUwMzAyMTIwMDAwWg==
277 -----END TIME-----
278
279 SUCCESS
280 -----BEGIN VERIFY_RESULT-----
281 U1VDQ0VTUw==
282 -----END VERIFY_RESULT-----
283
284 serverAuth
285 -----BEGIN KEY_PURPOSE-----
286 c2VydmVyQXV0aA==
287 -----END KEY_PURPOSE-----
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698