当前位置: 首页 > 知识库问答 >
问题:

用于fips的Bouncy Castle不适用于linux虚拟机

滕翔飞
2023-03-14

我为fips证书生成实现了Bouncy Castle,这在物理linux环境下运行良好,但在linux虚拟机上,代码被困在密钥对生成上。以下是我编写的代码:

public static KeyPair generateKeyPair() throws GeneralSecurityException
{
    KeyPairGenerator keyPair = KeyPairGenerator.getInstance("RSA", 
      "BCFIPS");
    keyPair.initialize(2048, new SecureRandom());
    return keyPair.generateKeyPair();
}

我找到了一个类似的帖子,但它对我不起作用。Bouncy Castle不适用于linux机器

初始电流熵值为1700(按照给定的步骤,应为3000-4000)。我尝试了给定的步骤,熵值增加到2600(按照给定的步骤,它应该在4000以上)。

我尝试生成证书和问题的帖子仍然存在。

我尝试通过“kernel.random.read\u wakeup\u threshold=4096”“kernel.random.write\u wakeup\u threshold=6144”来增加阈值

当我执行“sysctl-p”时,它抛出错误。。

“sysctl:setting key”内核。随机的read\u wakeup\u threshold:无效参数kernel.random.read\u wakeup\u threshold=4096 sysctl:setting key“kernel”。随机的write\u wakeup\u threshold“:无效参数kernel.random.write\u wakeup\u threshold=6144”

我运行“yum install haveged”命令,它说包haveged已经安装。

haveged配置看起来不错。。

rngtest: starting FIPS tests...
rngtest: bits received from input: 20000032
rngtest: FIPS 140-2 successes: 1000
rngtest: FIPS 140-2 failures: 0
rngtest: FIPS 140-2(2001-10-10) Monobit: 0
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 0
rngtest: FIPS 140-2(2001-10-10) Long run: 0
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=1.977; avg=13.431; max=23.782)Mibits/s
rngtest: FIPS tests speed: (min=116.302; avg=143.533; max=147.856)Mibits/s
rngtest: Program run time: 1561023 microseconds

共有1个答案

田永春
2023-03-14

您可能会发现《BCFIPS用户指南》后半部分中详细介绍的方法对您有用。使用混合配置可以在BouncyCastleFipsProvider中启用熵池,这将有助于以兼容的方式扩展可用的熵。

 类似资料:
  • 问题内容: 我需要在Linux上测试一个串行端口应用程序,但是,我的测试计算机只有一个串行端口。 有没有一种方法可以通过在Shell或脚本中模拟设备来向Linux添加虚拟串行端口并测试我的应用程序? 注意:我无法重新映射端口,它在ttys2上进行了硬编码,我需要在编写应用程序时对其进行测试。 问题答案: 您可以为此使用pty(“ pseudo-teletype”,其中串行端口是“ real tel

  • “虚拟组”旨在提供一个按类别逻辑将对象分组的平台,以便使所有对象得到有效保存。它可以应用于连接、表、集合、视图、函数、索引、触发器、MapReduce、GridFS、备份、自动运行和模型。 【提示】vgroup.json 文件保存于配置文件位置。 如果你想隐藏组结构,选择“查看”->“导航窗格”->“隐藏连接组”和选择“查看”->“隐藏对象组”。 创建一个新的组 右击主窗口的导航窗格或对象选项卡并

  • “虚拟组”旨在提供一个按类别逻辑将对象分组的平台,以便使所有对象得到有效保存。它可以应用于连接、表、集合、视图、函数、索引、触发器、MapReduce、GridFS、备份、自动运行、模型和图表。 【提示】vgroup.json 文件保存于默认的路径,例如:~/Library/Application Support/PremiumSoft CyberTech/Navicat CC/Navicat P

  • “虚拟组”旨在提供一个按类别逻辑将对象分组的平台,以便使所有对象得到有效保存。它可以应用于连接、表、集合、视图、函数、索引、触发器、MapReduce、GridFS、备份、自动运行、模型和图表。 【提示】vgroup.json 文件保存于默认的路径,例如:/home/your_username/.config/navicat/Premium/Profiles。 如果你想隐藏组结构,选择“查看”->

  • 问题内容: 编辑:适用于root,sudo是问题。参见下文。 我有一个带有自己的库的目录,例如我的Python库位于。 我已通过将以下行添加到所有用户(包括root)将此目录添加到 Python的PATH 中: 它适用于所有用户(包括root用户)。但这不适用于sudo。有什么办法可以使sudo使用吗? 编辑:更多信息: 我已经添加到sudoers文件像这样:。西特尔不起作用。 问题答案: 我的解

  • 问题内容: 我正在编写一个脚本来自动运行特定模型。当模型失败时,它将等待用户输入(Enter键)。我可以检测到模型何时失败,但是无法使用python(在Linux上)模拟按键事件。Windows有SendKeys库来执行此操作,但是我想知道Linux上是否有类似的python库。 谢谢! 问题答案: 如果“模型”以图形方式运行(使用X窗口系统),则可能已经建议使用xsendkey或xsendkey