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

Unified Diff: net/data/verify_certificate_chain_unittest/target-and-intermediate.pem

Issue 2805213004: Refactor how net/data/verify_certificate_chain_unittest/* (Closed)
Patch Set: fix android Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: net/data/verify_certificate_chain_unittest/target-and-intermediate.pem
diff --git a/net/data/verify_certificate_chain_unittest/target-and-intermediate.pem b/net/data/verify_certificate_chain_unittest/target-and-intermediate.pem
deleted file mode 100644
index f375653c2717a2dc7c60795b64634553493334dd..0000000000000000000000000000000000000000
--- a/net/data/verify_certificate_chain_unittest/target-and-intermediate.pem
+++ /dev/null
@@ -1,287 +0,0 @@
-[Created by: generate-target-and-intermediate.py]
-
-Certificate chain with 1 intermediate and a trusted root. Verification is
-expected to succeed.
-
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 1 (0x1)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: CN=Intermediate
- Validity
- Not Before: Jan 1 12:00:00 2015 GMT
- Not After : Jan 1 12:00:00 2016 GMT
- Subject: CN=Target
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:ca:19:b1:9d:8f:85:f5:a4:a8:8a:0d:d3:7f:f3:
- 67:67:b1:d1:db:3d:69:8c:fa:bb:53:58:28:50:14:
- 2f:06:aa:7e:f5:c6:06:4d:7d:76:9f:ee:33:d8:c8:
- 6c:16:e8:65:df:d0:c0:9a:62:49:60:2a:d9:53:b6:
- 6d:c6:27:32:13:58:b2:c3:64:63:61:bf:6b:40:ea:
- 24:9c:a6:15:ae:2b:38:e7:70:58:12:46:92:5f:a5:
- 70:6c:ea:50:3c:7b:9b:33:50:54:93:a4:9c:41:e0:
- 40:7e:18:87:8a:52:d5:1d:66:f3:f0:f7:54:3f:55:
- 61:f5:66:1c:a6:0d:73:57:a3:78:1a:4c:99:7d:77:
- e0:aa:c5:c5:5e:49:21:35:4e:47:3d:61:7d:43:9b:
- e0:94:28:b7:65:4d:cf:7e:52:2c:2a:b3:93:94:8b:
- 0f:04:f6:45:20:83:97:b7:a4:dd:ef:8d:1f:c7:c5:
- 29:d4:55:9f:a3:90:38:14:46:f6:7e:13:9e:99:6d:
- 41:b0:c4:00:69:58:e6:7f:ac:a5:0a:e4:ad:c8:e3:
- c1:a1:2a:a1:77:83:e9:f0:d1:c2:5b:48:10:33:59:
- 4e:8d:0e:d7:01:0a:3c:11:e0:bf:cf:e8:2f:47:4b:
- f6:d6:95:4d:c0:73:a7:b5:21:a4:0a:98:dc:fa:9b:
- 0d:87
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Subject Key Identifier:
- 4A:80:F9:C0:2F:58:C5:F9:EB:98:BA:65:70:D0:81:0A:DA:16:C3:E0
- X509v3 Authority Key Identifier:
- keyid:F3:3D:8D:B6:D6:56:60:17:BC:E3:79:08:BF:E8:D0:61:78:8E:0C:00
-
- Authority Information Access:
- CA Issuers - URI:http://url-for-aia/Intermediate.cer
-
- X509v3 CRL Distribution Points:
-
- Full Name:
- URI:http://url-for-crl/Intermediate.crl
-
- X509v3 Key Usage: critical
- Digital Signature, Key Encipherment
- X509v3 Extended Key Usage:
- TLS Web Server Authentication, TLS Web Client Authentication
- Signature Algorithm: sha256WithRSAEncryption
- 40:c4:b6:8f:38:86:b6:cb:12:8a:a8:d7:6a:0d:ba:c4:cd:9c:
- 5c:fb:e5:d7:aa:e2:b2:cb:45:2c:6e:ba:8f:fc:cb:fd:46:65:
- da:db:b2:db:6c:1b:33:94:b3:22:af:48:3d:e4:12:f9:95:aa:
- 77:f8:ee:c7:94:8c:e9:f7:38:a4:d7:0e:32:77:ca:58:86:6e:
- 81:7f:57:b0:a0:a9:40:8a:ef:57:0a:36:09:7c:e9:7a:93:d7:
- 62:70:68:fb:02:8a:03:40:7d:9b:00:58:e0:ac:31:9b:a4:e7:
- a6:a1:ea:bf:93:47:b6:46:37:6d:84:a6:87:ec:cf:48:de:b8:
- 17:ef:4b:8a:6f:02:0f:8a:4f:b0:28:1d:58:6f:16:da:72:97:
- 3f:e3:a4:75:bc:7f:bb:a9:ff:65:c4:6f:5f:a0:a1:df:b6:67:
- 82:82:26:95:9e:43:72:c8:b0:63:b5:67:21:1b:59:5c:2e:72:
- 62:26:a5:c6:74:c6:07:ec:2b:30:ef:44:cb:b8:11:2d:2c:03:
- ba:60:c3:c2:c6:8d:21:f6:93:30:da:a4:0b:b7:0f:55:5a:2f:
- e7:14:76:7b:da:9f:f9:5b:1c:3c:06:d2:53:81:bb:23:60:05:
- d2:a8:d1:3c:e8:5f:73:43:c4:f1:c6:47:73:5d:a6:af:b0:c7:
- 18:ac:b4:d6
------BEGIN CERTIFICATE-----
-MIIDjTCCAnWgAwIBAgIBATANBgkqhkiG9w0BAQsFADAXMRUwEwYDVQQDDAxJbnRl
-cm1lZGlhdGUwHhcNMTUwMTAxMTIwMDAwWhcNMTYwMTAxMTIwMDAwWjARMQ8wDQYD
-VQQDDAZUYXJnZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKGbGd
-j4X1pKiKDdN/82dnsdHbPWmM+rtTWChQFC8Gqn71xgZNfXaf7jPYyGwW6GXf0MCa
-YklgKtlTtm3GJzITWLLDZGNhv2tA6iScphWuKzjncFgSRpJfpXBs6lA8e5szUFST
-pJxB4EB+GIeKUtUdZvPw91Q/VWH1ZhymDXNXo3gaTJl9d+CqxcVeSSE1Tkc9YX1D
-m+CUKLdlTc9+Uiwqs5OUiw8E9kUgg5e3pN3vjR/HxSnUVZ+jkDgURvZ+E56ZbUGw
-xABpWOZ/rKUK5K3I48GhKqF3g+nw0cJbSBAzWU6NDtcBCjwR4L/P6C9HS/bWlU3A
-c6e1IaQKmNz6mw2HAgMBAAGjgekwgeYwHQYDVR0OBBYEFEqA+cAvWMX565i6ZXDQ
-gQraFsPgMB8GA1UdIwQYMBaAFPM9jbbWVmAXvON5CL/o0GF4jgwAMD8GCCsGAQUF
-BwEBBDMwMTAvBggrBgEFBQcwAoYjaHR0cDovL3VybC1mb3ItYWlhL0ludGVybWVk
-aWF0ZS5jZXIwNAYDVR0fBC0wKzApoCegJYYjaHR0cDovL3VybC1mb3ItY3JsL0lu
-dGVybWVkaWF0ZS5jcmwwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUF
-BwMBBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOCAQEAQMS2jziGtssSiqjXag26
-xM2cXPvl16risstFLG66j/zL/UZl2tuy22wbM5SzIq9IPeQS+ZWqd/jux5SM6fc4
-pNcOMnfKWIZugX9XsKCpQIrvVwo2CXzpepPXYnBo+wKKA0B9mwBY4Kwxm6TnpqHq
-v5NHtkY3bYSmh+zPSN64F+9Lim8CD4pPsCgdWG8W2nKXP+Okdbx/u6n/ZcRvX6Ch
-37ZngoImlZ5DcsiwY7VnIRtZXC5yYialxnTGB+wrMO9Ey7gRLSwDumDDwsaNIfaT
-MNqkC7cPVVov5xR2e9qf+VscPAbSU4G7I2AF0qjRPOhfc0PE8cZHc12mr7DHGKy0
-1g==
------END CERTIFICATE-----
-
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 2 (0x2)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: CN=Root
- Validity
- Not Before: Jan 1 12:00:00 2015 GMT
- Not After : Jan 1 12:00:00 2016 GMT
- Subject: CN=Intermediate
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:bc:ef:ca:8a:95:3f:19:1b:19:eb:4e:fe:3d:fe:
- 02:be:20:db:89:a3:06:b7:99:d8:af:c7:9a:a9:4d:
- b8:82:5d:6a:06:66:fd:4d:b0:c9:f6:07:27:96:bd:
- 31:1c:77:f4:04:ba:fe:d4:25:46:02:9a:8a:88:bd:
- e7:c3:dc:61:0a:78:26:db:b6:9e:ff:43:cd:ed:ea:
- c0:67:f0:3d:e3:f5:d9:5a:ec:db:ac:ef:06:2d:6e:
- 37:fc:8d:c5:d3:a0:b0:d4:60:4e:0d:f8:ab:fa:68:
- 1a:36:2b:ce:bb:91:14:3b:0e:16:1c:0b:c9:c4:46:
- e7:c2:1a:86:cc:ad:07:68:eb:cb:6e:93:37:cc:1a:
- cc:59:de:9a:12:ec:3c:0f:eb:bf:8c:f7:76:0f:7e:
- f5:89:f9:85:0c:21:95:af:ac:3c:a2:9d:9e:ba:d3:
- 06:aa:50:2d:25:c0:02:a8:a5:97:cf:7a:b3:ad:78:
- c5:30:95:be:ce:0a:26:bd:4f:e2:5f:51:c6:f0:b9:
- a1:bd:24:32:07:0d:b7:1b:2c:b2:ec:c8:c8:ef:77:
- 8f:ab:6f:e9:e2:66:d9:30:02:49:96:11:16:ed:e2:
- e8:85:cd:48:d6:a9:b1:20:02:95:ff:1b:79:9d:6b:
- 21:6b:bd:d3:27:94:19:67:b1:9f:aa:06:d6:8c:69:
- 11:33
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Subject Key Identifier:
- F3:3D:8D:B6:D6:56:60:17:BC:E3:79:08:BF:E8:D0:61:78:8E:0C:00
- X509v3 Authority Key Identifier:
- keyid:EE:92:48:AE:86:AC:68:E4:9E:C1:3D:D4:4C:34:B2:DF:8A:5D:FF:8C
-
- Authority Information Access:
- CA Issuers - URI:http://url-for-aia/Root.cer
-
- X509v3 CRL Distribution Points:
-
- Full Name:
- URI:http://url-for-crl/Root.crl
-
- X509v3 Key Usage: critical
- Certificate Sign, CRL Sign
- X509v3 Basic Constraints: critical
- CA:TRUE
- Signature Algorithm: sha256WithRSAEncryption
- 22:28:99:1c:11:76:10:41:80:31:0d:0d:02:b1:56:c6:c1:de:
- 9c:1c:e4:74:25:f4:ab:76:6d:f5:3b:39:e7:46:e4:26:8d:0f:
- ad:c8:ac:f4:e3:e3:a6:77:b7:33:38:40:96:65:b9:73:04:28:
- 3e:2f:8d:4b:75:76:8e:20:aa:4a:2c:68:c1:bd:11:1a:fe:67:
- 55:6b:f2:a3:fa:58:ec:b4:c7:3c:67:49:57:65:f4:b7:bd:82:
- be:c2:c8:d5:df:fd:a4:8c:c8:c3:4f:9b:3f:59:49:dc:53:5e:
- a2:8f:1a:75:9f:24:93:d6:02:0e:0e:f0:6a:74:d5:e8:89:2a:
- 9f:f0:77:cf:63:0d:a7:ca:4f:ec:71:1f:b6:a3:dd:ea:d1:83:
- 73:d7:1b:d7:61:b1:ed:ec:e2:2a:6d:d9:57:d6:43:f9:09:e8:
- 2c:1e:a2:f8:8a:98:77:b9:3f:e5:5f:1a:79:b6:46:fe:c5:06:
- 2c:19:9e:7d:0b:91:ce:c8:df:30:da:3f:46:37:e2:a0:f4:b9:
- f4:c5:b8:d9:c3:84:7f:88:68:1b:41:fd:4f:d1:cd:55:15:c8:
- bb:5a:d1:03:ff:5b:27:c6:e5:6e:74:49:3e:a1:3c:4e:74:19:
- b5:fe:62:dc:82:08:08:e5:4e:17:fb:88:93:82:d9:79:d7:67:
- 7b:94:ee:cd
------BEGIN CERTIFICATE-----
-MIIDbTCCAlWgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARSb290
-MB4XDTE1MDEwMTEyMDAwMFoXDTE2MDEwMTEyMDAwMFowFzEVMBMGA1UEAwwMSW50
-ZXJtZWRpYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvO/KipU/
-GRsZ607+Pf4CviDbiaMGt5nYr8eaqU24gl1qBmb9TbDJ9gcnlr0xHHf0BLr+1CVG
-ApqKiL3nw9xhCngm27ae/0PN7erAZ/A94/XZWuzbrO8GLW43/I3F06Cw1GBODfir
-+mgaNivOu5EUOw4WHAvJxEbnwhqGzK0HaOvLbpM3zBrMWd6aEuw8D+u/jPd2D371
-ifmFDCGVr6w8op2eutMGqlAtJcACqKWXz3qzrXjFMJW+zgomvU/iX1HG8LmhvSQy
-Bw23Gyyy7MjI73ePq2/p4mbZMAJJlhEW7eLohc1I1qmxIAKV/xt5nWsha73TJ5QZ
-Z7GfqgbWjGkRMwIDAQABo4HLMIHIMB0GA1UdDgQWBBTzPY221lZgF7zjeQi/6NBh
-eI4MADAfBgNVHSMEGDAWgBTukkiuhqxo5J7BPdRMNLLfil3/jDA3BggrBgEFBQcB
-AQQrMCkwJwYIKwYBBQUHMAKGG2h0dHA6Ly91cmwtZm9yLWFpYS9Sb290LmNlcjAs
-BgNVHR8EJTAjMCGgH6AdhhtodHRwOi8vdXJsLWZvci1jcmwvUm9vdC5jcmwwDgYD
-VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB
-ACIomRwRdhBBgDENDQKxVsbB3pwc5HQl9Kt2bfU7OedG5CaND63IrPTj46Z3tzM4
-QJZluXMEKD4vjUt1do4gqkosaMG9ERr+Z1Vr8qP6WOy0xzxnSVdl9Le9gr7CyNXf
-/aSMyMNPmz9ZSdxTXqKPGnWfJJPWAg4O8Gp01eiJKp/wd89jDafKT+xxH7aj3erR
-g3PXG9dhse3s4ipt2VfWQ/kJ6CweoviKmHe5P+VfGnm2Rv7FBiwZnn0Lkc7I3zDa
-P0Y34qD0ufTFuNnDhH+IaBtB/U/RzVUVyLta0QP/WyfG5W50ST6hPE50GbX+YtyC
-CAjlThf7iJOC2XnXZ3uU7s0=
------END CERTIFICATE-----
-
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 1 (0x1)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: CN=Root
- Validity
- Not Before: Jan 1 12:00:00 2015 GMT
- Not After : Jan 1 12:00:00 2016 GMT
- Subject: CN=Root
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:9b:9e:4a:8e:cd:47:0e:a6:2f:17:ad:24:c7:d6:
- c7:40:5f:ba:90:b2:2c:4b:57:5c:3e:f2:de:80:f6:
- fd:f2:28:12:9c:92:63:4a:11:c6:bb:74:d7:ad:ec:
- 3e:9d:1a:7f:0a:30:98:df:1f:a2:98:11:a6:60:6f:
- 69:5f:dd:28:35:06:39:b6:e2:91:df:59:be:07:c5:
- 52:57:84:a4:ae:cb:5b:9b:b3:aa:56:77:fd:00:1a:
- 55:96:00:27:12:6e:d1:f6:35:ff:a3:fa:b6:0b:0e:
- 2a:46:75:6b:58:27:a6:a1:43:ba:37:74:1d:28:1a:
- 3d:bf:e6:f2:10:bf:2c:ce:24:67:03:4e:4e:fc:aa:
- 51:22:25:f8:e5:75:5c:c3:ad:da:03:56:b4:1b:8a:
- 6f:26:e5:c8:ef:43:a9:d7:81:8b:0f:b1:8b:d6:cd:
- 11:e9:4c:0c:cb:a2:ab:fa:34:2a:13:aa:a4:db:83:
- 9c:d8:a6:45:ec:f5:fa:d0:cd:b0:6b:7a:1b:0e:ca:
- d3:31:4b:cb:53:f1:5c:82:8c:96:f7:ca:b6:40:53:
- d0:24:67:27:1a:8d:1a:f7:65:c9:a1:fc:f9:f4:85:
- 3c:51:3c:fc:56:87:18:bf:a3:d5:dd:de:8e:e6:3b:
- 67:29:e9:fd:4b:4f:ba:1a:ff:d7:ec:f1:da:bd:56:
- 48:2b
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Subject Key Identifier:
- EE:92:48:AE:86:AC:68:E4:9E:C1:3D:D4:4C:34:B2:DF:8A:5D:FF:8C
- X509v3 Authority Key Identifier:
- keyid:EE:92:48:AE:86:AC:68:E4:9E:C1:3D:D4:4C:34:B2:DF:8A:5D:FF:8C
-
- Authority Information Access:
- CA Issuers - URI:http://url-for-aia/Root.cer
-
- X509v3 CRL Distribution Points:
-
- Full Name:
- URI:http://url-for-crl/Root.crl
-
- X509v3 Key Usage: critical
- Certificate Sign, CRL Sign
- X509v3 Basic Constraints: critical
- CA:TRUE
- Signature Algorithm: sha256WithRSAEncryption
- 2d:46:10:72:ec:6d:1b:da:aa:63:8d:04:da:79:c9:c7:dc:47:
- 3a:9b:d3:42:b1:b4:2f:32:c1:15:2d:fb:e3:58:b2:39:ad:3e:
- 90:cf:12:cc:ee:89:c6:5a:2a:cc:7d:d4:24:e8:f6:cd:9f:16:
- f2:be:97:f9:e9:f7:aa:50:8d:48:03:4c:93:26:20:12:50:a6:
- 8a:fc:b7:0a:11:53:e9:de:0d:63:c6:fe:af:66:e6:5f:87:38:
- 7a:33:e6:48:a8:c8:67:24:61:3d:05:30:a4:d8:03:fc:12:11:
- ce:c0:67:2f:d9:7e:56:62:e7:ac:46:40:3d:67:6c:f3:68:54:
- 30:03:08:08:43:ba:1d:80:83:74:c4:f0:2b:3d:ad:d8:aa:e3:
- 8f:90:94:2d:18:6f:2e:8c:51:64:d4:87:f2:5c:4b:cd:5c:59:
- 8a:58:bd:27:28:c8:9c:cc:1f:a6:9f:9c:1c:79:d6:e5:12:54:
- a4:65:51:50:71:50:c4:c1:d3:2d:58:56:25:23:a9:93:8c:54:
- 2b:23:24:71:7b:70:96:6a:60:4c:0d:9c:6f:70:b6:22:23:b7:
- b4:b1:e1:0c:73:29:f2:32:86:76:13:dc:13:0e:32:9a:ef:07:
- 6f:c4:f8:ab:58:16:68:47:36:25:4e:9c:52:09:38:12:31:b7:
- 2c:be:5a:08
------BEGIN TRUST_ANCHOR_UNCONSTRAINED-----
-MIIDZTCCAk2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARSb290
-MB4XDTE1MDEwMTEyMDAwMFoXDTE2MDEwMTEyMDAwMFowDzENMAsGA1UEAwwEUm9v
-dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJueSo7NRw6mLxetJMfW
-x0BfupCyLEtXXD7y3oD2/fIoEpySY0oRxrt0163sPp0afwowmN8fopgRpmBvaV/d
-KDUGObbikd9ZvgfFUleEpK7LW5uzqlZ3/QAaVZYAJxJu0fY1/6P6tgsOKkZ1a1gn
-pqFDujd0HSgaPb/m8hC/LM4kZwNOTvyqUSIl+OV1XMOt2gNWtBuKbyblyO9DqdeB
-iw+xi9bNEelMDMuiq/o0KhOqpNuDnNimRez1+tDNsGt6Gw7K0zFLy1PxXIKMlvfK
-tkBT0CRnJxqNGvdlyaH8+fSFPFE8/FaHGL+j1d3ejuY7Zynp/UtPuhr/1+zx2r1W
-SCsCAwEAAaOByzCByDAdBgNVHQ4EFgQU7pJIroasaOSewT3UTDSy34pd/4wwHwYD
-VR0jBBgwFoAU7pJIroasaOSewT3UTDSy34pd/4wwNwYIKwYBBQUHAQEEKzApMCcG
-CCsGAQUFBzAChhtodHRwOi8vdXJsLWZvci1haWEvUm9vdC5jZXIwLAYDVR0fBCUw
-IzAhoB+gHYYbaHR0cDovL3VybC1mb3ItY3JsL1Jvb3QuY3JsMA4GA1UdDwEB/wQE
-AwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAtRhBy7G0b
-2qpjjQTaecnH3Ec6m9NCsbQvMsEVLfvjWLI5rT6QzxLM7onGWirMfdQk6PbNnxby
-vpf56feqUI1IA0yTJiASUKaK/LcKEVPp3g1jxv6vZuZfhzh6M+ZIqMhnJGE9BTCk
-2AP8EhHOwGcv2X5WYuesRkA9Z2zzaFQwAwgIQ7odgIN0xPArPa3YquOPkJQtGG8u
-jFFk1IfyXEvNXFmKWL0nKMiczB+mn5wcedblElSkZVFQcVDEwdMtWFYlI6mTjFQr
-IyRxe3CWamBMDZxvcLYiI7e0seEMcynyMoZ2E9wTDjKa7wdvxPirWBZoRzYlTpxS
-CTgSMbcsvloI
------END TRUST_ANCHOR_UNCONSTRAINED-----
-
-150302120000Z
------BEGIN TIME-----
-MTUwMzAyMTIwMDAwWg==
------END TIME-----
-
-SUCCESS
------BEGIN VERIFY_RESULT-----
-U1VDQ0VTUw==
------END VERIFY_RESULT-----
-
-serverAuth
------BEGIN KEY_PURPOSE-----
-c2VydmVyQXV0aA==
------END KEY_PURPOSE-----

Powered by Google App Engine
This is Rietveld 408576698