| 342 | | file = File.join(File.dirname(__FILE__), 'cacert.p7s') |
|---|
| 343 | | if File.exist?(file) |
|---|
| 344 | | dist_cert =<<__DIST_CERT__ |
|---|
| | 342 | [ |
|---|
| | 343 | [DIST_CERT, 'cacert.p7s'], |
|---|
| | 344 | [DIST_CERT_SHA1, 'cacert_sha1.p7s'] |
|---|
| | 345 | ].each do |cert_str, ca_file| |
|---|
| | 346 | file = File.join(File.dirname(__FILE__), ca_file) |
|---|
| | 347 | if File.exist?(file) |
|---|
| | 348 | p7 = PKCS7.read_smime(File.open(file) { |f| f.read }) |
|---|
| | 349 | selfcert = X509::Certificate.new(cert_str) |
|---|
| | 350 | store = X509::Store.new |
|---|
| | 351 | store.add_cert(selfcert) |
|---|
| | 352 | if (p7.verify(nil, store, p7.data, 0)) |
|---|
| | 353 | set_trust_ca(file) |
|---|
| | 354 | return |
|---|
| | 355 | end |
|---|
| | 356 | end |
|---|
| | 357 | end |
|---|
| | 358 | STDERR.puts("cacerts loading failed") |
|---|
| | 359 | end |
|---|
| | 360 | |
|---|
| | 361 | DIST_CERT =<<__DIST_CERT__ |
|---|
| 370 | | p7 = PKCS7.read_smime(File.open(file) { |f| f.read }) |
|---|
| 371 | | selfcert = X509::Certificate.new(dist_cert) |
|---|
| 372 | | store = X509::Store.new |
|---|
| 373 | | store.add_cert(selfcert) |
|---|
| 374 | | if (p7.verify(nil, store, p7.data, 0)) |
|---|
| 375 | | set_trust_ca(file) |
|---|
| 376 | | else |
|---|
| 377 | | STDERR.puts("cacerts: #{file} loading failed") |
|---|
| 378 | | end |
|---|
| 379 | | end |
|---|
| 380 | | end |
|---|
| | 387 | |
|---|
| | 388 | DIST_CERT_SHA1 =<<__DIST_CERT__ |
|---|
| | 389 | -----BEGIN CERTIFICATE----- |
|---|
| | 390 | MIID/TCCAuWgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJKUDER |
|---|
| | 391 | MA8GA1UECgwIY3Rvci5vcmcxFDASBgNVBAsMC0RldmVsb3BtZW50MRMwEQYDVQQD |
|---|
| | 392 | DApodHRwY2xpZW50MB4XDTA5MDYyNTE0MjUzN1oXDTEwMTIzMTIzNTk1OVowSzEL |
|---|
| | 393 | MAkGA1UEBhMCSlAxETAPBgNVBAoMCGN0b3Iub3JnMRQwEgYDVQQLDAtEZXZlbG9w |
|---|
| | 394 | bWVudDETMBEGA1UEAwwKaHR0cGNsaWVudDCCASIwDQYJKoZIhvcNAQEBBQADggEP |
|---|
| | 395 | ADCCAQoCggEBAM2PlkdTH97zvIHoPIMj87wnNvpqIQUD7L/hlysO0XBsmR/XZUeU |
|---|
| | 396 | ZKB10JQqMXviWpTnU9KU6xGTx3EI4wfd2dpLwH/d4d7K4LngW1kY7kJlZeJhakno |
|---|
| | 397 | GzQ40RSI9WkQ0R9KOE888f7OkTBafcL8UyWFVIMhQBw2d9iNl4Jc69QojayCDoSX |
|---|
| | 398 | XbbEP0n8yi7HwIU3RFuX6DtMpOx4/1K7Z002ccOGJ3J9kHgeDQSQtF42cQYC7qj2 |
|---|
| | 399 | 67I/OQgnB7ycxTCP0E7bdXQg+zqsngrhaoNn/+I+CoO7nD4t4uQ+B4agALh4PPxs |
|---|
| | 400 | bQD9MCL+VurNGLYv0HVd+ZlLblpddC9PLTsCAwEAAaOB6zCB6DAPBgNVHRMBAf8E |
|---|
| | 401 | BTADAQH/MDEGCWCGSAGG+EIBDQQkFiJSdWJ5L09wZW5TU0wgR2VuZXJhdGVkIENl |
|---|
| | 402 | cnRpZmljYXRlMB0GA1UdDgQWBBRAnB6XlMoOcm7HVAw+JWxY205PHTAOBgNVHQ8B |
|---|
| | 403 | Af8EBAMCAQYwcwYDVR0jBGwwaoAUQJwel5TKDnJux1QMPiVsWNtOTx2hT6RNMEsx |
|---|
| | 404 | CzAJBgNVBAYTAkpQMREwDwYDVQQKDAhjdG9yLm9yZzEUMBIGA1UECwwLRGV2ZWxv |
|---|
| | 405 | cG1lbnQxEzARBgNVBAMMCmh0dHBjbGllbnSCAQIwDQYJKoZIhvcNAQEFBQADggEB |
|---|
| | 406 | AGKhgByl/ur6SBFFKJcISJONFRaxf2ji0l6ut9XO1H2BSOSRjUbsFDWdWZG+D24Q |
|---|
| | 407 | JKKseSWPWAC5uHq00sBWkvmtip+duESPeDEdumdBhdiUUgGamW2Ew2y4yAdAVDeG |
|---|
| | 408 | t1p2fs8SylQN6AMTG/+R+MGHxhvg+UELYLcvAjjcDW2VhDQaJ1eFEfcMW1zRtvvh |
|---|
| | 409 | LJmVErouwFKyAjwhbF6sNxmToSnbO1ciWwIILMsOBNHMETCp+SzkRDIRWIkm6m+q |
|---|
| | 410 | RwRyYoHysODGvnu8VXS1hGRr2GIxeBga7dAGa2VLE/iUQ0d4lEskYU+6C4ZLyAWF |
|---|
| | 411 | O89dvLNRzpL10MaWCYVREks= |
|---|
| | 412 | -----END CERTIFICATE----- |
|---|
| | 413 | __DIST_CERT__ |
|---|