经过MinGW的努力,我一直在Windows上使用PBC,现在我注意到了(我已经开始使用BLS签名)当运行静态MinGW编译版本的PBC时,我总是得到以下警告:
" 警告:无法打开/ dev / urandom,使用确定性随机数生成器"
根据PBC manual不应该在Windows上发生,因为PBC声称使用CryptGenRandom()。所以,我相信我使用的 - host = i386-pc-mingw32 选项是错误的,但我尝试了 - host = i386-pc-winnt ,但是没有成功。
最后,我必须做一个观察:在检查最终的"有问题的" .exe使用ExeInfoPE我看到 NO 从advapi32.dll导入,这是CryptGenRandom()所在的位置,而PBC网站中MinGW编译的DLL实际上 HAS 导入。
因此,我相信在" ./ configure" -ing它时,我必须对PBC使用一些特殊命令,以便引导它编译文件" arith \ init_random.win32。 C"而不是" arith \ init_random.c" (你可以在PBC来源找到这些)。所以,我的问题是:我如何纠正上述警告? (根据上述PBC手册,这意味着不应加密使用PBC函数的随机输出)
注意:您可以在Running PBC in Windows - Visual Studio的答案中查看我的编辑选项,并从here下载PBC二进制文件和来源。