0

我正在开发一个将图片保存在 Amazon S3 服务器中的 iOS 应用程序。不幸的是,服务器的所有者不愿意给我他的密钥。相反,他生成并向我提供了他说我可以用来上传文件的签名。

问题是我找不到执行此操作的方法。尤其是 Amazon S3 示例“S3Uploader”。

你对此有什么想法吗?

提前致谢

4

1 回答 1

1

密钥仅用于计算签名,因此如果您已经有签名,则不需要它。但是,您确实需要访问密钥 ID(以便亚马逊知道使用哪个密钥来验证签名)。

我快速浏览了 iOS sdk 文档,看起来它们并没有提供一种方法来缩短签名计算过程。上传文件很容易,您只需发出 PUT 请求:

PUT /ObjectName HTTP/1.1
Host: BucketName.s3.amazonaws.com
Date: date
Authorization: signatureValue
Content-Length: 1234

您可以在文档中使用额外标题的详细信息。

另一个工作流程是,远程服务可以使用亚马逊STS api 返回临时凭证,而不是为您提供签名值,而是仅授权将文件上传到指定的存储桶。如果你走这条路,那么你将能够使用亚马逊提供的 SDK。

于 2012-07-09T10:06:07.870 回答