📄 cacerts.c
字号:
/*cacerts.cStore CA certificates in memory for optimizations and/or stand-alone clients.gSOAP XML Web services toolsCopyright (C) 2000-2006, Robert van Engelen, Genivia Inc., All Rights Reserved.This part of the software is released under one of the following licenses:GPL, the gSOAP public license, or Genivia's license for commercial use.--------------------------------------------------------------------------------gSOAP public license.The contents of this file are subject to the gSOAP Public License Version 1.3(the "License"); you may not use this file except in compliance with theLicense. You may obtain a copy of the License athttp://www.cs.fsu.edu/~engelen/soaplicense.htmlSoftware distributed under the License is distributed on an "AS IS" basis,WITHOUT WARRANTY OF ANY KIND, either express or implied. See the Licensefor the specific language governing rights and limitations under the License.The Initial Developer of the Original Code is Robert A. van Engelen.Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc., All Rights Reserved.--------------------------------------------------------------------------------GPL license.This program is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the Free SoftwareFoundation; either version 2 of the License, or (at your option) any laterversion.This program is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR APARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along withthis program; if not, write to the Free Software Foundation, Inc., 59 TemplePlace, Suite 330, Boston, MA 02111-1307 USAAuthor contact information:engelen@genivia.com / engelen@acm.org--------------------------------------------------------------------------------A commercial use license is available from Genivia, Inc., contact@genivia.com--------------------------------------------------------------------------------*/#include "cacerts.h"#ifdef __cplusplusextern "C" {#endifint soap_ssl_client_cacerts(struct soap *soap){ extern const char cacert_pem_data[]; const char *data = cacert_pem_data; const char *next = data; int ret, err = SOAP_OK; int max = 0; unsigned char *der, *buf = NULL; if ((err = soap_ssl_client_context(soap, SOAP_SSL_DEFAULT, NULL, NULL, NULL, NULL, NULL))) return err; DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Populating certificate chain\n")); for (;;) { X509 *cert = NULL; int len; data = strstr(next, "-----BEGIN CERTIFICATE-----"); if (!data) break; data += 27; next = strstr(data, "-----END CERTIFICATE-----"); if (!next) break; len = (next - data + 3) / 4 * 3; if (len > max) { if (buf) SOAP_FREE(soap, buf); buf = (unsigned char*)SOAP_MALLOC(soap, len); max = len; } soap_base642s(soap, data, buf, len, NULL); der = buf; if (!d2i_X509(&cert, &der, len)) break; DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Adding certificate %d bytes\n", len)); if ((ret = SSL_CTX_add_extra_chain_cert(soap->ctx, &cert)) != 1) { err = soap_set_receiver_error(soap, soap_ssl_error(soap, ret), "SSL add chain certificate failed in soap_ssl_client_cacerts()", SOAP_SSL_ERROR); break; } data = next + 25; } if (buf) free(buf); return err;}const char cacert_pem_data[] = "\Verisign/RSA Secure Server CA\=============================\\MD5 Fingerprint=74:7B:82:03:43:F0:00:9E:6B:B3:EC:47:BF:85:A5:93\Certificate:\ Data:\ Version: 1 (0x0)\ Serial Number:\ 02:ad:66:7e:4e:45:fe:5e:57:6f:3c:98:19:5e:dd:c0\ Signature Algorithm: md2WithRSAEncryption\ Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority\ Validity\ Not Before: Nov 9 00:00:00 1994 GMT\ Not After : Jan 7 23:59:59 2010 GMT\ Subject: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority\ Subject Public Key Info:\ Public Key Algorithm: rsaEncryption\ RSA Public Key: (1000 bit)\ Modulus (1000 bit):\ 00:92:ce:7a:c1:ae:83:3e:5a:aa:89:83:57:ac:25:\ 01:76:0c:ad:ae:8e:2c:37:ce:eb:35:78:64:54:03:\ e5:84:40:51:c9:bf:8f:08:e2:8a:82:08:d2:16:86:\ 37:55:e9:b1:21:02:ad:76:68:81:9a:05:a2:4b:c9:\ 4b:25:66:22:56:6c:88:07:8f:f7:81:59:6d:84:07:\ 65:70:13:71:76:3e:9b:77:4c:e3:50:89:56:98:48:\ b9:1d:a7:29:1a:13:2e:4a:11:59:9c:1e:15:d5:49:\ 54:2c:73:3a:69:82:b1:97:39:9c:6d:70:67:48:e5:\ dd:2d:d6:c8:1e:7b\ Exponent: 65537 (0x10001)\ Signature Algorithm: md2WithRSAEncryption\ 65:dd:7e:e1:b2:ec:b0:e2:3a:e0:ec:71:46:9a:19:11:b8:d3:\ c7:a0:b4:03:40:26:02:3e:09:9c:e1:12:b3:d1:5a:f6:37:a5:\ b7:61:03:b6:5b:16:69:3b:c6:44:08:0c:88:53:0c:6b:97:49:\ c7:3e:35:dc:6c:b9:bb:aa:df:5c:bb:3a:2f:93:60:b6:a9:4b:\ 4d:f2:20:f7:cd:5f:7f:64:7b:8e:dc:00:5c:d7:fa:77:ca:39:\ 16:59:6f:0e:ea:d3:b5:83:7f:4d:4d:42:56:76:b4:c9:5f:04:\ f8:38:f8:eb:d2:5f:75:5f:cd:7b:fc:e5:8e:80:7c:fc:50\-----BEGIN CERTIFICATE-----\MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG\A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD\VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0\MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV\BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy\dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ\ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII\0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI\uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI\hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3\YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc\1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA==\-----END CERTIFICATE-----\\ABAecom (sub., Am. Bankers Assn.) Root CA\=========================================\\MD5 Fingerprint=41:B8:07:F7:A8:D1:09:EE:B4:9A:8E:70:4D:FC:1B:78\Certificate:\ Data:\ Version: 3 (0x2)\ Serial Number:\ d0:1e:40:90:00:00:46:52:00:00:00:01:00:00:00:04\ Signature Algorithm: sha1WithRSAEncryption\ Issuer: C=US, ST=DC, L=Washington, O=ABA.ECOM, INC., CN=ABA.ECOM Root CA/emailAddress=admin@digsigtrust.com\ Validity\ Not Before: Jul 12 17:33:53 1999 GMT\ Not After : Jul 9 17:33:53 2009 GMT\ Subject: C=US, ST=DC, L=Washington, O=ABA.ECOM, INC., CN=ABA.ECOM Root CA/emailAddress=admin@digsigtrust.com\ Subject Public Key Info:\ Public Key Algorithm: rsaEncryption\ RSA Public Key: (2048 bit)\ Modulus (2048 bit):\ 00:b1:d3:11:e0:79:55:43:07:08:4c:cb:05:42:00:\ e2:0d:83:46:3d:e4:93:ba:b6:06:d3:0d:59:bd:3e:\ c1:ce:43:67:01:8a:21:a8:ef:bc:cc:d0:a2:cc:b0:\ 55:96:53:84:66:05:00:da:44:49:80:d8:54:0a:a5:\ 25:86:94:ed:63:56:ff:70:6c:a3:a1:19:d2:78:be:\ 68:2a:44:5e:2f:cf:cc:18:5e:47:bc:3a:b1:46:3d:\ 1e:f0:b9:2c:34:5f:8c:7c:4c:08:29:9d:40:55:eb:\ 3c:7d:83:de:b5:f0:f7:8a:83:0e:a1:4c:b4:3a:a5:\ b3:5f:5a:22:97:ec:19:9b:c1:05:68:fd:e6:b7:a9:\ 91:94:2c:e4:78:48:24:1a:25:19:3a:eb:95:9c:39:\ 0a:8a:cf:42:b2:f0:1c:d5:5f:fb:6b:ed:68:56:7b:\ 39:2c:72:38:b0:ee:93:a9:d3:7b:77:3c:eb:71:03:\ a9:38:4a:16:6c:89:2a:ca:da:33:13:79:c2:55:8c:\ ed:9c:bb:f2:cb:5b:10:f8:2e:61:35:c6:29:4c:2a:\ d0:2a:63:d1:65:59:b4:f8:cd:f9:f4:00:84:b6:57:\ 42:85:9d:32:a8:f9:2a:54:fb:ff:78:41:bc:bd:71:\ 28:f4:bb:90:bc:ff:96:34:04:e3:45:9e:a1:46:28:\ 40:81\ Exponent: 65537 (0x10001)\ X509v3 extensions:\ X509v3 Basic Constraints: critical\ CA:TRUE, pathlen:8\ Signature Algorithm: sha1WithRSAEncryption\ 04:6f:25:86:e4:e6:96:27:b4:d9:42:c0:d0:c9:00:b1:7f:54:\ 3e:87:b2:6d:24:a9:2f:0a:7e:fd:a4:44:b0:f8:54:07:bd:1b:\ 9d:9d:ca:7b:50:24:7b:11:5b:49:a3:a6:bf:12:74:d5:89:b7:\ b7:2f:98:64:25:14:b7:61:e9:7f:60:80:6b:d3:64:e8:ab:bd:\ 1a:d6:51:fa:c0:b4:5d:77:1a:7f:64:08:5e:79:c6:05:4c:f1:\ 7a:dd:4d:7d:ce:e6:48:7b:54:d2:61:92:81:d6:1b:d6:00:f0:\ 0e:9e:28:77:a0:4d:88:c7:22:76:19:c3:c7:9e:1b:a6:77:78:\ f8:5f:9b:56:d1:f0:f2:17:ac:8e:9d:59:e6:1f:fe:57:b6:d9:\ 5e:e1:5d:9f:45:ec:61:68:19:41:e1:b2:20:26:fe:5a:30:76:\ 24:ff:40:72:3c:79:9f:7c:22:48:ab:46:cd:db:b3:86:2c:8f:\ bf:05:41:d3:c1:e3:14:e3:41:17:26:d0:7c:a7:71:4c:19:e8:\ 4a:0f:72:58:31:7d:ec:60:7a:a3:22:28:bd:19:24:60:3f:3b:\ 87:73:c0:6b:e4:cb:ae:b7:ab:25:43:b2:55:2d:7b:ab:06:0e:\ 75:5d:34:e5:5d:73:6d:9e:b2:75:40:a5:59:c9:4f:31:71:88:\ d9:88:7f:54\-----BEGIN CERTIFICATE-----\MIIDtTCCAp2gAwIBAgIRANAeQJAAAEZSAAAAAQAAAAQwDQYJKoZIhvcNAQEFBQAw\gYkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJEQzETMBEGA1UEBxMKV2FzaGluZ3Rv\bjEXMBUGA1UEChMOQUJBLkVDT00sIElOQy4xGTAXBgNVBAMTEEFCQS5FQ09NIFJv\b3QgQ0ExJDAiBgkqhkiG9w0BCQEWFWFkbWluQGRpZ3NpZ3RydXN0LmNvbTAeFw05\OTA3MTIxNzMzNTNaFw0wOTA3MDkxNzMzNTNaMIGJMQswCQYDVQQGEwJVUzELMAkG\A1UECBMCREMxEzARBgNVBAcTCldhc2hpbmd0b24xFzAVBgNVBAoTDkFCQS5FQ09N\LCBJTkMuMRkwFwYDVQQDExBBQkEuRUNPTSBSb290IENBMSQwIgYJKoZIhvcNAQkB\FhVhZG1pbkBkaWdzaWd0cnVzdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw\ggEKAoIBAQCx0xHgeVVDBwhMywVCAOINg0Y95JO6tgbTDVm9PsHOQ2cBiiGo77zM\0KLMsFWWU4RmBQDaREmA2FQKpSWGlO1jVv9wbKOhGdJ4vmgqRF4vz8wYXke8OrFG\PR7wuSw0X4x8TAgpnUBV6zx9g9618PeKgw6hTLQ6pbNfWiKX7BmbwQVo/ea3qZGU\LOR4SCQaJRk665WcOQqKz0Ky8BzVX/tr7WhWezkscjiw7pOp03t3POtxA6k4ShZs\iSrK2jMTecJVjO2cu/LLWxD4LmE1xilMKtAqY9FlWbT4zfn0AIS2V0KFnTKo+SpU\+/94Qby9cSj0u5C8/5Y0BONFnqFGKECBAgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYB\Af8CAQgwDQYJKoZIhvcNAQEFBQADggEBAARvJYbk5pYntNlCwNDJALF/VD6Hsm0k\qS8Kfv2kRLD4VAe9G52dyntQJHsRW0mjpr8SdNWJt7cvmGQlFLdh6X9ggGvTZOir\vRrWUfrAtF13Gn9kCF55xgVM8XrdTX3O5kh7VNJhkoHWG9YA8A6eKHegTYjHInYZ\w8eeG6Z3ePhfm1bR8PIXrI6dWeYf/le22V7hXZ9F7GFoGUHhsiAm/lowdiT/QHI8\eZ98IkirRs3bs4Ysj78FQdPB4xTjQRcm0HyncUwZ6EoPclgxfexgeqMiKL0ZJGA/\O4dzwGvky663qyVDslUte6sGDnVdNOVdc22esnVApVnJTzFxiNmIf1Q=\-----END CERTIFICATE-----\\Digital Signature Trust Co. Global CA 1\=======================================\\MD5 Fingerprint=25:7A:BA:83:2E:B6:A2:0B:DA:FE:F5:02:0F:08:D7:AD\Certificate:\ Data:\ Version: 3 (0x2)\ Serial Number: 913315222 (0x36701596)\ Signature Algorithm: sha1WithRSAEncryption\ Issuer: C=US, O=Digital Signature Trust Co., OU=DSTCA E1\ Validity\ Not Before: Dec 10 18:10:23 1998 GMT\ Not After : Dec 10 18:40:23 2018 GMT\ Subject: C=US, O=Digital Signature Trust Co., OU=DSTCA E1\ Subject Public Key Info:\ Public Key Algorithm: rsaEncryption\ RSA Public Key: (1024 bit)\ Modulus (1024 bit):\ 00:a0:6c:81:a9:cf:34:1e:24:dd:fe:86:28:cc:de:\ 83:2f:f9:5e:d4:42:d2:e8:74:60:66:13:98:06:1c:\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -