我正在使用 iOS 6
我正在尝试使用我创建的自签名证书运行 Web 服务,并让 iOS 6 设备成功使用它。
我正在使用 SHA256 生成和签署证书。我在 Internet 上读到 iOS 6 设备拒绝使用 MD5 创建的证书
在这里,我制作了我的 rootCA:
% openssl genrsa -des3 -out private/rootCA.key 2048
然后我签了:
% openssl req -x509 -sha256 -new -nodes -key private/rootCA.key -days 1024 -out rootCA.pem
然后我将其转换为 p12 格式,以便可以放入我的 iOS 6 设备:
% openssl pkcs12 -export -in rootCA.pem -inkey private/rootCA.key -out rootCA.p12
然后在 Macosx 中,我使用 Keychain Access 将 rootCA.p12 添加到我的钥匙串中。
然后我为我的服务器制作了一个证书:
% openssl genrsa -out mydemo.com.key 2048
然后我提出了一个签名请求
% openssl req -sha256 -new -key mydemo.com.key -out mydemo.com.csr
然后我签了:
% openssl x509 -sha256 -req -in mydemo.com.csr -CA rootCA.pem -CAkey private/rootCA.key -CAcreateserial -out mydemo.com.crt -days 500
然后我在 nginx 中使用了 mydemo.com.crt。
Macosx Chrome 和 Safari 认为证书是有效的。
我将 rootCA.p12 添加到我的 iOS 设备。我可以在个人资料中看到它。
iOS 6 设备上的安全框架拒绝该证书。
我该怎么办?