我正在尝试签署一份Visual Studio 2012 extension
被封装为VSIX
file.
我已按照以下说明进行操作http://www.jeff.wilcox.name/2010/03/vsixcodesigning/ http://www.jeff.wilcox.name/2010/03/vsixcodesigning/;但是,我有兴趣在不指定 pfx 文件和密码的情况下执行签名。
例如,如果我要调用“signtool.exe”,我的命令行将是:
"signtool.exe" sign /n MySubjectName /t 'http://timestamp.verisign.com/scripts/timstamp.dll' /d "MyDescription" MyPackage.vsix
据我所知,该命令不适用于VSIX
文件,尽管它确实适用于MSI
档案。
使用此命令,我在调用signtool时不需要指定密码或pfx文件。使用指定主题选择最佳安装的证书MySubjectName
.
按照以下代码杰夫的博客 http://www.jeff.wilcox.name/2010/03/vsixcodesigning/,签名步骤需要定义 pfx 文件名和密码来创建X509Certificate2
用于签名:
private static void SignAllParts(Package package, string pfx, string password, string timestamp){
var signatureManager = new PackageDigitalSignatureManager(package);
signatureManager.CertificateOption = CertificateEmbeddingOption.InSignaturePart;
/*...*/
signatureManager.Sign(toSign, new System.Security.Cryptography.X509Certificates.X509Certificate2(pfx, password));
}
有没有涉及到的APIPackageDigitalSignatureManager
这可能会让我找到一个X509Certificate
基于MySubjectName
这样我就可以签字反对?