iPhone上的RSA加密

iPhone上的RSA加密,iphone,cryptography,rsa,keychain,cryptoapi,Iphone,Cryptography,Rsa,Keychain,Cryptoapi,根据对下面代码的讨论,这些代码适用于RSA加密。公钥的数据类型为SecKeyRef。不过,我不会使用密钥链,因为我只对加密感兴趣,因为密钥是公开的,不是秘密的。那么甚至可以使用加密API吗?我目前的想法是仅从我的公钥构造一个SecKeyRef结构,并使用API。不过,我不知道该结构是如何声明的。有人知道吗?你认为我的方法行得通吗 uint8_t *pPlainText = (uint8_t*) "This is a test"; uint8_t aCipherText[1024]; size_t

根据对下面代码的讨论,这些代码适用于RSA加密。公钥的数据类型为SecKeyRef。不过,我不会使用密钥链,因为我只对加密感兴趣,因为密钥是公开的,不是秘密的。那么甚至可以使用加密API吗?我目前的想法是仅从我的公钥构造一个SecKeyRef结构,并使用API。不过,我不知道该结构是如何声明的。有人知道吗?你认为我的方法行得通吗

uint8_t *pPlainText = (uint8_t*) "This is a test";
uint8_t aCipherText[1024];
size_t iCipherLength = 1024;

status = SecKeyEncrypt(public,
                       kSecPaddingNone,
                       pPlainText,
                       strlen((char*) pPlainText ) + 1,
                       aCipherText,
                       &iCipherLength);

您可能希望在Apple开发者论坛上查看,并查看CryptoExercise示例代码


简言之,建议您将公钥作为DER编码的X.509证书分发,因为iPhone有很好的工具来处理该格式。您可以使用SecCertificateCreateWithData读取DER编码的证书,然后使用SecrustCopyPublicKey获取SecKeyRef。

您可能希望在Apple开发者论坛上查看,并查看加密练习示例代码

简言之,建议您将公钥作为DER编码的X.509证书分发,因为iPhone有很好的工具来处理该格式。您可以使用SecCertificateCreateWithData读入DER编码的证书,然后使用SecTrustCopyPublicKey获取SecKeyRef