ios – SecKeyGeneratePair返回errSecUnimplemented

ios – SecKeyGeneratePair返回errSecUnimplemented,第1张

概述我试图在我的iOS应用程序中实现RSA加密算法,但是当我尝试生成公钥和私钥对时,该函数返回errSecUnimplemented错误.我目前正在使用5.1 SDK并定位到5.1. 我可以不使用此功能,还是在尝试生成该对时设置了错误? 这是密钥生成的代码: SecKeyRef publicKey, privateKey;CFDictionaryRef parameters;const void* 我试图在我的iOS应用程序中实现RSA加密算法,但是当我尝试生成公钥和私钥对时,该函数返回errSecUnimplemented错误.我目前正在使用5.1 SDK并定位到5.1.

我可以不使用此功能,还是在尝试生成该对时设置了错误?

这是密钥生成的代码:

SecKeyRef publicKey,privateKey;CFDictionaryRef parameters;const voID* keys[] = {kSecAttrKeyType,kSecAttrKeyTypeRSA};int keySize = 1024;const voID *values[] = {kSecAttrKeySizeInBits,&keySize};parameters = CFDictionaryCreate(kcfAllocatorDefault,keys,values,2,NulL,NulL);Osstatus ret = SecKeyGeneratePair(parameters,&publicKey,&privateKey);if ( ret == errSecSuccess ){    NSLog(@"Key success!");}else {    NSLog(@"Key Failure! %li",ret);}
解决方法 我已将其修改为只为您完成解决方案. 1)您需要使用CFNumberRef而不是指向数值的int的指针. 2)值必须是值,键需要是键 – 您在每个“键”和“值”中混合键和值.

SInt32 iKeySize = 1024;CFNumberRef keySize = CFNumberCreate(kcfAllocatorDefault,kcfNumberSInt32Type,&iKeySize);const voID* values[] = { kSecAttrKeyTypeRSA,keySize };const voID* keys[] = { kSecAttrKeyType,kSecAttrKeySizeInBits };CFDictionaryRef parameters = CFDictionaryCreate(kcfAllocatorDefault,NulL);SecKeyRef publicKey,privateKey;Osstatus ret = SecKeyGeneratePair(parameters,&privateKey);if ( ret == errSecSuccess )    NSLog(@"Key success!");else     NSLog(@"Key Failure! %li",ret);
总结

以上是内存溢出为你收集整理的ios – SecKeyGeneratePair返回errSecUnimplemented全部内容,希望文章能够帮你解决ios – SecKeyGeneratePair返回errSecUnimplemented所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1078297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存