Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uzantı derlemelerinin Visual Studio'da çalıştırılabilmesi için önce imzalanması gerekmez, ancak bunu yapmak iyi bir uygulamadır.
VSIX paketine dijital imza eklemek, uzantınızın güvenliğini sağlar ve kurcalamayı önler. Yükleme sırasında VSIX yükleyicisi imzayı ve sertifikanın bağlantısını görüntüler. VSIX'in içeriği imza güncelleştirilmeden değiştirilirse, yükleyici kullanıcıyı yalnızca geçersiz bir paket imzası konusunda uyarır. Bu kılavuzda, zaten bir VSIX oluşturmuş olduğunuzvarsayılır.
Kod imzalama sertifikası alma
Geçerli sertifikalar aşağıdakiler gibi bir genel sertifika yetkilisinden alınabilir:
- Certum
- Comodo
- DigiCert
- GlobalSign
- SSL.com
Windows tarafından güvenilen sertifika yetkililerinin tam listesi de http://aka.ms/trustcertpartners'den alınabilir.
Test amacıyla kendi kendine verilen sertifikaları kullanabilirsiniz. Ancak, kendi kendine verilen sertifikalar kullanılarak imzalanan VSIX paketleri Visual Studio Market tarafından kabul edilmemektedir. .NET CLI ile otomatik olarak imzalanan sertifikalar oluşturmahakkında daha fazla bilgi edinin.
Bir VSIX'i Sign CLI ile imzalama
VSIXSignTool, Sign CLI (github.com)tercih edildiği için kullanım dışı bırakıldı. Bu araç, İmzala (nuget.org) altında bir dotnet aracı olarak NuGet'e yayımlanır ve yerel imzalamayı veya Azure Key Vault bulut imzalamayı destekler.
Yerel imzalama için Sign CLI, şu konumların herhangi bir bileşiminde depolanan sertifikaları ve özel anahtarları destekler:
-
PFX,P7BveyaCERdosyalarını - Windows Sertifika Yöneticisi'ne aktarıldı
- Şifreleme Hizmeti Sağlayıcısı (CSP) aracılığıyla erişime sahip bir USB cihazında depolanır
Sign CLI'yi yükleme
Bir Geliştirici PowerShell örneği açın.
NuGet kaynağı olarak nuget.org eklendiğini ve etkinleştirildiğini doğrulayın.
-
dotnet nuget list sourcekullanarak kaynaklarınızı denetleme -
dotnet nuget add source -n NuGet.org https://api.nuget.org/v3/index.jsonkullanarak kaynak olarak NuGet.org ekleme
-
dotnet tool install sign --version <version> --globalçalıştırarak Sign'ı yükleyin; burada<version>Sign (nuget.org)altında kullanılabilir en son sürümdür.-
--globalisteğe bağlıdır ve aracı PATH ortam değişkenine otomatik olarak eklenen .NET araçları varsayılan konumuna yükler.
-
İmza CLI'sinin Çevrimdışı Yüklemesi
Yalıtılmış ortamlar için en son Sign CLI NuGet paketini indirebilir ve şu komutu kullanarak yükleyebilirsiniz:
dotnet tool install --global --add-source <path-to-folder> <tool-name> --version <version>
Mesela:
dotnet tool install --global --add-source D:\NuGetTools sign --version 99.0
İmza CLI'sını kullanma
Yüklendikten sonra, sign CLI'ya sign code <command> <options>kullanılarak bir Geliştirici PowerShell örneğinde erişilebilir. Seçeneklerin ayrıntılı dökümü için bkz. VSIX Paketleri için CLI Referansı. komut satırından sign code -hyazarak yardım alabilirsiniz.
Önemli
Sign CLI yalnızca geçerli parmak izi algoritmaları olarak SHA-256, SHA-384ve SHA-512 destekler. PowerShell'i kullanarak parmak izi alabilirsiniz: Get-FileHash -Algorithm SHA256 <path to .cer file> | Format-Table -AutoSize
- SHA-256 parmak iziyle PFX dosyası kullanarak imzalama:
sign code certificate-store -cfp 80BB567B...52CB95D4C -cf "D:\Certs\f5ec6169345347a7cd2f83af662970d5d0bfc914.pfx" -d "My VSIX Signature" -t "http://timestamp.acs.microsoft.com/" "C:\Users\Contoso\Downloads\FingerSnapper2022.vsix"
Not
PFX dosyaları hem sertifika hem de imzalama için kullanılan özel anahtar içerir ve Genişletilmiş Doğrulama (EV) ve EV dışı imzalama için C/A Tarayıcı Forumu gereksinimlerine uymaz. yalnızca Sağlamlaştırılmış Güvenli Modül (HSM) cihazında depolanan özel anahtarların kullanılması ve şifreleme hizmeti sağlayıcısı (CSP) kullanarak bunlara erişmeniz önerilir.
- Microsoft Sertifika Yöneticisi ve SHA512 parmak izi kullanarak imzalama (-csp seçenek):
sign code certificate-store -cfp A87A60A6F...894559B98 -csp "Microsoft Software Key Storage Provider" -d "VSIX Signature" -t "http://timestamp.acs.microsoft.com/" "C:\Users\Contoso\Downloads\FingerSnapper2022.vsix"
- USB sürücüsünde özel anahtar kullanarak imzalama (-csp seçenek):
sign code certificate-store -cfp B113E82D...F5CF294BE0B -csp "eToken Base Cryptographic Provider" -d "VSIX Signature" -t "http://timestamp.acs.microsoft.com/" "C:\Users\Contoso\Downloads\FingerSnapper2022.vsix"
- Belirli bir anahtar kapsayıcısı (-csp ve -k seçenekleri) kullanarak bir USB sürücüsü ile imzalama:
sign code certificate-store -cfp 15BB56B0...1ACB959D0 -csp "eToken Base Cryptographic Provider" -k "NuGet Signing.629c9149345347cd2f83af6f5ec70d5d0a7bf616" -d "VSIX Signature" -t "http://timestamp.acs.microsoft.com/" "C:\Users\Contoso\Downloads\FingerSnapper2022.vsix"
İlgili içerik
- Visual Studio Uzantılarını Yayınlama
- VSIX Paketleri için CLI Başvurusu İmzala