2

在我的应用程序中,我必须使用我已经拥有的 RSA 私钥签署消息。完成后,我想稍后使用签名。我检查了几个库,但它们都做了我需要的更多。这就是我想做的:

NSString *message = @"This is a message";
NSString *privateKey = ...;

NSString *signature = [self signMessage:message withPrivateKey:privateKey];

怎么会

(NSString *)signMessage:(NSString *)message withPrivateKey:(NSString *)privateKey {
}

看起来像?

4

2 回答 2

3

iOS 有一个用于执行此操作的 C API。我自己从未使用过它,但看起来您需要一个 PKCS12 格式的文件,其中包含您使用SecKeyPKCS12Imort导入的私钥并从中取出私钥。然后函数是SecKeyRawSign来签署你的字符串。

该字符串应首先使用已知的字符编码转换为 NSData 对象 - 可能是 UTF-8 和 NSData 中的字节签名。

如果您在字符串中使用非 ASCII 字符,并确保使用定义明确的编码,您还需要注意某些字符的表示方式。例如 é 可以表示为单个 Unicode 数字或 Unicode 尖音符后跟字母 e。

http://en.wikipedia.org/wiki/Precomposed_character

于 2013-10-04T14:33:58.383 回答
3
于 2015-01-14T14:27:31.650 回答