2012-10-15 5 views
2

나는 Bouncy Castle와 AES의 256 비트 암호화를 사용하려는 궁금하네요 경우, 나는 다음과 같은 코드에 대한 java.security.InvalidKeyException: Illegal key size 예외를 수신하고 있습니다 때문에 "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files은"여전히 BC에도 불구하고 필요 : 나는 무엇을 놓치고Bouncy Castle의 AES 256 비트 암호화 : 무제한 강도 정책이 여전히 필요합니까?

public class AES256 { 
    public static void main(String[] args) throws Exception { 
     Security.addProvider(new BouncyCastleProvider()); 

     final KeyGenerator keyGen = KeyGenerator.getInstance("AES"); 
     keyGen.init(256); // doesn't work for 192, too 

     final byte[] encoded = keyGen.generateKey().getEncoded(); 

     final SecretKeySpec keySpec = new SecretKeySpec(encoded, "AES"); 
     final Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding", "BC"); 
     // Please ignore static IV for this example 
     final IvParameterSpec iv = new IvParameterSpec(new byte[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}); 

     c.init(Cipher.ENCRYPT_MODE, keySpec, iv); // throws java.security.InvalidKeyException: Illegal key size 
    } 
} 

? 무제한 강도 정책 파일없이 256 비트 키를 사용하는 방법이 있습니까?

답변

5

bouncycastle의 첫 번째 질문 FAQ.

+1

감사합니다. 나는 Bouncy Castle 웹 사이트의 문서하에 FAQ를 찾고 있었지만 위키에서는 발견하지 못했습니다. 따라서 BC는 더 나은 (AES) 암호화 알고리즘을 제공하지만 Unlimited Strength Policy 문제를 우회하지는 않습니다. 나는이 응용 프로그램 사용자를 위해이 설치 단계를 막을 수 있기를 바랬습니다. –

+2

심각하게? 나는 여전히 자바 무제한 strengh 정책을 추가해야한다. ..? 그것 없이는 할 수있는 방법 (도서관)이 없습니까? – tObi

관련 문제