2015-09-01 17 views
6

Amazon aws kullanarak şifreleme ve şifre çözme için çalışıyorum. Ben özel durum alıyorum AmazonS3EncryptionClient kullanarak şifreleme yapmak için nesneyi koymak için çalıştığı sırada ben"Exception" iş parçasında "Exception" özel durum com.amazonaws.AmazonClientException: Cipher yapılamıyor: aws s3 kullanarak geçersiz anahtar boyutu

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. 

gibi istisna var. Bu hatayı nasıl giderebilirim?

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 
+0

Lütfen kodunuzu doğru şekilde hizalayın. Okuması zor. –

cevap

0

IAM Yönetim Konsolu'nda şifreleme anahtarı oluşturarak bu sorunu çözdüm. Şifreleme yaparken bu şifreleme anahtarını kullandım.

3

Sorun büyüklükte ve IMO ile görünüyor. Amazon kodlarında bir yere kodlanmış. çözümü indirebileceğiniz sınırsız gücü dosyası için gitmek olabilir:

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 Download

${java.home}/jre/lib/security/ dosyayı yükleyin.

+0

Her şeyi yaptım. Şimdi "ana" com.amazonaws.services.s3.model.AmazonS3Exception iş parçacığında özel durum istisnası alıyorum: Erişim reddedildi (Hizmet: Amazon S3; Durum kodu: 403; Hata kodu: AccessDenied; istek kimliği: 428E4EC19BC3820D), – user3898783

+0

olduğunu Erişim Engellendi için herhangi bir sebep var mı? –

+0

Tüm erişim bilgilerini doğru bir şekilde sağladım. IAM Kullanıcıları'nda şifreleme anahtarı oluşturarak bu hatayı çözdüm. Şimdi "ana" com.amazonaws.services.s3.model.AmazonS3Exception iş parçasında İstisna gibi istisna alıyorum: Yasak (Hizmet: Amazon S3; Durum Kodu: 403; Hata Kodu: 403 Yasak; İstek No: null), S3 Extended İstek Kimliği: null. Bu istisna nasıl çözülür? – user3898783

İlgili konular