我正在尝试从应用程序的 Ubuntu 服务器连接到 Apple 的推送通知服务。我已经成功生成了我正在使用的 pyAPNS 提供程序所需的组合 .pem 证书。但是,当我尝试使用 验证证书时openssl verify
,我得到error 20 at 0 depth lookup:unable to get local issuer certificate
. 如果我明确指定证书颁发机构(openssl verify apns.pem -CAfile entrust_2048_ca.pem
),它会起作用,但我已经按照此处的说明在系统上明确安装了 Entrust 证书,在“将证书导入系统范围的证书颁发机构数据库”下,据我所知这个页面,一切都是应该的(证书在 /usr/lib/ssl/certs 中,并且有一个符号链接到它的哈希)。
如果我尝试使用以下方式连接到 APNS 本身,也会发生同样的情况openssl s_client
:如果我明确指定 CAfile,它似乎可以连接,否则不会。PyAPNS 告诉我它无法连接到 APNS 服务器,我只能假设这是出于同样的原因。
如何让 OpenSSL 默认识别 Entrust 证书颁发机构,而无需每次都明确指定?我在某处错过了一步吗?