Chr*_*eal 5 apache ssl android client-certificates
在 Android 10 上,安装了 .p12 客户端证书(包括用户密钥、用户证书和 CA 证书)后,转到 Chrome 或 FF 中请求客户端证书的 URL,KeyChain 不会提示选择要使用的已安装证书。KeyChain 对话框瞬间闪烁,但没有列出证书,只是转到错误: ERR_BAD_SSL_CLIENT_AUTH_CERT。
此过程适用于具有相同 .p12 的 Android 9 及更低版本以及各种平台上的桌面浏览器,因此用于请求客户端证书的 .p12 和 Apache 配置将显示为有效。
我能找到的可能与 Android 10 中的更改相关的是: https: //developer.android.com/about/versions/10/behavior-changes-all#keychain
不幸的是,目前尚不清楚可能需要更改哪些内容以及它是在 Apache 配置中还是在 .p12 本身中。
如果有人有任何想法,我很乐意提供更多详细信息,而不是从一开始就将我能想到的所有内容都扔在这里。
修正案:
经过大量测试后,Android 10 似乎不喜欢由中间 CA 证书颁发的客户端证书。
尽管将完整链放入 .p12(根 CA 证书、中间 CA 证书和叶证书)中,但当站点请求客户端证书时,Android 10 上的 KeyChain 不会提供已安装的证书。
相同的根 CA 颁发具有与上述相同的扩展和属性的叶证书,然后放入 .p12(根 CA 证书和叶证书)中,然后就可以工作了。
不幸的是,我需要使用中间体来颁发叶证书,但我不知道为什么这似乎不适用于 Android 10!不确定这是一个错误还是需要其他特定的东西才能使其正常工作。
我还尝试分别安装根 CA 证书和中间 CA 证书,作为“受信任的凭据(用户)”,但这没有什么区别。
叶证书扩展属性有:
keyUsage = digitalSignature
扩展KeyUsage = clientAuth
| 归档时间: |
|
| 查看次数: |
1861 次 |
| 最近记录: |