robot
2023.4
false
- 发行说明
- 入门指南
- UiPath Assistant
- 安装和升级
- 机器人类型
- 机器人组件
- 许可
- 将机器人连接到 Orchestrator
- 流程与活动
- 日志记录
- Robot JavaScript SDK
- 特定场景
- 故障排除
机器人用户指南
Last updated 2024年10月25日
包签名验证
包签名是 NuGet 包用于证明其来自受信任来源的一种方法。使用证书验证签名者的身份,对包进行签名。当部署设置为检查包签名验证时,UiPathTM 会根据
NuGet.config
文件中的可用信息进行验证,以查找请求的证书,确保使用的包来自允许的作者或存储库。
如要深入了解包签名验证的工作原理,请务必阅读关于 NuGet.config 文件的 Microsoft 指南中该节中的详细说明。
要强制使用签名包,必须将
Nuget.config
文件中的 signatureValidationMode
参数设置为 require
。该文件位于 %ProgramFiles%\UiPath\Studio
。您可以通过以下两种方式之一进行操作:
-
在安装期间,通过在命令行中使用选项
ENFORCE_SIGNED_EXECUTION=1
安装。例如,下列命令将安装 Studio、Robot(作为 Windows 服务),并强制在 UiPathTM 环境中使用经签名的包:
UiPathStudio.msi ADDLOCAL=DesktopFeature,Studio,Robot,RegisterService ENFORCE_SIGNED_EXECUTION=1
UiPathStudio.msi ADDLOCAL=DesktopFeature,Studio,Robot,RegisterService ENFORCE_SIGNED_EXECUTION=1 -
安装完成后,通过手动编辑
NuGet.config
文件。如果在安装后设置参数,则更改将在您执行以下操作后生效:
- 重新启动机器人服务。
- 从
%ProgramFiles%\UiPath\Studio\Packages
和%userprofile%\.nuget\packages
删除所有现有的 .NuGet 包。 - 重新启动 Studio/Assistant。
若要下载、安装并运行使用特定证书签名的包,请将所需证书添加为可信来源。
为此,修改安装文件夹中
NuGet.config
文件的 <trustedSigners>
部分。
注意:有关如何添加或删除活动订阅源的更多信息,请参阅本文档。
打开安装文件夹中的
NuGet.config
文件并添加以下值:
<config>
<add key="signatureValidationMode" value="require" />
</config>
<trustedSigners>
<author name="UiPath">
<certificate fingerprint="D179174EBC1E180D656BFB15BE369DEA8A17C178230FAC7771BF5446940C290C" hashAlgorithm="SHA256" allowUntrustedRoot="false"/>
<certificate fingerprint="ABD1E1BB749DDC96B46A1DBD91B93A2D8B3B5572D1E20A52F6165ED96FC117E0" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
</author>
<repository name="UiPathRepository" serviceIndex="https://gallery.uipath.com/api/v3/index.json">
<certificate fingerprint="D179174EBC1E180D656BFB15BE369DEA8A17C178230FAC7771BF5446940C290C" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<certificate fingerprint="ABD1E1BB749DDC96B46A1DBD91B93A2D8B3B5572D1E20A52F6165ED96FC117E0" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
</repository>
</trustedSigners>
<config>
<add key="signatureValidationMode" value="require" />
</config>
<trustedSigners>
<author name="UiPath">
<certificate fingerprint="D179174EBC1E180D656BFB15BE369DEA8A17C178230FAC7771BF5446940C290C" hashAlgorithm="SHA256" allowUntrustedRoot="false"/>
<certificate fingerprint="ABD1E1BB749DDC96B46A1DBD91B93A2D8B3B5572D1E20A52F6165ED96FC117E0" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
</author>
<repository name="UiPathRepository" serviceIndex="https://gallery.uipath.com/api/v3/index.json">
<certificate fingerprint="D179174EBC1E180D656BFB15BE369DEA8A17C178230FAC7771BF5446940C290C" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<certificate fingerprint="ABD1E1BB749DDC96B46A1DBD91B93A2D8B3B5572D1E20A52F6165ED96FC117E0" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
</repository>
</trustedSigners>
若要添加可信作者,您需要打开位于
%ProgramFiles%\UiPath\Studio\NuGet.config
的 NuGet.config
文件。然后,按照上述示例提供 certificatefingerprint
和 hashAlgorithm
。查阅此页面,以了解关于证书指纹的更多信息。
添加可信存储库的方式基本与添加作者相同,区别是必须同时添加
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>
从 v2021.2 版本开始,安装时
Nuget.config
文件中填充以下用于包签名验证的设置:
- 安装时,
Nuget.config
文件中不再填充signatureValidationMode
参数 - 安装时,UiPathTM 不再作为存储库和作者填充在
Nuget.config
文件的trustedSigners
标签中。
影响:
- 如果使用包签名验证,则必须手动将所有受信任的签名者(包括 UiPathTM)添加到
NuGet.config
文件中。 - 如果未使用包签名验证,则
NuGet.config
文件中应不存在trustedSigners
标签。 - 如果使用
NuGet.org
订阅源,则由于 NuGet 宣布整个存储库已签名,因此需要同时为接受和要求模式添加订阅源。
要解决上述问题,您需要将 UiPathTM 添加为受信任的签名者。