2011-02-19 3 views
0

"안전한 SMS"를 전송해야하는 iPhone 응용 프로그램을 개발 중입니다. MFMessageComposeViewController 메서드를 사용하여 응용 프로그램 내에서 SMS를 보낼 수 있지만 아무 것도 얻지 못합니다. 텍스트가 클라이언트 측 (iPhone)에서 암호화되어야하고 서버 측에서 해독되어야하며 또한 그 반대의 경우에도 SMS를 안전하게 보낼 수있는 방법에 대한 도움이 필요합니다.iPhone에서 "Secure SMS"를 보내는 방법

모든 샘플 코드 또는 아이디어는 높이 평가됩니다.

감사합니다. shiva.

답변

1

http://septicus.com/products/opensource/은 Cocoa 환경에서 openSSL을 사용할 수있게 해주는 유용한 리소스입니다. SSCrypt 프레임 워크의 main.m에서


// generate a private key 
NSData *privateKeyData = [SSCrypto generateRSAPrivateKeyWithLength:2048]; 
// generate a public key from the private key data 
NSData *publicKeyData = [SSCrypto generateRSAPublicKeyFromPrivateKey:privateKeyData]; 

그리고

crypto = [[SSCrypto alloc] initWithPublicKey:publicKeyData privateKey:privateKeyData]; 

NSString *topSecret = @"Billy likes Mandy"; 
[crypto setClearTextWithString:topSecret]; 

NSData *encryptedTextData = [crypto encrypt]; 
NSData *decryptedTextData = [crypto decrypt]; 

NSLog(@"Top Secret: %@", topSecret); 
NSLog(@"Encrypted: %@", [encryptedTextData encodeBase64]); 
NSLog(@"Decrypted: %s", [decryptedTextData bytes]); 

[crypto release]; 
+1

자세히 설명하려면 공개 - 개인 키 쌍을 만들고 공용 키를 보낸 사람에게 저장하십시오. 내가 제공 한 링크에서 SSCrypto 프레임 워크를 사용하여 RSA는 공개 키를 사용하여 메시지를 암호화합니다. 독자는 메시지를 읽으려면 개인 키가 필요하며 SSCrypto 프레임 워크를 사용하여 메시지를 RSA 해독 할 수도 있습니다. – MHC

+0

귀하의 소중한 제안에 감사드립니다. MHC에서 살펴볼 것입니다. –

+0

repositary에서 코드를 다운로드하여 빌드하고 iPhone 용 새 프로젝트를 만들고 SSCrypto.framework, Appkit.framework 및 기타 2 개의 lib 파일과 SSCrypto.h 및 .m 파일을 내 프로젝트에 추가했습니다. 나는 다음 openssl/evp.h 및 다른 헤더 파일을 openssl/말할 수 없다는 73 오류가 발생하는 빌드를 제공합니다. 어떻게 이러한 오류 MHC를 해결할 수 있습니다. –

0

질문에 대해서는 RSA와 같은 가장 가능성있는 공개/개인 키 암호화를 사용하여 암호화를 직접 수행해야합니다.

+0

나는 그것을 수행했다. 안내 해줘서 고마워. –

0

당신이 MFMessageComposeViewController을 기각 후 보내는 SMS 데이터에 발생하는 제어하는 ​​절대적 방법은 없습니다. 전송이 끝나면 수신자는 SMS 메시지를 받게되고 앱에서 다른 일을 제어 할 수 없습니다.

+0

그럼 SMS를 통해 암호화 된 메시지 (순수 텍스트)를 보내고 수신기가 암호를 해독하도록 할 수 있습니다. 보안은 SMS 계층에 의존 할 필요가 없습니다. – MHC

+0

맞아요.하지만 질문에 대한 인식은 SMS를 수신자 인 iPhone 앱에서 암호화하고 해독하려고하는 것입니다. iPhone은받은 SMS 메시지에 특별한 조치를 취하지 않으므로 서버에서 암호화 된 메시지 만 표시합니다. – LucasTizma

관련 문제