2009-05-23 4 views

답변

0

바운 시성 (Bouncy castle)에는 환상적인 도서관이 있습니다. 주된 문제는 안전한 방법으로 열쇠를 얻는 방법입니다. NET과 Java가 호환되지 않는 방식으로 키를 직렬화한다는 것을 알았습니다. 보안 전송을 위해 RSA를 사용하여 키 전송을 용이하게하기 위해 Bouncy Castle을 사용하여 양쪽에 Bouncy Castle을 사용했습니다.

5

BlackBerry API를 사용하는 것이 좋습니다 (Bouncy Castle이 효과적 일지 모르지만 그 이유는 무엇입니까?).

net.rim.crypto 패키지를 사용하십시오. 모든 대칭 암호화를 사용하므로 기기에서 실행하려면 표준 RIM signing keys 만 필요합니다 (가져 오는 데는 20 달러와 2 ~ 3 일 소요). 시뮬레이터로 모든 것을하십시오.

기본적으로 AESDecryptorEngine을 래핑하는 CBCDecryptorEngine을 래핑하는 PKCS5UnformatterEngine을 생성하려고합니다. 당신이 처리 할 수 ​​있도록 BlockDecryptor에있는 모든 것을 아마 InputStream에서와 같이 감쌀 것이다. (그리고 나는이 작업을 완료 한 이후하면서 조금이었다, 그래서 작성된 100 % 작동하지 않을 수 있습니다) 식으로 뭔가 :

내보다하지만 내 방어에 나는 보지 않았다 더 나은 대답이다
InputStream encryptedInput; // if you have a byte[] of data, use a ByteArrayInputStream 
AESKey key = new AESKey(<your key data as a byte[]>) 
InitializationVector iv = new InitializationVector(<your iv data as a byte[]>) // of course you need to know your IV since you're doing CBC encryption 

BlockDecryptor decryptor = new BlockDecryptor(
    new PKCS5UnformatterEngine(
     new CBCDecryptorEngine(
     new AESDecryptorEngine(key), 
     iv 
    ) 
    ) 
); 

// then decryptor acts as an InputStream which gives you your decrypted, unpacked data 

decryptor.read(buffer); // buffer will contain decrypted, unpacked data 
+0

너를 읽을 때까지 블랙 베리 태그. :-) – wds