iPhone에서 webService에 연결할 앱을 개발 중입니다. 암호화하려는 사용자의 암호를 보내려합니다. 이를 위해 공용/개인 키 쌍을 만들었고, 개인 키는 서버에있어 암호를 해독하고 공개는 iPhone의 암호를 암호화 한 곳에서합니다. 나는 내가 SecCertificateRef 만들려면이 코드를 사용하여 메시지를 암호화 할 때ios에서 신뢰할 수없는 인증서로 데이터 암호화
$ openssl genrsa -out private.pem 1024
$ openssl rsa -in private.pem -out public.pem -outform PEM -pubout
이 :이 명령 인증서 == 전무 후
NSData *certData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"wspublickey" ofType:@"pem"]];
SecCertificateRef cert = SecCertificateCreateWithData(kCFAllocatorDefault, (__bridge CFDataRef)certData);
를, 내가하려고 많은 시간을 통과 나는 함께 쌍을 작성한 (비대칭 키가 찢어지는 것을 이해하지만 완전히 구현하지 못했습니다.) 내 결론은 내 인증서가 신뢰할 수 없으며 SecCertificateCreateWithData가 nil을 반환하는 이유입니다. 신뢰할 수있는 인증서를 지불하고 싶지 않으면 내 데이터를 어떻게 암호화해야합니까? rya 공개 키 인증서를 사용하여 암호화 된 데이터를 구현하는 것에 대한 저의 불쌍한 이해에 대해 사과드립니다.하지만 분실되었으며이 문제를 어떻게 해결해야할지 모르겠습니다. 당신의 도움을 주셔서 감사합니다. 포스트 읽혀질 수 :
"untrusted server certificate" on iPhone http://omegadelta.net/2011/01/17/ios-untrusted-server-certificate/ http://lists.apple.com/archives/apple-cdsa/2009/Jun/msg00012.html
내가 원하는 모든 명령에 해당하는 것입니다 :
이 작업을 수행하기 위해 안전하게 사용해야에서$ openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl
으로 생각합니다. 자체 서명 인증서를 사용하고 싶다고 생각합니다. 공개 키를 앱에 하드 코딩하면 완벽하게 잘됩니다. – CodesInChaos
@CodeInChaos aah, 네, 틀림없이 더 안전합니다. – rook
정확한 순간에 https 서버가 없기 때문에 사용자 암호를 보호하는 솔루션을 검색하는 순간에는 그럴 수 없습니다. – Jpellat