IOS 14 - 自签名证书 - 不可信

Posted

技术标签:

【中文标题】IOS 14 - 自签名证书 - 不可信【英文标题】:IOS 14 - Self signed certificate - not trustable 【发布时间】:2020-12-15 10:36:30 【问题描述】:

我使用这个创建了一个自签名证书

openssl req \
    -newkey rsa:2048 \
    -x509 \
    -nodes \
    -keyout myKey.key \
    -new \
    -out myCert.crt \
    -subj /CN=my.domaine.any \
    -config ./myConfig.cnf \
    -reqexts SAN \
    -extensions SAN \
    -sha256 \
    -days 365

myConfig 的内容是

[ req ]
default_bits        = 2048
distinguished_name  = req_distinguished_name
req_extensions      = SAN
extensions          = SAN
[ req_distinguished_name ]
countryName         = myCountry
stateOrProvinceName = myProvince
localityName        = myCity
organizationName    = myOrgan
[SAN]
subjectAltName      = DNS:my.domaine.any
extendedKeyUsage    = serverAuth

我检查了我在这里找到的 ios 证书要求 https://support.apple.com/en-us/HT210176(我希望,我拥有一切)。

我可以将证书安装到设置 > 常规 > 配置文件中。

但我无法信任我的证书,因为当我要去设置 > 常规 > 关于 > 证书信任设置时,我没有看到任何证书。

有什么线索吗?

【问题讨论】:

您可以使用 let's encrypt 获得免费但受信任的证书,而不是不受信任的自签名证书 【参考方案1】:

我发现我的配置中缺少什么。

应该添加 [SAN] 部分

basicConstraints=CA:TRUE,pathlen:0

它工作!

【讨论】:

【参考方案2】:

确保当您将证书发送到您的手机时,您不会同时导出私钥。 Safari 不会信任它,它不会出现在 Certificate Trust Settings 下。

我在 Windows 上使用 Powershell,并且使用了包含私钥的命令 Export-PFXCertificate。而是使用命令Export-Certificate 工作。

【讨论】:

以上是关于IOS 14 - 自签名证书 - 不可信的主要内容,如果未能解决你的问题,请参考以下文章

自己签发的证书与根内置的第三方机构(如天威诚信)颁发的证书有啥不同?存在啥风险?

iOS开发HTTPS实现之信任SSL证书和自签名证书

iOS WKWebView 自签名证书单向验证+双向验证

iOS使用自签名证书实现HTTPS请求

iOS开发HTTPS实现之信任SSL证书和自签名证书

一个自签名证书来统治他们? Chrome、Android 和 iOS