- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个与此类似的 C++ 代码:
Botan::AutoSeeded_RNG botan_rng;
Botan::RSA_PrivateKey private_key(botan_rng, 2048);
Botan::PK_Signer botan_pss_signer(private_key, botan_rng, "PSSR_Raw(SHA-256,MGF1,32)");
我想做的是用 Java 实现相同的功能。到目前为止我尝试过的是:
Signature rsa = null;
try {
rsa = Signature.getInstance("SHA256withRSAAndMGF1", "BC");
} catch (NoSuchAlgorithmException | NoSuchProviderException e) {
e.printStackTrace();
}
try {
rsa.initSign((PrivateKey)privateKey, new SecureRandom());
} catch (InvalidKeyException e) {
e.printStackTrace();
}
私钥生成为
KeyPairGenerator kpg = null;
try {
kpg = KeyPairGenerator.getInstance("RSA");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
kpg.initialize(2048);
KeyPair kp = kpg.generateKeyPair();
Key publicKey = kp.getPublic();
Key privateKey = kp.getPrivate();
问题是我的做法是否正确?或者我的 Java 代码中缺少什么?特别是关于随机生成器部分,我不确定 Java SecureRandom 是否在做与 Botan::AutoSeeded_RNG
中类似的事情,而且我在 BC 中使用的算法也不确定它是否等同于 PSSR_Raw( SHA-256,MGF1,32)?
最佳答案
我能够使用以下算法和 BC 并按如下方式设置参数规范来解决此问题:
Signature signature = Signature.getInstance("RawRSASSA-PSS", "BC");
PSSParameterSpec pssParameterSpec = new PSSParameterSpec("SHA-256", "MGF1", MGF1ParameterSpec.SHA256, KEY_AUTHORIZATION_INIT_SIGN_SALT_SIZE,
PSSParameterSpec.DEFAULT.getTrailerField());
signature.setParameter(pssParameterSpec);
关键点是使用 RAW 算法对哈希进行签名。我从这篇文章中得到了提示 RAW signer
关于Java 等效于 C++ Botan 函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56946697/
我从 this answer 那里得到了很好的建议, 检查 the file list for libbotan1.10-dev 并找到/usr/lib/libbotan-1.10.a ,所以我使用了
我使用 创建了一个新的 key 对 Botan::EC_Group ecgroup("brainpool512r1"); Botan::ECDH_PrivateKey privKey(CBot
我正在使用 Botan 创建公共(public)/私有(private) ECDSA key 对。生成的公钥(即使在使用此代码的不同机器上)非常相似......我认为太相似而无法考虑安全。以下是两次运
我正在使用名为 Botan 的 c++ 加密库,并且在任意时间我在运行时收到以下错误。这是什么意思? terminate called after throwing an instance of 'B
我正在尝试使用 Botan 的函数 generate_bcrypt() 获取密码的哈希值。 我读了手册http://botan.randombit.net/passhash.html这里。后来我又读了
我用过Botan::TLS::Callbacks还有Botan::TLS::Client Botan::TLS::Server为了在客户端和服务器之间获得安全通道。同样为了加密解密数据,我使用了 和
在以下单元测试中使用 Botan::SecureVector 时: void UnitTest() { std::vector vbData; vbData.push_back(0x0
我正在尝试使用 botan 加密库运行最基本的程序。我正在使用 Botan 1.10 32 位。我在 Windows 7 上获得了带有安装程序的二进制文件。IDE 是 Visual Studio 20
有谁知道如何创建类型为 Botan::MemoryRegion 的对象以用于此方法? BigInt BOTAN_DLL fe1_encrypt(const BigInt& n, const BigIn
我只是尝试初始化Botan AutoSeeded_RNG,但由于引用错误而失败。我只是想测试一下是否可以初始化任何种类的Botan RNG,因为我在另一个项目中遇到了麻烦。 我包含正确的 header
我使用 vcpkg 作为我的包管理器,按照示例很容易构建 example用sqlite。 之后我成功安装了 botan 并尝试使用find_package(botan REQUIRED) 如示例所示
我有一个与此类似的 C++ 代码: Botan::AutoSeeded_RNG botan_rng; Botan::RSA_PrivateKey private_key(botan_rng, 2048
我开始使用 botan 密码库,我遇到了一个奇怪的函数签名: /** * Load an encrypted key from a data source. * @param source the d
我正在使用 Botan C++ 库来签署和验证一些 license.ini 文件。我已将 Botan PK_Signer 设置为使用 RSA 算法来加密使用 PKCS v1.5 创建的散列。这是我的代
Botan 是否支持 EC 公钥的“压缩”表示的序列化/反序列化? (只有 EC + 号上点的 X 坐标)。有什么例子吗? 最佳答案 是的。 Botan 默认压缩 ECC 点,例如在将公钥序列化为 X
我正在使用 windows 8 和 python 3.6.1 我在我的 cmd 中完成了以下命令: pip 安装加密商店 但是,当我运行以下 python 代码时: from cryptoshop i
我正在尝试使用 Botan 库与私有(private)证书建立 SSL/TLS 连接。不幸的是,我找不到任何使用新 TLS::Client 类的实际示例代码。该文档只是 doxygen 文档的更多文本
我正在尝试构建一个链接到 Botan 1.11 的库。我使用 configure.py 生成合并并将其包含在我的项目中。 问题是当我尝试构建项目时出现以下错误: /Applications/Xcode
我对来自 Botan 加密库的 c++ mc-eliece 实现有问题。在整个互联网上似乎几乎只有一个例子,并带有指向它的链接。 https://www.cryptosource.de/docs/mc
我在 Qt 中使用 Botan 库进行加密。我让它工作到我可以从一个文件加密和解密到另一个文件的地方,但我试图改变它以从一个文件加密到一个 QDomDocument(加密文件将只是一个 XML 文件)
我是一名优秀的程序员,十分优秀!