You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu 22.04上启用并运行tpm2tss OpenSSL引擎?

如何在Ubuntu 22.04上启用并运行tpm2tss OpenSSL引擎?

咱们一步步来搞定这个问题,确保你能顺利用上tpm2tss OpenSSL引擎配合.NET 8操作TPM密钥:

1. 安装必要软件包

Ubuntu 22.04的官方仓库里已经打包好了所需工具,直接用apt安装就行。打开终端执行以下命令:

sudo apt update && sudo apt install -y tpm2-tss-engine openssl

这个命令会先更新包列表,再安装tpm2-tss-engine(核心的OpenSSL引擎)和openssl(如果系统未预装)。

2. 确认引擎安装状态

安装完成后,先验证引擎是否能被OpenSSL识别。执行:

openssl engine -t -c tpm2tss

如果输出里包含(available)字样,说明引擎已经成功安装并可用。

3. 配置OpenSSL默认加载tpm2tss引擎(可选但推荐)

为了避免每次使用都手动指定引擎,咱们可以把tpm2tss配置为OpenSSL的默认引擎之一。编辑OpenSSL的主配置文件:

sudo nano /etc/ssl/openssl.cnf

在文件末尾添加以下配置内容:

[engine_section]
tpm2tss = tpm2tss_section

[tpm2tss_section]
engine_id = tpm2tss
dynamic_path = /usr/lib/x86_64-linux-gnu/engines-3/libtpm2tss.so
default_algorithms = ALL
init = 1

小贴士:如果不确定libtpm2tss.so的路径,可以用find /usr/lib -name libtpm2tss.so命令查找,替换上面的路径即可。

保存并退出编辑器后,新开一个终端让配置生效。

4. 验证配置是否生效

执行以下命令查看所有已加载的引擎:

openssl engine -v

如果输出里能看到tpm2tss引擎,并且标记为[available],说明配置成功。

5. 测试引擎功能

咱们来生成一个存储在TPM里的RSA密钥,测试引擎是否正常工作:

openssl genpkey -algorithm RSA -outform PEM -engine tpm2tss -out tpm_key.pem

如果命令执行成功,会生成一个tpm_key.pem文件——这个文件存储的是TPM密钥的引用(而非密钥本身),后续在.NET 8里用SafeEvpPKeyHandle.OpenPrivateKeyFromEngine("tpm2tss", ...)就能调用这个密钥了。

额外注意事项

  • 确保你的设备确实有TPM 2.0芯片,并且已经在BIOS/UEFI中启用了TPM功能;
  • 如果遇到引擎无法加载的情况,可以检查包是否安装完整,或者配置文件里的路径是否正确;
  • 后续在.NET 8代码中,指定引擎名称为tpm2tss即可调用这个OpenSSL引擎操作TPM中的密钥。

备注:内容来源于stack exchange,提问作者GuyWithDogs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:29:35