我正在使用AWS S3在我的Android应用程序中上传和存储内容。我在java文件中使用以下代码:
AmazonS3Client s3Client = new AmazonS3Client(
new BasicAWSCredentials("XYZ",
"ABC+wktN"));
但这似乎很容易检索(即使apk已签名!)。我尝试使用progaurd但是在一些移动设备上崩溃了应用程序(特别是这个AWS部分)。
是否有任何方法可以隐藏代码中的凭据而无法检索它?或者有没有人使用过任何其他方法?一种选择是上传到中间服务器,服务器将其上传到AWS S3,但这是一个额外的跃点。另一个是让应用程序通过URL调用从服务器获取凭据,而不是在移动设备上获取凭据,但如果黑客可以直接获取凭据,他也可以获取URL并获取密钥。
答案 0 :(得分:1)
Amazon Cognito可以帮助您解决问题。您可以使用它为应用程序提供临时的,有限权限的凭据。使用Cognito
您可以在博客http://mobile.awsblog.com/blog/tag/amazon-cognito和开发者指南http://docs.aws.amazon.com/cognito/devguide/identity/中找到其他信息。