在嘗試讓我的RESTful Web服務獲得Amazon S3身份驗證時,我的測試刷新了Verifier for S3 auth中的一個可能的錯誤。如果您指定的服務器機密中不存在的訪問密鑰,則AwsVerifier將引發NullPointerException,從而導致HTTP 500內部服務器錯誤。問題始於上線AwsVerifier.java 233:Restlet框架中的AwsVerifier中可能存在的錯誤
char[] userSecret = getLocalSecret(userId);
如果用戶標識沒有在當地的祕密存在(即不在服務器祕密地圖存在的快捷鍵),則沒有相關的祕密,所以userSecret變爲空。當AwsVerifier調用第235行的getS3Signature()時:
String sigToCompare = AwsUtils.getS3Signature(request, userSecret);
您將收到NullPointerException。這對我來說似乎是一個錯誤......任何人都同意/不同意?