java隐藏密钥_java – 在Android中隐藏密钥库密码的最佳方法是什么?
我是Android开发和实现SSLSockets的新手.在做了一些挖掘后,我能够设置一个正常工作的简单服务器/客户端.我认为实现可以使用一些工作,并且难以将密码加载到密钥库而不用纯文本.这是客户端的一些代码.如您所见,我将密码硬编码到本地var中.是否有更好的方法加载密钥库密码,所以我没有在代码中以纯文本形式?
char [] KSPASS = "password".toCharArray();
char [] KEYPASS = "password".toCharArray();
try {
final KeyStore keyStore = KeyStore.getInstance("BKS");
keyStore.load(context.getResources().openRawResource(R.raw.serverkeys), KSPASS);
final KeyManagerFactory keyManager = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
keyManager.init(keyStore, KEYPASS);
final TrustManagerFactory trustFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
trustFactory.init(keyStore);
sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManager.getKeyManagers(), trustFactory.getTrustManagers(), null);
Arrays.fill(KSPASS, ' ');
Arrays.fill(KEYPASS, ' ');
KSPASS = null;
KEYPASS = null;
更新:
事实证明,客户端根本不需要知道密钥库密码.我已修改代码以传入null作为密码.到目前为止,初始测试已经与服务器进行通信.在服务器端,我仍然加载密钥库密码.
final KeyStore keyStore = KeyStore.getInstance("BKS");
keyStore.load(context.getResources().openRawResource(R.raw.serverkeys), null);
final KeyManagerFactory keyManager = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
keyManager.init(keyStore, null);
final TrustManagerFactory trustFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
trustFactory.init(keyStore);
sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManager.getKeyManagers(), trustFactory.getTrustManagers(), null);
java隐藏密钥_java – 在Android中隐藏密钥库密码的最佳方法是什么?相关推荐
- java隐藏类_java Class类中隐藏和覆盖的区别
覆盖 子类扩展父类获得父类当中的方法和成员变量,可是父类中的某些方法,不适合子类本身,所以则需要重写,子类 定义父类方法的过程就是方法的覆盖,字段不能被覆盖,只能被隐藏 用static描述的属性和方法 ...
- java屏蔽虚拟按键代码_Android 中隐藏虚拟按键的方法实例代码
下面通过一段代码给大家讲解android 隐藏虚拟按键的方法,废话不多说了,大家多多看看代码和注释吧,具体代码如下所示: /** * 隐藏虚拟按键,并且全屏 */ protected void hid ...
- android Java开发设计模式及在android中的应用解析
android Java开发设计模式及在android中的应用解析 什么是设计模式: 可以用一句话概括设计模式---设计模式是一种利用OOP的封闭.继承和多态三大特性,同时在遵循单一职责原则.开闭原则 ...
- android 退出多个activity,Android 中 退出多个activity的经典方法
1.使用list集合方式 用list保存activity实例,然后逐一干掉 import java.util.linkedlist; import java.util.list; import and ...
- Android中集成第三方库的方法和问题
Android中集成第三方库的方法和问题 声明: 1. 本文參考了网上同学们的现有成果,在此表示感谢,參考资料在文后有链接. 2. 本文的重点在第三部分,是在开发中遇到的问题及解决的方法.第一,第二部 ...
- 如何在Android中使用emojicon库集成表情符号, 妈妈在也不用担心我的表情了~~~
如何在Android中使用emojicon库集成表情符号 最全最专业的emojicon库教程. 在本教程中,我们将学习如何通过一个简单的示例在Android应用程序中使用emojicon库集成 表情 ...
- Android中的坐标系以及获取坐标的方法
[日期:2015-11-22] 来源:Linux社区 作者:fuly550871915 Android中有两种坐标系,分别称之为Android坐标系和视图坐标系.而对应的也有一些相关的方法可以获取坐 ...
- android onclick方法吗,Android中button的onClick事件几种方法
Android中button的onClick事件几种方法 发布时间:2020-09-03 02:36:31 来源:脚本之家 阅读:100 作者:水桶前辈 Android中button的onClick事 ...
- 在Android中调用KSOAP2库访问webservice服务出现的服务端传入参数为null的问题解决
在Android中调用KSOAP2库访问webservice服务出现的服务端传入参数为null的问题解决 参考文章: (1)在Android中调用KSOAP2库访问webservice服务出现的服务端 ...
最新文章
- [SCOI2005]王室联邦
- java有趣项目_有趣的java小项目------猜拳游戏
- [NowCoder牛客]2021NOIP提高组模拟赛第二场T3——树数树(启发式合并堆)
- 【CodeForces - 1038B 】Non-Coprime Partition (构造,数组特征)
- spingboot下shiro自定义过滤器roles
- SSH远程登录VWware上的LFS
- 2016京东编程题:年终奖
- 详解:MapReduce 思想解析
- Spark稀疏向量和稠密向量
- 30岁的我们还能做什么?
- 排序算法之——选择排序分析
- 无限磁力_给力的磁力搜索网站你都知道吗?
- 50个认知偏误:Elon Musk thinks everyone should know about
- Java身份证号码校验
- 什么是幽默?什么是高级幽默?
- d610网络计算机,尼康D610评测:机身细节
- c++ qt 操作Excel 实现冻结窗格的功能。
- 树莓派程序开机自启(尝试过很多终于成了)
- GB2312、GB18030、GBK、UNICODE、BIG5之间兼容关系如何?
- 计算机在有限元法中的作用,有限元法的概述
热门文章
- HTML5中lineCap端点样式遇到closePath()
- JSONP跨域原理和jQuery.getJSON用法
- 分享制作精良的知识管理系统 配置SQL Server文档数据库 完美实现博客文章的的下载,存储和浏览...
- [Leedcode][JAVA][第983题][最低票价][动态规划]
- HDU odd-even number 数位dp
- brew 安装 mysql5.7_Mac——brew替换源地址安装配置mysql@5.7版本
- 505B. Mr. Kitayuta‘s Colorful Graph
- 给与用户建立dblink的权限_网络安全 之 NTFS安全权限
- 秦九韶算法matlab程序,数值分析matlab程序实例.doc
- linux内核设计与实现 怎么读,《Linux内核设计与实现》读书笔记(一)