Studio
2022.10
false
Studio 用户指南
Last updated 2024年7月15日

为包签名

Studio 中提供包签名功能,旨在确保 Studio 中发布的流程和库均能享有安全性与完整性。

NuGet 提供两种包签名方式,即按照作者或按照存储库。

强制使用签名包

要强制使用签名包,必须将 Nuget.config 文件中的 signatureValidationMode 参数设置为 require。该文件位于 %ProgramFiles%\UiPath\Studio。您可以通过以下两种方式之一进行操作:
  • 在安装过程中,通过在 命令行 中使用选项 ENFORCE_SIGNED_EXECUTION=1进行安装。
    例如,下列命令将安装 Studio、Robot(作为 Windows 服务),并强制在 UiPath 环境中使用经签名的包:UiPathStudio.msi ADDLOCAL=DesktopFeature,Studio,Robot,RegisterService ENFORCE_SIGNED_EXECUTION=1
  • 安装完成后,通过手动编辑 Nuget.config 文件。

    如果在安装后设置参数,则更改将在您执行以下操作后生效:

    1. 重新启动机器人服务。
    2. %ProgramFiles%\UiPath\Studio\Packages%userprofile%\.nuget\packages 删除所有现有的 .NuGet 包。
    3. 重新启动 Studio/Assistant。

默认情况下,UiPath 包使用存储库和作者签名。这表示您可以使用“管理包”下载并安装此类包,而无需执行任何其他操作。如需了解如何添加其他受信任的作者、存储库和/或所有者,请参阅此页面的以下部分。

重要事项:当使用多个订阅源时,NuGet 将选择响应最快的订阅源。如果其中一个订阅源不包含已签名的包和依赖项,则 Robot 可能会收到未签名的包或依赖项,从而导致自动化失败。为避免这种情况,请确保所有已配置的订阅源都对包和依赖项进行签名。

添加可信来源

若要下载、安装并运行使用特定证书签名的包,请将此证书添加为可信来源。为此,可修改安装文件夹中的 nuget.config 文件,主要是 <trustedSigners> 部分。

添加可信作者

若要添加可信作者,您需要打开位于 %ProgramFiles%\UiPath\Studio\NuGet.configNuGet.config 文件。然后,提供 certificatefingerprinthashAlgorithm。查阅此页面,以了解关于证书指纹的更多信息。
allowUntrustedRoot 设为 truefalse
  • allowUntrustedRoot = "true" - 应允许受信任的签名者链接到不受信任的根。
  • allowUntrustedRoot = "false" - 不应允许受信任的签名者链接到不受信任的根。

其条目应类似于下例所示:

<trustedSigners>
<author name="UiPath">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true"/>
</author>
</trustedSigners><trustedSigners>
<author name="UiPath">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true"/>
</author>
</trustedSigners>

有关将 UiPath 添加为受信任签名者的更多信息,请参阅机器人指南中的 包签名验证

添加可信存储库

添加可信存储库的方式基本与添加作者相同,区别是必须同时添加 serviceIndex
下例中将一个可信存储库添加到 NuGet.config 文件:
<trustedSigners>    
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
</repository>
</trustedSigners><trustedSigners>    
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
</repository>
</trustedSigners>

添加可信所有者

一个存储库可能包含多个作者签名的包。这时可以使用 <owners> 标签,以仅允许安装由可信作者签名的包。
<owners> 标签之间添加可信作者,如下例中所示:
<trustedSigners>
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
<owners>Author1;Author2</owners> 
</repository>
</trustedSigners><trustedSigners>
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
<owners>Author1;Author2</owners> 
</repository>
</trustedSigners>


为包签名

  1. 在 Studio 中,可以从“发布”窗口的“证书签名”选项卡中为流程和库的程序包签名。


  2. 在“证书签名”选项卡中,添加本地计算机上的证书路径。如有需要,可使用 docs image 按钮导航到相应路径。仅接受.pfx 和 .p12 证书文件格式。
  3. 接着,根据需要输入“证书密码”并添加可选的证书“时间戳记程序”。单击“发布”。若有指定,生成的 .nupkg 文件将使用证书和时间戳记程序签名。

时间戳记是一种跟踪包签名日期和时间的安全方式。若要进一步了解 NuGet 包签名语境中的时间戳记,可查阅此链接

如果证书时间戳记程序无效,则单击“发布”按钮后 Studio 中将抛出含有项目名称的错误消息。“输出”面板中也将记录类似的错误消息。

注意:如未强制执行签名验证,则无论程序包的签名状态如何,机器人都可正常执行使用 Studio v2019.4 先前版本创建的流程。

使用“批量更新命令行”工具为多个包签名,再将其发布到某一位置。

注意: 项目中存在未签名的依赖项可能会导致在使用“ 修复依赖项 ”功能时无法解析其他依赖项。从项目中删除未签名的包以解析已签名的依赖项。
  • 强制使用签名包
  • 添加可信来源
  • 添加可信作者
  • 添加可信存储库
  • 添加可信所有者
  • 为包签名

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。