我正在尝试在 iOS 上使用 Crypto++。我从Marek Kotewicz 的 GitHub下载了该库的预构建版本。
我正在努力从 Crypto++ wiki运行这个示例代码。
ECDSA<ECP, CryptoPP::SHA256>::PrivateKey privateKey;
ECDSA<ECP, CryptoPP::SHA256>::PublicKey publicKey;
AutoSeededRandomPool prng, rrng;
privateKey.Initialize(prng, CryptoPP::ASN1::secp256k1());
privateKey.MakePublicKey(publicKey);
string signature;
string message = "Do or do not. There is no try.";
StringSource s(message, true,
new SignerFilter(rrng,
ECDSA<ECP, CryptoPP::SHA256>::Signer(privateKey),
new StringSink(signature)));
它与以下内容崩溃。它显示在 Xcode 输出窗口中:
BAD_ACCESS (code=EXC_I386_GPFLT)
这是来自 C++ 文件的 memory.h 的代码片段,它指向 BAD_ACCESS
_LIBCPP_INLINE_VISIBILITY ~auto_ptr() throw() {delete __ptr_;}
我收到指向这行库代码的 BAD_ACCESS(code=1 , address=0x0) 错误
-> 0x1065dfa8d <+85>: movq -0x58(%rbp), %rdi