问题标签 [botan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1310 浏览

c++ - 没有这样的文件在 Android Studio 下构建 Botan 时?

我使用 Eclipse 成功地使用链接到这个问题的方向来构建 Botan ,但是,Android Studio 应该取代 Eclipse 进行 Android 开发,所以我现在正试图让它在 Android Studio 中构建,但它失败了缺少头文件<iosfwd>。我收到以下错误:

我应该<iosfwd>从哪里获取头文件以及如何指示 Android Studio 找到它?


更新

我找到了以下生成文件: .../workspace/app/src/main/jni/botan/Android.mk

我尝试在之后添加该行LOCAL_CPPFLAGS

但是构建似乎不受影响,我得到了同样的错误,所以我尝试编辑LOCAL_CPPFLAGS为:

看看我的编辑是否被看到,但同样,在 header 上完全相同的原始失败iosfwd。所以看来我的编辑不是构建的一部分。

如何让 Android Studio 提供更多信息,以便弄清楚它是如何进入失败的构建步骤的。目前,当我构建时,它会暂停,然后给出带有错误消息的窗口,但没有显示所有中间步骤来获得它,这可能会显示哪些 makefile 得到了它。

0 投票
2 回答
648 浏览

php - Openssl RSA 密钥生成

我有一个与服务器通信的客户端,并且使用 RSA 和 AES 组合对通信进行加密。我生成的 RSA 密钥对没有密码。因此,为了确保安全,我最近添加了密码。每件事都在服务器端运行良好,但 PHP 生成的私钥不包含加密信息,因此我无法在客户端加载它。以下是php代码:

您可以在http://phpfiddle.org/上尝试它没有加密信息,就好像它假设那样,因为它在服务器端工作!

我的客户端代码仅在 RSA 密钥生成中未使用密码时才有效。

0 投票
1 回答
632 浏览

boost-test - Boost Test 和 QtTest 内存访问冲突与 Botan

我一直在努力解决这个问题,到目前为止还无法让它发挥作用。使用 botan 的简单 main 可以正常工作,但是当我将相同的代码放在单元测试中时,它会失败。

--

然后我尝试将 init 放在主入口点,如下所示:

它们都显示相同的错误:

运行 1 个测试用例...未知位置(0):“rsa_key_generation”中的致命错误:在地址 0x00141000 发生内存访问冲突,同时尝试读取无法访问的数据

*** 在测试套件“密码学测试”中检测到 1 个故障检测到内存泄漏!转储对象 -> {670} 位于 0x0000000000221380 的正常块,16 个字节长。数据:78 EA 13 00 00 00 00 00 00 00 00 00 00 00 00 00 对象转储完成。

仅作记录,我尝试过的简单压缩测试或我所做的任何事情都可以正常工作,但是当我尝试使用植物初始化创建测试时,无论我尝试什么都会失败。


编辑:我已经尝试过使用 Qt Test 并且发生了同样的情况。它真的很奇怪。有没有人经历过这样的事情?谁能重现这个?

0 投票
1 回答
877 浏览

c++11 - Botan 1.10.9 SecureVector 到 std::vector bad_alloc

我在 botan 1.10.9 中有这个奇怪的错误。当我想存储私钥字节向量和公钥字节向量时,我得到一个 std::bad_alloc 错误。难道不可能从植物的 SecureVector 初始化 std::vector 吗?

如果我对密钥进行编码,则操作可以正常工作:

任何想法为什么会发生这种情况?奇怪的是,如果我删除了其中一个向量初始化,那么它有时会起作用,但大多数时候我都会崩溃。

0 投票
1 回答
836 浏览

c++ - 如何在 Windows 上构建 Botan 合并文件 botan_all.cpp 和 .h

正如标题已经暗示的那样,我尝试制作 botan_all 文件以将 botan 直接集成到我的项目中。我在 Windows 上安装了 python 并在控制台中运行以下命令:

这导致以下输出:

INFO: Platform: OS="Windows" machine="AMD64" proc="Intel64 Family 6 Model 58 Stepping 9, GenuineIntel" INFO: Guessing target OS is windows (use --os to set) INFO: Guessing target processor is a x86_64 /x86_64(使用 --cpu 设置)信息:目标是 msvc-windows-x86_64-x86_64 信息:跳过,仅按请求 - cvc
信息:跳过,依赖失败 - session_sqlite3 sha1_x86_64
信息:跳过,不兼容 CPU - md4_x86_32 md5_x86_32 mp_x86_32_msvc serpe nt_x86_32 sha1_x86_32 信息:跳过,不兼容的操作系统 - asm_x86_32 asm_x86_64 beos_stats dev_random egd fd_unixlocking_allocator proc_walk unix_procs 信息:跳过,不兼容的编译器 - mp_x86_32 mp_x86_64 rdrand simd_altiv ec
信息:跳过,仅在依赖项需要时加载 - dyn_load simd_scalar 信息:跳过,需要外部依赖项 - boost bzip2 lzma openssl sqlit e3 zlib 信息:使用 MP 模块 mp_generic
信息:使用 SIMD 模块 simd_sse2 信息:Loading modules adler32 aead aes aes_ni aes_ssse3 alloc aont asn1 auto_ rng base base64 bcrypt benchmark bigint block blowfish camellia cascade cast cbc cbc_mac ccm cfb chacha chacha20poly1305 clmul cmac codec_filt comb4p compressio n crc24 crc32 credentials cryptoapi_rng cryptobox ctr curve25519 datastor des dh dl_algo dl_group dlies dsa eax ec_gfp ec_group ecb ecc_key ecdh ecdsa elgamal e me_oaep eme_pkcs1 eme_raw emsa1 emsa1_bsi emsa_pkcs1 emsa_pssr emsa_raw emsa_x93 1 entropy ffi filters fpe_fe1 gcm gost_28147 gost_3410 gost_3411 has160 hash has h_id hex hkdf hmac hmac_drbg hmac_rng hres_timer http_util idea idea_sse2 if_alg o kasumi kdf kdf1 kdf2 keccak keypair lion mac mars mce mceies md2 md4 md5 mdx_h ash mgf1 misty1 mode_pad 模式 mp mp_generic noekeon noekeon_simd nr numbertheor y ocb ofb oid_lookup openpgppar_hash passhash9 pbes2 pbkdf pbkdf1 pbkdf2 pem pk _pad poly1305 prf_tls prf_x942 pubkey rc2 rc4 rc5 rc6 rfc3394 rfc6979 rmd128 rmd 160 rng rsa rw safer salsa20 seed serpent serpent_simd sessions_sql sha1 sha1_ss e2 sha2_32 sha2_64 simd simd_sse2 siphash siv skein srp6 stream system_rng tea t hreefish threefish_avx2 tiger tls tss twofish utils whirlpool win32_stats x509 x 919_mac x931_rng xtea xtea_simd xts 信息:假设 CPU 是 little endian 信息:假设未对齐的内存访问有效 信息:使用硬链接将文件链接到构建目录(使用 --link-method 进行更改) 1.11.16(发布日期 20150330)构建设置完成16(发布日期 20150330)构建设置完成16(发布日期 20150330)构建设置完成16(发布日期 20150330)构建设置完成16(发布日期 20150330)构建设置完成16(发布日期 20150330)构建设置完成16(发布日期 20150330)构建设置完成

在那之后,我不知道下一步该做什么。我在任何地方都找不到 botan_all 文件。

0 投票
1 回答
2176 浏览

c++ - Botan SSL/TLS 示例或起点

我正在尝试使用 Botan 库来建立带有私有证书的 SSL/TLS 连接。不幸的是,我找不到任何使用新 TLS::Client 类的实际示例代码。该文档几乎是 doxygen 文档的一些文本。有没有使用 Botan 的项目,我可以看到,如何建立连接?我不知道使用哪个编译器或操作系统,因为我的项目无论如何都必须独立于平台。

0 投票
1 回答
231 浏览

c# - AccessViolationException - 调用 Botan::LibraryInitializer 时

我正在为 .NET 中的 Botan crypto 构建托管包装器,并按照此处的入门说明进行操作

入门

图书馆参考

我正在尝试首先执行 LibraryInitializer,但是当我调用它时,它会在我的 INIT() 方法中引发 AccessViolationException。

我的代码是这样的。

C#测试程序

包装 CPP

包装头

我什至不知道我是否正确调用了 libraryinitializer。我对 C++ 不太熟悉。任何帮助表示赞赏。谢谢。

编辑我在 Win32 控制台应用程序中尝试了同样的事情,但得到了相同的结果

ConsoleApplication4.exe 中 0x0F12422E (botan.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x003B0000。

0 投票
2 回答
410 浏览

c++ - 标识符“解锁”未定义

在此示例代码中

http://botan.randombit.net/manual/fpe.html

我试图在 Visual C++ 托管包装器中使用一种方法,但在“解锁”时不断出现编译错误这是什么?(可能是互斥锁::解锁)我该如何解决这个错误?

错误 16 错误 C3861:“解锁”:找不到标识符

编辑:我的 Stdafx.h 文件现在看起来像这样,但它仍然没有编译(即使在包含 secmem.h 之后)

编辑:附加信息 - 我使用的 Botan 库版本是 1.10.9 版(最新稳定版)。我使用 python 脚本编译并且在调试模式下没有排除任何模块(用所有东西构建它)。

0 投票
1 回答
389 浏览

c++ - 无法创建 SymmetricKey

首先我使用的 Botan 版本是 Botan-1.10.9 我正在用 Visual C++ 编写一个托管包装器

按照这个例子,我试图从一个字符串的哈希中创建一个 SymmetricKey,这样我就可以将它传递给 FPE 模块的 fe1_encrypt 方法

fe1_encrypt 的签名是

我希望我传递给 key 参数的值是明文的哈希值(不可能解密)所以我真的不在乎它是一个 SymmetricKey,只需要那种类型,因为该方法需要它作为参数。

但是在他们的示例中,他们已经将 SymmetricKey 传递给了返回 std:vector 的哈希方法

但是,没有采用这种类型的 SymmetricKey 构造函数。

有人有想法么?

编辑:我试过这个没有运气

错误

错误 15 错误 C2664: 'Botan::OctetString::OctetString(Botan::RandomNumberGenerator &,size_t)' : 无法将参数 1 从 'std::vector<_Ty>' 转换为 'Botan::RandomNumberGenerator &'

0 投票
0 回答
302 浏览

visual-c++ - 错误 :使用 /clr 或 /clr:pure 编译时不支持

Botan 1.11.17 版的我的 .NET 托管包装器生成此错误

使用 Botan 1.10.9 版时不存在此错误。

感谢您提供任何帮助来解决此问题。谢谢