因?yàn)闉榱税踩鹨娨羌剩扑陀蒙狭薚LS州既,但是看了幾篇文章對(duì)于證書的概念還沒(méi)搞清楚浙值,還把a(bǔ)ndroid簽名打包用的keystore跟證書的keystore搞混了陕凹。
keystore
android正式打包的時(shí)候悍抑,我們都知道要有一個(gè)簽名文件,這個(gè)簽名文件只用來(lái)app打包
剛開始我查了TLS杜耙,發(fā)現(xiàn)代碼里面有一段加載keystore的搜骡,混亂在此發(fā)生
在想這個(gè)keystore是不是簽名打包的文件啊,但是直接當(dāng)做文件放在raw里面佑女,那不是人人都可以拿到记靡。就開始糾結(jié)了谈竿,查了查,終于找到一篇文件解析清楚:
http://blog.csdn.net/lmj623565791/article/details/48129405
還有:
http://frank-zhu.github.io/android/2014/12/26/android-https-ssl/
搞清楚了幾點(diǎn):
1摸吠、android正式打包時(shí)的簽名空凸,只用來(lái)打包用;
2寸痢、雙向認(rèn)證時(shí)
(1)服務(wù)器端生成一個(gè)簽名文件 server.jks
keytool -genkey -alias eveo_server -keyalg RSA -keystore server.jks -validity 3600 -storepass eveoserverpassword
(2)客戶端生成一個(gè)簽名文件 client.jks呀洲,并且用這個(gè)簽名文件 client.kjs 生成(簽發(fā))一個(gè)證書 client.cer
第一步: keytool -genkey -alias eveo_client -keyalg RSA -keystore client.jks -validity 3600 -storepass eveoclientpassword
第二步:keytool -export -alias eveo_client -file client.cer -keystore client.jks -storepass eveoclientpassword
(3)把客戶端的證書client.cer交到服務(wù)器人員手上,服務(wù)器人員把client.cer添加到server.jks里面
keytool -import -alias eveo_client -file client.cer -keystore sever.jks
(4)android端還要把client.jks轉(zhuǎn)為bks格式啼止,把轉(zhuǎn)換后的文件client.bks拷貝到目錄raw下道逗,代碼加載即可