我们用于Android Nnetworking安全configuration的自签名证书是什么?

我试图testingN Developer Preview的networking安全configurationfunction的所有方面。 我大部分都在工作,但是我被自签证书scheme所困扰。

根据文档 ,Android N应该对PEM或DER文件感到满意,就像其他证书validation场景一样。 但是,我并没有使用自签名证书,我尝试使这个工作继续运行到证书pathvalidation例外。

对于testing,我使用thin作为服务器,运行在我的开发机器上,可以通过一个N模拟器。 自签名证书适用于我的开发计算机上的浏览器,如果我切换到运行thin sans SSL,应用程序可以很好地到达服务器。 所以,这不是一个连接问题。

我使用本网站上的说明创build了自签名证书:

 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" 

根据这个堆栈溢出的答案 , example.crt文件是一个PEM文件。 在其他地方,我看到了创build“组合PEM”文件的说明 。 但是,我尝试了这两个,没有运气。

就networking安全configuration而言,我已经尝试了<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> 

但是,无论在哪种情况下,都会出现validation错误。

作为一个原始资源,我们究竟应该把什么作为一个PEM或DER文件?

Solutions Collecting From Web of "我们用于Android Nnetworking安全configuration的自签名证书是什么?"