今天收到一封來自eBay關於eBay API的電郵,主題就是「Action Required: Certificate Authority change to Sectigo」,內容是要求於sandbox測試新CA,然後覆查資料,發現轉換CA是eBay API Security 2021的其中一項更新,目標是2022年1月31日轉換至新CA。
eBay的電郵中只提及以下3個API都已經enable了新CA,但沒有好像Paypal一般,直接提供Paypal的SSL CA的檔案,那⋯⋯⋯⋯
Table of Contents
該去哪裡找出 Certificate Authority cert檔案?
答案就在⋯⋯
如上所述,用openssl直接連線到eBay sandbox server,就可以順利輸出Cert的pem file啦。
openssl s_client -showcerts -servername server -connect api.sandbox.ebay.com:443 > cacert.pem
CA檔案 GET
然後就可以將取得的pem檔案用於測試!
測試
Guzzle http 相關測試
如果你是用Guzzle http作為eBay API的client,你可以參照以下的方式進行測試。
// Use a custom SSL certificate on disk.
$client->request('GET', '/', ['verify' => '/path/to/cert.pem']);
完成
連接到sandbox沒問題的話,就完成了測試。
更新server trust CA list
方法
如果你需要更新CentOS的trust CA list,可以參照以下的方式。
cp /path/to/pem /usr/share/pki/ca-trust-source/anchors/
update-ca-trust
如果是其他OS的,可以參考Stack overflow中,關於 update trust CA list 的答案。