Я пишу приложение iOS для связи с существующим сервером. Сервер генерирует пару ключей RSA (открытый ключ и закрытый ключ) и отправляет открытый ключ клиенту.
Клиент (приложение iOS) должен шифровать ТОЛЬКО открытый ключ и отправляет зашифрованные данные на сервер.
Итак, мне нужна функция Objective-C для шифрования RSA.
Ввод:
- Обычный текст: привет мир!
-
Открытый ключ:
-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEChqe80lJLTTkJD3X3Lyd7Fj+ zuOhDZkjuLNPog3YR20e5JcrdqI9IFzNbACY/GQVhbnbvBqYgyql8DfPCGXpn0+X NSxELIUw9Vh32QuhGNr3/TBpechrVeVpFPLwyaYNEk1CawgHCeQqf5uaqiaoBDOT qeox88Lc1ld7MsfggQIDAQAB -----END PUBLIC KEY-----
Процесс:
+ (NSString *)encryptString:(NSString *)str publicKey:(NSString *)pubKey;
Вывод:
uwGuSdCgDxAAN3M5THMrNcec3Fm/Kn+uUk7ty1s70oH0FNTAWz/7FMnEjWZYOtHe37G3D4DjqiWijyUCbRFaz43oVDUfkenj70NWm3tPZcpH8nsWYevc9a1M9GbnNF2jRlami8LLUTZiogypSVUuhcJvBZBOfea9cOonX6BG+vw=
Вопрос:
Как реализовать эту функцию?
+ (NSString *)encryptString:(NSString *)str publicKey:(NSString *)pubKey;
У меня есть digg в течение длительного времени, на SO и Google и в документе Apple. Я узнал, что Apple нужен файл .der для шифрования, а не только открытый ключ.