![](/img/trans.png)
[英]File upload on s3 fail getting the com.amazonaws.AmazonClientException Exception
[英]how to resolve Exception in thread “main” com.amazonaws.AmazonClientException: Unable to build cipher: Illegal key size using aws s3
我正在嘗試使用amazon aws進行加密和解密。 我有例外
Exception in thread "main" com.amazonaws.AmazonClientException: Unable to build cipher: Illegal key size
Make sure you have the JCE unlimited strength policy files installed and configured for your JVM
at com.amazonaws.services.s3.internal.crypto.ContentCryptoScheme.createCipherLite(ContentCryptoScheme.java:190)
at com.amazonaws.services.s3.internal.crypto.ContentCryptoMaterial.wrap(ContentCryptoMaterial.java:823)
at com.amazonaws.services.s3.internal.crypto.S3CryptoModuleBase.buildContentCryptoMaterial(S3CryptoModuleBase.java:535)
at com.amazonaws.services.s3.internal.crypto.S3CryptoModuleBase.newContentCryptoMaterial(S3CryptoModuleBase.java:483)
at com.amazonaws.services.s3.internal.crypto.S3CryptoModuleBase.createContentCryptoMaterial(S3CryptoModuleBase.java:449)
at com.amazonaws.services.s3.internal.crypto.S3CryptoModuleBase.putObjectUsingMetadata(S3CryptoModuleBase.java:165)
at com.amazonaws.services.s3.internal.crypto.S3CryptoModuleBase.putObjectSecurely(S3CryptoModuleBase.java:159)
at com.amazonaws.services.s3.internal.crypto.CryptoModuleDispatcher.putObjectSecurely(CryptoModuleDispatcher.java:107)
at com.amazonaws.services.s3.AmazonS3EncryptionClient.putObject(AmazonS3EncryptionClient.java:485)
at testKMSkeyUploadObject.main(testKMSkeyUploadObject.java:91)
Caused by: java.security.InvalidKeyException: Illegal key size
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1039)
at javax.crypto.Cipher.implInit(Cipher.java:805)
at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
at javax.crypto.Cipher.init(Cipher.java:1396)
at javax.crypto.Cipher.init(Cipher.java:1327)
at com.amazonaws.services.s3.internal.crypto.ContentCryptoScheme.createCipherLite(ContentCryptoScheme.java:187)
... 9 more
please help me.
當我試圖將對象用於使用AmazonS3EncryptionClient進行加密時,我得到了異常。 如何解決此錯誤。
AmazonS3EncryptionClient s3 = new AmazonS3EncryptionClient(credentials,materialProvider);
PutObjectRequest putRequest = new PutObjectRequest(
bucket, kms_cmk_id, new ByteArrayInputStream(plaintext), metadata);
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setSSEAlgorithm(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION);
putRequest.setMetadata(objectMetadata);
System.out.println(putRequest.getKey());
s3.putObject(putRequest); //getting exception here
似乎問題在於密鑰大小和IMO亞馬遜在其代碼中的某處硬編碼。 解決方案可能是獲取無限強度文件,您可以從以下位置下載:
在${java.home}/jre/lib/security/
安裝該文件。
我通過在IAM管理控制台中創建加密密鑰來解決此問題。 我在加密時使用了加密密鑰。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.