iphone - 使用私钥的 NSData 进行数据签名

标签 iphone rsa nsdata signing keychain

我正在开发 iPhone 电子银行应用程序。
我正在使用带有 XML 签名的 WSS 对发送给客户的 SOAP 服务器的请求进行签名。
由于iPhone设备不可信(由于越狱),客户 要求是在将 key 存储到钥匙串(keychain)之前手动加密 RSA key 对(使用 AES128)。

据我目前所知, key 在生成时会自动添加到钥匙串(keychain)中。
所以我的想法是随后提取数据(与 CryptoExercise 示例中提取公钥的方式相同),从钥匙串(keychain)中删除 key ,进行 AES 加密并将其作为自定义 NSData 再次存储到钥匙串(keychain)中。

1)您发现这有什么问题吗?
我在某处读到检索数据或删除 key 可能需要某种密码,尽管我不知道密码是什么。我将在今天晚些时候尝试此操作,如果在此期间没有发布答案,我将发布答案:)

2)我无法找到是否有任何方法可以使用此 key 而不在代码中实现更多黑客攻击?
它看起来像 SecKeyRawSign 方法只接受 SecKeyRef 引用,它是指向钥匙串(keychain)中 key 的指针。是否有其他方法使用 key 的 NSData 进行签名?
我目前唯一的想法是使用 SecItemAdd 方法在签名之前将非加密 key 添加到钥匙串(keychain)中,并在签名后将其删除。但我不喜欢这种情况,因为它会一直发生,并且如果在从钥匙串(keychain)中删除 key 之前应用程序被关闭(崩溃或其他原因),它将保留在那里,直到下次应用程序启动时为止。

有更好的解决方案吗?

问候

最佳答案

关于iphone - 使用私钥的 NSData 进行数据签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2826090/

相关文章:

iphone - 如何在 iOS 中构建计算器样式的数字输入字段?

Java 多部分 RSA 解密

ios - dataWithContentOfFile 返回零

ios - 在 iphone 上用 NSData 字节初始化 BIO 变量

iphone - 如何设置 UINavigationBar 上后退按钮的文本?

ios - iOS 应用程序中的联系人同步

c# - 无法为两个部分之一打开 RSA key 容器

generics - Swift 泛型和 CMutableVoidPointer

ios - 从 NSMutableArray 创建字节数组

java - 如何在c#中复制java加密