react-native for android https证书认证
react-native项目中,前端的请求其实都是调用原生插件发起的。
在android端,使用的是okHttp。
这篇博客是在react-native 0.47 + okhttp3 + tomcat的基础上讲解在本地生成自签名的https证书并给本地tomcat配置,再在android端配置证书认证,在前端fetch时请求本地https请求通过。
1、首先是https证书生成
我采用的是时jks文件,但我想jks可以,keystone文件应该也是可以的。jks和keystone文件生成过程不做描述。
利用jks文件来签发证书
在jks文件 同级目录执行命令:
keytool -export -alias server -file server.cer -keystore server.jks
-alias 后面填你选择的jks文件的 alias
-file 后面填你要生成的.cer文件的文件名
-keystore 后面填你选择的jks文件名
正确后回车则会要你输入口令,之后会在同级目录生成cer文件
这一步生成的cer文件就是用于android认证的证书文件
2、tomcat配置https
在你tomcat/conf/server.xml中,找到端口号8443的标签,默认是被屏蔽的,放开并修改为如下:
<Connector
port="8443"
protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"