我想从易趣检索类别。这是我的代码:
function getCategories(){
$endpoint = "https://api.ebay.com/ws/api.dll";
//$endpoint = 'http://svcs.ebay.com/services/search/FindingService/v1';
$api_dev_name = "XXX";
$api_app_name = "XXX";
$api_cert_name = "XXX";
$auth_token = "XXX";
$headers = array(
'X-EBAY-API-COMPATIBILITY-LEVEL: 819',
'X-EBAY-API-DEV-NAME: '.$api_dev_name,
'X-EBAY-API-APP-NAME: '.$api_app_name,
'X-EBAY-API-CERT-NAME: '.$api_cert_name,
'X-EBAY-API-CALL-NAME: GetCategories',
'X-EBAY-API-OPERATION-NAME: GetCategories',
'X-EBAY-API-SITEID: EBAY-US',
'Content-Type:text/xml'
);
$xmlRequest = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
$xmlRequest .= "<GetCategoriesRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">";
$xmlRequest .= "<RequesterCredentials>";
$xmlRequest .= "<eBayAuthToken>{$auth_token}</eBayAuthToken>";
$xmlRequest .= "</RequesterCredentials>";
$xmlRequest .= "<CategorySiteID>0</CategorySiteID>";
$xmlRequest .= "<DetailLevel>ReturnAll</DetailLevel>";
$xmlRequest .= "</GetCategoriesRequest>";
$xmlRequestEncode = utf8_encode($xmlRequest);
$curl = curl_init();
curl_setopt_array($curl,
array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => $endpoint,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $xmlRequestEncode,
CURLOPT_HTTPHEADER => $headers
)
);
$response = curl_exec($curl);
if (!$response) {
die('Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl));
} else {
echo $response;
}
curl_close($curl);
}
getCategories();
$api_dev_name
、$api_app_name
、$api_cert_name
和$auth_token
在正式生产环境中有效、活动并设置。
我从curl得到这个错误:
错误:“SSL证书问题,请验证CA证书是否正常。详细信息:错误:14090086:SSL例程:SSL3\u GET\u SERVER\u证书:证书验证失败”-代码:60
为什么会出现此错误?
只需在curl\u setopt\u数组中添加新的两行,
CURLOPT_SSL_VERIFYPEER => false, // new code
CURLOPT_SSL_VERIFYHOST => false // new code
根据OpenSSL的s\U客户端:
$ openssl s_client -connect svcs.ebay.com:443
CONNECTED(00000003)
depth=2 C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = "(c) 2006 VeriSign, Inc. - For authorized use only", CN = VeriSign Class 3 Public Primary Certification Authority - G5
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
0 s:/C=US/ST=California/L=San Jose/O=eBay, Inc./OU=eBay Site Operations/CN=svcs.ebay.com
i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 Secure Server CA - G3
1 s:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 Secure Server CA - G3
i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
2 s:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority - G2/OU=(c) 1998 VeriSign, Inc. - For authorized use only/OU=VeriSign Trust Network
---
...
因此,您需要信任Class 3公共初级证书颁发机构-G2。您可以下载表单Verisign根证书。抓取带有指纹的标记为根1的指纹85 37 1c a6 e5 50 14 3d ce 28 03 47 1b de 3a 09 e8 f8 77 0f
。
下载ZIP文件后,可以在第2代(G2)PCAs文件夹中找到它。其命名的Class 3公共主证书颁发机构-G2。pem。
最后,告诉cURL使用您下载的根证书。我去不了cURL的cURL文档。哈克斯。现在是se,所以我不能告诉你打电话做什么。
不要将数百个CA加载到CA文件中。您知道Verisign认证易趣的证书,因此只使用所需的Verisign CA。不要让攻击者让您相信其他内容(例如,Truswave声称他们认证易趣)。
问题内容: 我正在运行使用使用自签名CA证书创建的证书的https服务器。 现在,我想将Socket.io客户端连接到连接到https服务器的Socket.io服务器。不幸的是,我得到一个错误,告诉我: 基本上,此错误告诉我无法成功验证证书。这是由于相应的CA证书是自签名的。使用https请求时,我可以指定我信任的CA。 在这种情况下,如何使Socket.io连接? PS:我正在运行Node.js
在我的应用程序中,我试图让python tornado服务器通过WebSockets与javascript html页面通信。我能够使用未加密的连接使连接工作,但当我试图在本文中实现解决方案时: 如何在网页环境中修改javascript代码,以便即使服务器使用自签名证书,也可以连接到服务器?
我想克隆git仓库与TortoiseGit的帮助下,但我得到错误: 错误:SSL证书问题,请验证CA证书是否正常。详细信息:错误:14090086:SSL例程:SSL3\u获取\u服务器\u证书:访问时证书验证失败https://git.assembla.com/pplconnect-PL.webserver.git/info/refs?service=git-上载包致命:HTTP请求失败 git
我有一个广告发布的证书,可以绑定到TomCat SSL安装。 我创建密钥库/导入证书: 已配置SSL连接器引用密钥库 列表项 重新启动TomCat服务 当我转到证书FQDN/webapp时。html-我什么也得不到。 这是为什么? 有人在谈论如何改变现状。cer证书到jks吗?还需要安装根证书或中间证书吗? 有人知道这是如何变得简单的吗。我已经阅读了文档,但仔细遵循这些步骤确实不是很清楚。 会感激
跟随[GitHub][1]的实验室学习更多关于Docker容器的信息,我感觉到了这个问题: