2009-11-14 6 views
4

iPhone 용 OpenSSL 기능을 두 가지 얻는 방법을 알아야합니다. 나는 애플이 내 바보 같은 짓을 거부하고 싶지 않기 때문에 다른 dylib는 필요 없도록 유지하려고 노력 중이다.iPhone에서 OpenSSL

어쨌든, 내 API 중 하나가 아닌 API에 액세스하는 앱이 있으므로 실제로 변경할 수 없으며 누구도 내 공개 키를 알지 못하도록하거나이 특정 ' private 'API를 사용하기 때문에 PHP 스크립트 서버 측을 만들 수는 없습니다.

OpenSSL에서 요청을 봉인하고 OpenSSL에서 공개 키를 인코딩 할 수 있어야합니다. 나는 헤더를 가지고 있고, 나는 아무 것도 알아낼 수 없다.

답변

7

일반적으로 iPhone에서 암호화 및 암호 해독을위한 가장 쉬운 방법은 OpenSSL을 직접 사용하는 대신 Security.framework입니다.

는 여기를 참조하십시오 :

http://developer.apple.com/iphone/library/DOCUMENTATION/Security/Conceptual/CertKeyTrustProgGuide/iPhone_Tasks/iPhone_Tasks.html#//apple_ref/doc/uid/TP40001358-CH208-SW9

의 예를 아래에 (명부 2-8, 2-9 및 2-10) RSA 1024 키 쌍 생성 플러스 암호화 및 암호 해독을 보여줍니다.

다른 키를 사용하면 서버의 요구 사항에 맞게 암호화/암호 해독 방법을 제어 할 수 있습니다.

+0

* "일반적으로, 아이폰에 암호화 및 암호 해독에 가장 쉬운 방법 대신에 OpenSSL을를 사용하는의 Security.framework입니다 직접 ..."* - 그 또한 쉬운 방법은 보장하기 위해 당신의 app은 알려진 버그에 취약합니다. 애플은 정기적으로 자사의 소프트웨어를 포기한다. 패치가 적용된 iDevices보다 패치가 적용되지 않은 패치가 더 많습니다. 내가 애플과 그 프레임 워크에 의존한다면 나는 취약하다. OpenSSL에 의존한다면 최신 버전을 다시 빌드하고 최신 버전입니다. – jww

4

나를 위해 나는 cocoapods에서 OpenSSL 포드를 구현하는 것이 가장 쉽다는 것을 발견했다. 튜토리얼은 필요하지 않습니다.
정보 : http://cocoapods.org/?q=openssl

-> OpenSSL (1.0.1) 
    OpenSSL is an SSL/TLS and Crypto toolkit. Deprecated in Mac OS and gone in iOS, this spec gives your project non-deprecated OpenSSL support. 
    pod 'OpenSSL', '~> 1.0.1' 
    - Homepage: http://www.openssl.org/ 
    - Source: https://github.com/endSly/OpenSSL-pod.git 
    - Versions: 1.0.1, 1.0.0 [master repo] 
+0

포드 검색에서도이 사실을 발견했습니다. 미리 컴파일 된 openssl 라이브러리보다 낫지 않습니까? – AechoLiu