首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在java应用中安全地存储RSA私钥?

如何在java应用中安全地存储RSA私钥?
EN

Stack Overflow用户
提问于 2014-11-28 16:44:18
回答 1查看 1.7K关注 0票数 0

我想要存储我的RSA私钥,应用程序在安全地发送到服务器前对其数据进行签名,这样就比从app文件夹复制密钥要难得多。

我知道Java可以用来存储密钥并通过运行时加载它们,但是如果没有签名的jar的密码,如何从KeyStore加载密钥呢?

例如,我已经将"mykey“键加载到KeyStore中,并签署了App.jar。我想在运行时从KeyStore自动加载密钥,而不指定密码给KeyStore,如果请求的应用程序被签名了。

也许,我不太理解KeyStore的原理。但是任务是对发送到服务器的数据进行签名,并安全地存储密钥。(该应用程序是POS应用程序,因此应该自动加载,而不需要启动时提供任何密码)。

EN

回答 1

Stack Overflow用户

发布于 2014-11-28 19:48:28

正如其他人指出的那样,您不能真正阻止拥有应用程序(因此具有私钥)的人提取私钥。您可以混淆密钥,这可能是合理的,这取决于您想要完成的任务。在这种情况下,您可以将密钥密码隐藏在代码中的各个位置,并使用前面提到的KeyStore。这并不是真正的安全,但它可能对您的目的“足够好”。

分发给最终用户的任何密钥都不能被视为机密。

更重要的是,如果您的服务器信任任何已签名或未签名的客户端代码,则您的服务器可能存在安全问题。与信任客户端相比,您必须找到一种不同的方法来执行您的安全属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27197699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文