生成无法访问AWS CLI的S3签名

时间:2018-11-20 17:37:23

标签: java amazon-s3 sas

真的可以用它撞墙,所以获得指导很有帮助。基本上我有一个使用sas 9.3的客户端,没有s3连接器或aws cli,但是我需要连接到s3,所以我唯一的方法是使用grroovy和java库,但是我无法使它正常工作。每当我尝试这样做时,我都会得到

我们计算出的请求签名与您提供的签名不匹配。检查您的密钥和签名方法

错误消息。我想知道是否有人对此进行了说明,或者有人可以帮我解决这个问题,因为我无法使其正常工作。非常感谢。

代码:

proc groovy;
add sasjar="commons_codec" ;

submit "&s3secret." "&stringToSign.";
import javax.crypto.Mac
import javax.crypto.spec.SecretKeySpec
import org.apache.commons.codec.binary.Base64
def base64hmacsha256(key, message) {
    mac = Mac.getInstance("HmacSHA256")
    mac.init(new SecretKeySpec(key.getBytes(), "HmacSHA256"))
    sha1_bytes = mac.doFinal(message.getBytes())
    base64 = new Base64()
    return mac.doFinal(message.getBytes("UTF8"));
}
exports.base64hmacsha256 = base64hmacsha256(args[0], args[1])
endsubmit;
quit;

0 个答案:

没有答案