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

Certbot生成的PFX证书在Hololens2 Unity应用加载时抛CryptographicException

问题描述

我们的Hololens2应用基于未弃用的MixedReality-WebRTC库开发,原证书过期后需替换新证书且不能修改源码。通过Linux服务器上的Certbot生成SSL证书后,得到以下文件:

/etc/letsencrypt/live/<myurl>/privkey.pem
/etc/letsencrypt/live/<myurl>/cert.pem
/etc/letsencrypt/live/<myurl>/fullchain.pem

按照文档执行命令生成PFX:

openssl pkcs12 -inkey privkey.pem -in cert.pem -certfile fullchain.pem -export -out app.pfx

将PFX放到Windows 10的Unity项目中,执行以下C#代码时抛出System.Security.Cryptography.CryptographicException: Input data cannot be coded as a valid certificate异常:

var certificate = new X509Certificate2(path_to_pfx, "MyPassword");

尝试读取字节数组加载也失败:

byte[] contents = File.ReadAllBytes(path_to_pfx);
var certificate = new X509Certificate2(contents, "MyPassword");

当前环境:Unity 2020.3.28f1(基于Mono 5.11.0,无法升级),曾尝试在Windows用OpenSSL生成PFX,同样无效。此前GoDaddy证书导出的PFX可正常加载,但有其他问题,现寻求Certbot证书生成PFX的加载解决方案。


解决方案

针对Mono 5.11的兼容性限制,推荐以下几种方案:

方案1:生成PFX时指定兼容旧版Mono的加密算法

旧版Mono对AES加密的PFX支持有限,生成时强制使用SHA1+3DES算法组合:

openssl pkcs12 -inkey privkey.pem -in cert.pem -certfile fullchain.pem -export -out app.pfx -certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES -macalg SHA1

执行时输入设置的密码,生成的PFX可匹配Mono 5.11的解析逻辑。

方案2:精简证书链,仅包含服务器证书和中间证书

Certbot的fullchain.pem包含根证书,旧版Mono可能无法识别其格式。改用chain.pem(仅中间证书)生成PFX:

openssl pkcs12 -inkey privkey.pem -in cert.pem -certfile /etc/letsencrypt/live/<myurl>/chain.pem -export -out app.pfx -certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES -macalg SHA1

方案3:通过Windows证书管理器重新导出PFX

将Certbot的PEM文件复制到Windows后,利用系统工具生成兼容PFX:

  1. 双击cert.pem,选择“安装证书”,导入到本地计算机-个人证书存储
  2. 双击chain.pem,导入到本地计算机-中间证书颁发机构存储
  3. 打开“证书管理器”,找到导入的服务器证书,右键选择「所有任务→导出」
  4. 选择「是,导出私钥」,选择PFX格式,勾选「包括所有证书路径中的证书」,设置密码后完成导出
  5. 将导出的PFX替换Unity项目中的文件

方案4:(备选,若允许修改一行代码)添加密钥存储标志

如果能修改加载代码的一行,添加X509KeyStorageFlags可解决权限或解析问题:

var certificate = new X509Certificate2(path_to_pfx, "MyPassword", X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);

内容的提问来源于stack exchange,提问作者P-ratt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:25:01