0
我在解密Cocoa环境中的RSA公钥时遇到了麻烦。 我已经加密哈希,与-----BEGIN PUBLIC KEY-----
警卫public.pem公共密钥(由OpenSSL的生成)在Cocoa中解密RSA公钥
NSData *encryptedData = base64dec(license);
NSString *publicKeyPath = [[NSBundle mainBundle] pathForResource:@"public" ofType:@"pem"];
NSData *publicKeyData = [NSData dataWithContentsOfFile:publicKeyPath];
SSCrypto *crypto = [[SSCrypto alloc] initWithPublicKey:publicKeyData];
[crypto setClearTextWithData:encryptedData];
[crypto verify];
NSString *verifiedKey = [crypto clearTextAsString];
但verifiedKey
始终是零。看起来像SSCrypto无法将NSData转换为NSString。我怎样才能真正获得数据解密?
结束了使用此代码(以排除BASE64解码步骤)
[crypto setCipherTextFromBase64String:license];
NSString *verifiedKey = [crypto clearTextAsString];
但是verifiedKey
始终是一个空字符串。这是什么意思?输入数据似乎是正确的。
请看看我的更新。现在我得到空字符串,这是什么意思? – asdf 2013-02-23 17:50:37
@dig你在哪里获得你的base64编码/解码功能?我建议你使用SSCrypto中提供的base64功能,因为放置换行符的位置(等等)可能导致SSCrypto无法解码用其他库编码的数据。 – user2015453 2013-02-23 18:10:03