速记:安卓Netty部署SSL/TLS和避坑指南

速记:安卓Netty部署SSL/TLS和避坑指南

先按照 https://blog.csdn.net/russle/article/details/99086684 方法操作

第一步 生成服务器端私钥和证书仓库命令

keytool -genkey -alias mySrvAlias1 -keysize 2048 -validity 365 -keyalg RSA -dname “CN=localhost” -keypass skeypass123 -storepass sstorepass456 -keystore yqServer.jks

-alias 别名
-keysize 2048 密钥长度2048位(这个长度的密钥目前可认为无法被暴力破解)
-validity 365 证书有效期365天,测试中365就高了,实际生产中我们会冲认证机构获取证书,有效期比较长
-keyalg RSA 使用RSA非对称加密算法
-dname "CN=localhost" 设置Common Name为localhost
-keypass skeypass123 密钥的访问密码为skeypass123 
-storepass sstorepass456 密钥库的访问密码为sstorepass456 
-keystore sChat.jks 指定生成的密钥库文件为sChata.jks

避坑:

在安卓运行时会出现如下错误:javax.net.ssl.SSLException: Received fatal alert: certificate_unknown
此时检测一下证书文件是否正常被读取,如果是放在assets下,建议先导出再加载
还会遇到如下错误 java.security.KeyStoreException: JKS not found
由于Android无法直接使用 jks 格式的证书,所以需要转换为 bks 格式
参考:https://blog.csdn.net/u014361525/article/details/117835614
工具 Portecle 下载
https://jaist.dl.sourceforge.net/project/portecle/v1.11/portecle-1.11.zip
最后还有SunX509 TrustManagerFactory not available错误
KeyManagerFactory.getInstance("SunX509");换成TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Netty是一款高性能的网络应用框架,支持SSL/TLS加密来保护网络通信的安全性。SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是网络通信中广泛使用的加密协议,用于在客户端和服务器之间建立安全的通信信道。 Netty提供了一些组件和类来实现SSL/TLS加密。首先,我们需要使用javax.net.ssl包中的类来创建SSLContext对象。SSLContext是SSL/TLS协议的入口点,它包含用于加密和解密数据的加密算法和密钥。我们需要为SSLContext对象配置密钥库和信任库,密钥库用于存储证书和私钥,而信任库用于存储可信的证书。 接下来,我们需要创建SslHandler对象,将其添加到Netty的ChannelPipeline中。SslHandler作为一个ChannelHandler,负责处理SSL/TLS握手过程和数据的加密解密。当建立连接时,SslHandler会自动执行握手过程,包括协商加密算法、验证证书以及生成会话密钥等。 一旦握手完成,SslHandler会将数据加密后发送到网络,并将接收到的密文解密成明文。这样可以确保在网络传输过程中的数据保密性和完整性。此外,SslHandler还提供了一些方法来获取会话信息,如远程主机的证书和协商的加密算法。 使用NettySSL/TLS加密功能能够有效地提高网络通信的安全性。通过配置SSLContext和添加SslHandler,我们可以方便地实现对网络通信的加密和解密。无论是在客户端还是服务器端,都可以使用NettySSL/TLS加密功能来保护数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值