将JWT SigningKey存储在Java密钥库中

将JWT SigningKey存储在Java密钥库中,jwt,access-token,keystore,signing,android-keystore,Jwt,Access Token,Keystore,Signing,Android Keystore,我正在使用JWT进行身份验证。我使用signingKey对我的令牌进行编码。我想将签名密钥存储在客户端的安全位置(避免硬编码)。 我希望使用android key store实现这一点;但到目前为止,我只使用JDKKeyTool创建了一个密钥库来为我的应用程序签名 我的问题是:在将密钥部署到设备上之前,是否有任何方法可以将密钥存储在与我的应用程序关联的密钥存储中,以便我可以在应用程序中检索密钥并使用它签署JWT 如果没有,我的其他选择是什么 我正在开发Xamarin。我的后端是ASP.Net,部

我正在使用JWT进行身份验证。我使用signingKey对我的令牌进行编码。我想将签名密钥存储在客户端的安全位置(避免硬编码)。 我希望使用android key store实现这一点;但到目前为止,我只使用JDKKeyTool创建了一个密钥库来为我的应用程序签名

我的问题是:在将密钥部署到设备上之前,是否有任何方法可以将密钥存储在与我的应用程序关联的密钥存储中,以便我可以在应用程序中检索密钥并使用它签署JWT

如果没有,我的其他选择是什么


我正在开发Xamarin。我的后端是ASP.Net,部署在Azure上。

我不知道如何使用应用程序中的密钥存储来完成。但是我通过将其存储在JAR/.SO文件中来实现。这在应用程序内部变得模糊,无法通过反向工程获得


虽然这种方法只能解决反向工程问题,但最好的解决方案是使用服务器,以避免网络拦截问题

这是一个移动应用程序,我想阻止从应用程序外部访问我的所有API端点。即使服务器生成了公共/私有加密密钥,任何客户端(例如邮递员)都可以向服务器请求密钥对并获得授权。我怎样才能防止呢?嗯。。。我知道这是一个Android应用程序,因此建议将令牌存储在您的一个库中。看起来我的答案就是你问题的答案,而你在这里的评论里有一个不同的问题。我的评论是对你的建议的一个跟进,关于如何使用服务器。你对此有什么建议吗?我不知道如何在JAR文件中存储一些东西。