【问题标题】:how to send "Secure SMS" from iPhone如何从 iPhone 发送“安全短信”
【发布时间】:2011-12-21 23:40:40
【问题描述】:

我正在开发一个需要发送“安全短信”的 iPhone 应用程序,我无法使用 MFMessageComposeViewController 方法从我们的应用程序中发送短信,但对于如何安全地发送短信我没有任何帮助就像文本应该从客户端(iPhone)加密,它应该在服务器端解密,反之亦然。

任何示例代码或想法将不胜感激。

谢谢 湿婆。

【问题讨论】:

    标签: iphone


    【解决方案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];
    

    【讨论】:

    • 详细来说,创建一个公钥-私钥对并将公钥存储在发送者中。在我提供的链接上使用 SSCrypto 框架,使用公钥对消息进行 RSA 加密。阅读器需要私钥来阅读消息,并且(s)他还可以使用 SSCrypto 框架对消息进行 RSA 解密。
    • 感谢您的宝贵建议 MHC 我会调查此事。
    • 我已经从存储库下载代码并构建它,并为 iPhone 创建了一个新项目,添加了 SSCrypto.framework、Appkit.framework 和其他 2 个 lib 文件以及 SSCrypto.h 和 .m 文件也包含在我的项目中。当我进行构建时,我收到 73 个错误,说 openssl/evp.h 和其他带有 openssl/ 的头文件未声明。我该如何解决这些错误 MHC。
    • 您似乎需要为您的项目添加头文件路径。转到您的构建设置并搜索标题文件夹路径。
    • 好的,非常感谢您 MHC 的快速回复,我添加了所有头文件,并且还包含在头搜索路径中,现在它可以工作了。但我不明白实际的加密和解密是如何发生的。如果你知道,请解释一下。
    【解决方案2】:

    在您关闭MFMessageComposeViewController 后,您绝对无法控制您发送的 SMS 数据会发生什么。发送后,接收方只会收到 SMS 消息,没有应用程序可以控制其他发生的情况。

    【讨论】:

    • 那么您可以通过 SMS 发送加密消息(纯文本),然后让接收者解密它们。安全性不需要依赖 SMS 层。
    • 对,但我对这个问题的看法是,他希望通过接收方 iPhone 应用程序对 SMS 进行加密和解密。 iPhone 不会让您对收到的 SMS 消息做任何特殊处理,因此它只会显示来自服务器的加密消息。
    【解决方案3】:

    至于问题,您将不得不使用最有可能的公钥/私钥加密(例如 RSA)自己进行加密。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多