我可以不使用此功能,还是在尝试生成该对时设置了错误?
这是密钥生成的代码:
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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)