-1

我想签署一个 Oracle VirtualBox 虚拟设备,一个 OVA 文件。我正在寻找指示。

我与 Comodo 和 Sectigo 进行了广泛的交谈。他们不知道怎么做,甚至无法理解这个问题。

当我在 VirtualBox 中加载我的虚拟机时,它说它是未签名的,但没有提供有关如何更正它的信息。我有一个代码签名证书,我可以毫不费力地对可执行文件进行签名和时间戳:

signtool sign /t http://timestamp.comodoca.com t_hello.exe 完成 添加附加存储 成功签名:t_hello.exe

尝试使用 .ova 文件会出现错误:

signtool sign /t http://timestamp.comodoca.com ACoreTpl.ova 完成 添加附加商店 SignTool 错误:此文件格式无法签名,因为它无法识别。SignTool 错误:尝试签名时出错:ACoreTpl.ova

我尝试从 VMWare 下载一个工具,但它在我的 VirtualBox 设备上不起作用。它只是给出了错误消息。

除非错误消息没有意义并且只是在 VirtualBox 中硬编码,否则会有代码检查某些内容。我真的不想通过代码钓鱼,但在这一点上,我似乎不得不这样做。

本练习的目的是让我可以将工作系统发布为“已知良好”的虚拟设备,并且可以在加载时验证为真实设备。

4

1 回答 1

0

[注意:我粘贴此文件的文档中有图像,但它们不会粘贴在这里。]我能够通过变通方法蒙混过关。解决方法涉及从 VMWare (ovftool.exe) 获取一个工具,这似乎有点奇怪。它允许导入 OVA,显示证书并将其标记为“安全”。它仍然有几个问题。一个是在创建签名文件时发出令人讨厌的警告消息,我无法找到解决方法。另一个是它似乎没有联系时间服务器来为文件添加时间戳。大概这意味着当签名证书过期时,加载时会再次收到警告。

我仍然想知道您应该如何根据 Oracle 正确执行此操作。当然,甲骨文并没有使用 VMWare 的软件来签署他们的虚拟设备。

这是我在 Windows 10 下的旅程。最后,我有一个可发布的设备。

  • 您需要一个虚拟设备 (*.ova)

  • 您需要一个签名证书。

  • 您需要安装 OpenSSL。

  • 您需要来自 VMWare 的程序 ovftool.exe

要获取 .ova 文件,您需要将其中一个 VM 导出为虚拟设备:

打开导出虚拟设备对话框:

文件->导出设备 [或者 E]

选择要导出的虚拟机。填写适用的任何虚拟系统设置。

对于设备设置,将格式设置为打开虚拟化格式 1.0

确保选中“写入清单文件”复选框。

点击按钮写入文件。

您应该在证书存储中安装了签名证书。如果您还没有这个,您需要咨询您的证书提供商。

要获得可用形式的签名证书,您必须跳过几个环节才能获得老式的隐私增强邮件 (PEM) 文件。

您需要先将证书放入文件中。

通过运行 certmgr.msc 启动证书管理器

打开 Personal->Certificates 并右键单击您的签名证书

打开所有任务菜单并选择导出

这应该会打开证书导出向导

点击下一步]

选择标有“是,导出私钥”的单选按钮

点击下一步]

选择“个人信息交换 - PKCS (.PFX)”

选中“如果可能,在证书路径中包含所有证书”

勾选“导出所有扩展属性”

勾选“启用证书隐私”

点击下一步]

选中密码复选框,输入并确认密码[在本例中使用密码“IMPPass”]

将加密下拉菜单更改为 AES256-SHA256

点击下一步]

为导出的证书分配文件名和路径。在此示例中,我将其称为“MyCert”。请注意,您不要在此处将文件扩展名放在名称上。证书导出向导会在写入文件时添加它。您应该将其保存在保存 OVA 文件的路径中。

点击下一步]

查看设置并单击

它应该会弹出一个消息框,说明导出成功。通过单击按钮将其关闭。

您需要在命令行中执行后续步骤。

打开一个控制台窗口。

切换到保存 OVA 和 PFX 文件的目录。

cd c:<你的保存位置>

您现在需要将证书转换为可以使用的形式 (.pem)。为此,您需要使用 OpenSSL。下面是命令的形式:

openssl pkcs12 -in MyCert.pfx -out MyCert.pem

响应导入密码和 PEM 密码短语的提示:

Enter Import Password: IMPPass

Enter PEM pass phrase: PEMPass

Verifying - Enter PEM pass phrase: PEMPass

最后,您可以使用 ovftool 使用如下命令对导出的 OVA 进行签名:

ovftool --privateKey=MyCert.pem --shaAlgorithm=SHA1 DamnSmall.ova DSL.ova

打开 OVA 来源:DamnSmall.ova

打开 OVA 目标:DSL.ova

编写OVA包:DSL.ova

转移完成

清单验证

输入 MyCert.pem 的密码:PEMPass

此处发出警告,但不会干扰签名。

警告:

  • 找不到支持的清单(sha1、sha256、sha512)条目:“DamnSmall-disk001.vmdk”。成功完成

此时,应该有一个名为 DSL.ova 的签名文件。在 VirtualBox 中导入时会显示。

要进行测试,请导入新创建和签名的 OVA 文件。打开导入对话框:

文件-> 导入设备,或者我

输入已签名虚拟设备的路径和名称。点击下一步]

设备设置对话框的左下角应该有文本,表明您已经签署了设备并且它是受信任的。

设备已签名

于 2022-02-11T14:55:27.257 回答