如何使同一张自签名证书兼容Android与Firefox?
解决自签名证书兼容Android与Firefox的方案
别纠结用同一张证书适配两边,换两级证书结构就能彻底解决冲突:
第一步:生成根CA证书
设置basicConstraints = CA:TRUE,同时确保密钥用法包含keyCertSign(用来签发下级证书)。把这张根CA证书导入Android系统的信任列表,再导入Firefox的证书管理器,勾选「信任该证书用于识别网站」。第二步:用根CA签发服务端终端证书
基于根CA生成专门的服务端证书,设置basicConstraints = CA:FALSE,同时指定你本地服务的域名/IP作为subjectAltName。把这张终端证书部署到所有本地服务上。
这么做的原因很直接:
- Android信任根CA后,自动认可它签发的所有终端证书,满足Android对CA字段的要求
- Firefox面对的是CA:FALSE的终端证书,不会触发
MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY错误,同时因为根CA已被信任,终端证书的合法性会被正常识别
内容的提问来源于stack exchange,提问作者prigal
相关产品推荐
相关产品推荐

