我想使用Android的硬件KeyStore功能,因此我使用了Pixel3手机来获取KeyStore对象的证书链,如this article所示。
例如,查看一个特定的.cer
文件,CRL分发点为https://android.googleapis.com/attestation/crl/8F6734C9FA504789
。
在浏览器中打开此链接会出现404错误。即使仅调用https://android.googleapis.com
也会产生相同的404错误。
我尝试使用Google的OAuth2 Playground进行正确的身份验证,但即使来自那里的请求也会返回404错误。
此外,当使用PKIXParameters
类对Java中的证书链进行配置时,它会抛出一个CertPathValidationException
,说“无法确定吊销状态”。但是,当使用pkix_parameters.setRevocationEnabled(false)
禁用吊销检查时,链的验证就成功了。
我也不希望它成为API身份验证问题,因为页面返回404,而不是像其他端点上那样返回“无效的项目ID”。
我的问题主要是我缺少什么,为什么在尝试获取CRL分发点时为什么只得到404?
答案 0 :(得分:0)
显然,某些设备的证明书没有有效的CRL分发点。我已经使用其他Pixel 3设备的证明证书对此进行了测试,并且还测试了GrapheOS/AttestationSamples中的某些设备。
以下是其中间证明书没有有效的CRL分发点的设备的列表。
+-----------+----------------+
| samsung | SM-M205F |
| Xiaomi | MI 9 |
| Xiaomi | POCOPHONE F1 |
| OnePlus | GM1913 |
| Google | Pixel 3a XL |
| Google | Pixel 3a |
| Google | Pixel 3 |
| Google | Pixel 3 XL |
| HUAWEI | AUM-L29 |
+-----------+----------------+