OSX KeyChain试图对数据进行签名 当我的Objto-C代码调用C++库用指定的键签名数据:时,我得到了这个奇怪的错误,我找不到任何附加的信息。 Error Domain=Internal CSSM error Code=-2147416063 "Internal error #80010801 at __SignTransform_block_invoke.17 /Library/Caches/com.apple.xbs/Sources/Security/Security-57740.31.2/OSX/libsecurity_transform/lib/SecSignVerifyTransform.c:279" UserInfo={NSDescription=Internal error #80010801 at __SignTransform_block_invoke.17 /Library/Caches/com.apple.xbs/Sources/Security/Security-57740.31.2/OSX/libsecurity_transform/lib/SecSignVerifyTransform.c:279, Originating Transform=CoreFoundationObject} libc++abi.dylib: terminating with uncaught exception of type ndn::SecurityException: Fail to sign data
问题出现在第二次访问私钥时。即,当我安装证书并运行我的应用程序时,它将提示用户“访问”对话框,该对话框将要求用户明确允许访问签名期间使用的私钥。允许后,一切都按预期进行。然而,在所有后续运行中,我都会遇到上述异常。为了继续测试,我必须打开KeyChain应用程序,并在“访问控制”中为此私钥显式设置“允许所有应用程序访问此项”。这不是一个好的做法。到目前为止,我找不到任何关于为什么会发生这种异常的解释 <>我注意到,这只是可可实现的一种情况,我的意思是,当我在C++测试应用程序中复制了COCOA代码时,它不会崩溃。OSX KeyChain试图对数据进行签名 当我的Objto-C代码调用C++库用指定的键签名数据:时,我得到了这个奇怪的错误,我找不到任何附加的信息。 Error Domain=Internal CSSM error Code=-2147416063 "Internal error #80010801 at __SignTransform_block_invoke.17 /Library/Caches/com.apple.xbs/Sources/Security/Security-57740.31.2/OSX/libsecurity_transform/lib/SecSignVerifyTransform.c:279" UserInfo={NSDescription=Internal error #80010801 at __SignTransform_block_invoke.17 /Library/Caches/com.apple.xbs/Sources/Security/Security-57740.31.2/OSX/libsecurity_transform/lib/SecSignVerifyTransform.c:279, Originating Transform=CoreFoundationObject} libc++abi.dylib: terminating with uncaught exception of type ndn::SecurityException: Fail to sign data,c++,objective-c,macos,cocoa,keychain,C++,Objective C,Macos,Cocoa,Keychain,问题出现在第二次访问私钥时。即,当我安装证书并运行我的应用程序时,它将提示用户“访问”对话框,该对话框将要求用户明确允许访问签名期间使用的私钥。允许后,一切都按预期进行。然而,在所有后续运行中,我都会遇到上述异常。为了继续测试,我必须打开KeyChain应用程序,并在“访问控制”中为此私钥显式设置“允许所有应用程序访问此项”。这不是一个好的做法。到目前为止,我找不到任何关于为什么会发生这种异常的解释 我注意到,这只是可可实现的一种情况,我的意思是,当我在C++测试应用程序中复制了COCOA代码时
执行签名的底层库使用OSX签名功能。几年前我遇到了同样的问题。如果你从手机或模拟器中删除你的应用程序,它将完美工作。但你将来也会遇到同样的问题。你可以使用FDKeycahin@EmreGürses,这是一个桌面应用程序。