Visual Studio 2012 extension
ファイルとしてパッケージ化されたに署名しようとしていVSIX
ます。
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 ファイルを指定する必要がありません。指定された subject を使用して、最適にインストールされた証明書が選択されますMySubjectName
。
Jeff のブログのコードに従って、署名ステップでは、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));
}
それに対して署名できるように、ベースをPackageDigitalSignatureManager
見つけることができる API はありますか?X509Certificate
MySubjectName