【发布时间】:2015-05-22 18:10:49
【问题描述】:
我在 .NET 中使用 RSACrpytoServiceProvider 用我的由 iOS 生成的公钥加密数据。
在 iOS 端,使用相同的私钥,有时解密成功有时不成功。我在 .NET 中使用相同的公钥创建不同的密文,并使用 Base64 编码传递它。在 iOS 中,我解码 Base64 并将此方法作为内容发送。
我使用 SecKeyGeneratePair 生成密钥对。我在生成之前删除了具有相同标签的密钥对。
SecKeyDecrypt 返回的错误是:OSStatus return error code -9809 operation could not be completed.
可能是什么问题?
size_t cipherBufferSize = [content length];
void *cipherBuffer = malloc(cipherBufferSize);
[content getBytes:cipherBuffer length:cipherBufferSize];
size_t plainBufferSize = [content length];
uint8_t *plainBuffer = malloc(plainBufferSize);
OSStatus sanityCheck = SecKeyDecrypt(key,
kSecPaddingPKCS1,
cipherBuffer,
cipherBufferSize,
plainBuffer,
&plainBufferSize);
【问题讨论】:
标签: ios security encryption rsa