我有一个结合了C#和Excel的VSTO项目。我的雇主要求我使用我没有pfx文件的证书签名,我只有芯片卡上的证书。在没有pfx文件的情况下签署Excel/VSTO项目
我已经阅读了大多数手册和在这里提到的有关签署VSTO的问题,但都以某种方式假定我拥有pfx文件。我在Visual Studio中设置如下:
- “签署ClickOnceManifest”被选中,使用从芯片卡的证书中选择
- “从库中选择”‘签署Assemly’被选中。我没有pfx文件,所以我点击“新建”并创建了一个名为assemblySigningCertificate.pfx的证书(这可能是一个完全虚假的步骤,但这是我获得的唯一pfx)
发布项目后,我运行一旦完成所有这些,更新使用mage.exe这样的签名,
set AppPublishPath=publish set AppPublishVersionPath=publish\Application Files\diagramUnifier_1_0_0_0 copy bin\Debug\*.dll "%AppPublishVersionPath%" copy bin\Debug\*.dll.config "%AppPublishVersionPath%" copy bin\Debug\*.exe "%AppPublishVersionPath%" mage.exe -update "%AppPublishVersionPath%\diagramUnifier.dll.manifest" -ch "… certificate hash from certmgs.msc " mage.exe -update "%AppPublishVersionPath%\diagramUnifier.vsto" -appmanifest "%AppPublishVersionPath%\diagramUnifier.dll.manifest" -ch "… certificate hash from certmgs.msc " mage.exe -update "%AppPublishPath%\diagramUnifier.vsto" -appmanifest "%AppPublishVersionPath%\diagramUnifier.dll.manifest" -ch "… certificate hash from certmgs.msc "
一个剧本,我安装VSTO并运行XLSM文件。我收到一个“SignatureDescription无法从指定算法提供的”错误指向VSTO文件创建。错误的详细信息只提供了一个stackTrace,没有别的。
我的问题是:
- 是它甚至有可能签不为我有一个PFX文件的证书VSTO项目?
- 如果我没有pfx文件,是否正确地在设置中的“签名程序集”部分创建新证书
- 我在做其他事情完全错误吗?
任何帮助是非常赞赏, 丹尼尔
谢谢。只需要清楚一点 - 雇主的IT安全部门。根本不希望任何人拥有一个pfx文件(不知道原因)。那么获得一个pfx文件是获得我在VSTO签署情况下所需的唯一方法吗? –
是的,先生。您需要实际的pfx文件。除非您使用自签名测试环境 – Hyrein