Com*_*are 20 ssl android android-7.0-nougat
我试图测试N Developer Preview的网络安全配置功能的所有方面.我有大部分工作,但我被自签名证书场景困扰.
根据文档,Android N应该对PEM或DER文件感到满意,因为它适用于其他证书验证方案.但是,我不使用自签名证书,并且我尝试使用此工作继续运行到证书路径验证异常中.
为了测试,我thin用作服务器,在我的开发机器上运行,可以通过N模拟器访问.自签名证书适用于我的开发机器上的浏览器,如果我切换到运行thinsans SSL,应用程序可以很好地到达服务器.所以,这不是连接问题.
我使用本网站上的说明创建了自签名证书:
sudo openssl genrsa -out "/etc/[webserver]/ssl/example.key" 2048
sudo openssl req -new -key "/etc/[webserver]/ssl/example.key" \
-out "/etc/[webserver]/ssl/example.csr"
sudo openssl x509 -req -days 365 -in "/etc/[webserver]/ssl/example.csr" \
-signkey "/etc/[webserver]/ssl/example.key" \
-out "/etc/[webserver]/ssl/example.crt"
Run Code Online (Sandbox Code Playgroud)
根据此Stack Overflow回答,该example.crt文件是PEM文件.在其他地方,我看到了创建"组合PEM"文件的说明.但是,我尝试了这两个,没有运气.
在网络安全配置方面的东西,我曾经尝试都<domain-config>和<debug-overrides>.后者看起来像:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<debug-overrides>
<trust-anchors>
<certificates src="@raw/selfsigned"/>
</trust-anchors>
</debug-overrides>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)
但是,在任何一种情况下我都会得到验证错误.
作为原始资源,我们究竟应该将PEM或DER文件作为原始资源投入使用?
这似乎是在使用example.crt由openssl问题中显示的脚本生成的N Developer Preview 2 .目前,我将假设N Developer Preview 2与N Developer Preview 1相比发生了变化.