在Android应用中使用自定义https证书,CER转BKS

在Android应用中使用自定义https证书,CER转BKS,第1张

安卓配置这些需要:

1.客户端的P12证书 :发送给服务端验证

2.服务端的cer证书: App本地需要转BKS证书,因为安卓只识别此证书

CER转BKS

keytool -importcert -v -trustcacerts -alias 位置1 \

-file 位置2 \

-keystore 位置3 -storetype BKS \

-providerclass org.bouncycastle.jce.provider.BouncyCastleProvider \

-providerpath 位置4 -storepass 位置5

例子

keytool -importcert -v -trustcacerts -alias xx -file E:\bks\xx.cer -keystore E:\bks\xx.bks -storetype BKS -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath E:\bks\bcprov-jdk15on-146.jar -storepass xxxxxx

将证书内容提取成字符串:

keytool -printcert -rfc -file xxx.cer

查看bks证书库列表

命令:

keytool -list -rfc -keystore mytrustcerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass '123456'

<pre t="code" l="java">

final Request.Builder builder = new Request.Builder().url(url)

builder.addHeader(key,value) //将请求头以键值对形式添加,可添加多个请求头

final Request request = builder.build()

final OkHttpClient client = new OkHttpClient.Builder()

.readTimeout(30, TimeUnit.SECONDS)

.connectTimeout(10, TimeUnit.SECONDS)

.writeTimeout(60, TimeUnit.SECONDS)

.build()//设置各种超时时间

final Call call = client.newCall(request)

new Thread(new Runnable() {

@Override

public void run() {

try {

Response response = call.execute()

if (response != null) {

} else {

}

} catch (IOException e) {

e.printStackTrace()

}

}

}).start()

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

客户端会验证公钥是否有效。如果没有问题,就回生成一个随机值,并对其进行加密,(这个随机值其实就是对称加密的私钥)

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容进行对称加密。

首先用的是非对称加密。把公钥给客户端,私钥在服务端。客户端用公钥验证通过后,会生成私钥进行对称加密。然后传给后台。

为什么这么做呢。

图中的方法是验证服务端购买的证书。如果是信任所有证书的。这三个重写的方法不需要做 *** 作。直接用默认即可。

详细解析 HTTP 与 HTTPS 的区别

非对称加密和对称加密的区别

如有错误。还望指正,非常感谢。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11534124.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存