2012-12-22 19 views
7

Pracowałem z kryptografią Java od wielu lat. Teraz musimy napisać aplikację na iOS, która będzie wysyłać zaszyfrowane ładunki z urządzenia mobilnego do usługi Java. Zacząłem pracować z obsługą kryptografii iOS (CommonCrypto itp.) I okazało się, że jest to trochę trudniejsze. JCE ma bardzo czyste, zwięzłe API, więc wyraźnie się popsułem. W przeciwieństwie do tego, kryptografia iOS jest znacznie trudniejszym API do pracy.Uproszczone biblioteki Crypto dla iOS

Czy są jakieś uproszczone biblioteki lub owijacze kryptograficzne wokół CommonCrypto, które zapewniają bardziej zwięzły interfejs API? W szczególności musimy:

  • Key generacji (zarówno symetryczne i asymetryczne)
  • szyfrowanie/deszyfrowanie danych
  • podpisy cyfrowe (SHA1withRSA, na przykład)
  • Hashing
  • RSA, 3DES, i obsługa AES:

Wiem, że widziałem przykładową klasę lub dwie, które zawierają na przykład szyfrowanie AES. Szukam czegoś nieco bogatszego i bardziej w pełni funkcjonalnego. Czy ktoś ma jakieś sugestie?

Odpowiedz

2

Możesz używać openSSL w swojej aplikacji na iOS, dla łatwości użytkowania możesz użyć SSCrypto library przez septicus.

Z witryny septicus:

SSCrypto.framework zapewnia proste otoki wokół biblioteki OpenSSL funkcje służące do szyfrowania, deszyfrowania (zarówno symetryczne i RSA) oraz sum kontrolnych. Ponadto koduje i dekoduje dane base64 i może wygenerować zarówno prywatne, jak i publiczne klucze RSA. Narzędzie testowe jest zawarte w projekcie . Kliknij tutaj, aby wyświetlić plik main.m dostarczany z SSCrypto , gdzie znajdziesz przykłady jego użycia.

+0

Czy SSCrypto jest kompilacją dla systemu iOS? Pobrałem projekt i rzuciłem okiem na niego. Zdecydowanie wydaje mi się to, czego potrzebuję, ale są tylko konfiguracje kompilacji dla komputerów Mac. Brak urządzeń z systemem iOS. – Shadowman

+0

Właśnie dodaliśmy plik .h i .m do naszego projektu, kompilacja iOS naszego projektu zrobiła resztę ... – Frank