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.
Bu makale şunlar için geçerlidir: ✔️ .NET 6 SDK ve sonraki sürümler
Veri Akışı Adı
dotnet nuget sign - İlk bağımsız değişkenle eşleşen tüm NuGet paketlerini bir sertifikayla imzalar.
Özet
dotnet nuget sign [<package-path(s)>]
[--certificate-path <PATH>]
[--certificate-store-name <STORENAME>]
[--certificate-store-location <STORELOCATION>]
[--certificate-subject-name <SUBJECTNAME>]
[--certificate-fingerprint <FINGERPRINT>]
[--certificate-password <PASSWORD>]
[--hash-algorithm <HASHALGORITHM>]
[-o|--output <OUTPUT DIRECTORY>]
[--overwrite]
[--timestamp-hash-algorithm <HASHALGORITHM>]
[--timestamper <TIMESTAMPINGSERVER>]
[-v|--verbosity <LEVEL>]
dotnet nuget sign -h|--help
Açıklama
komutu, dotnet nuget sign ilk bağımsız değişkenle eşleşen tüm paketleri bir sertifikayla imzalar. Özel anahtara sahip sertifika, konu adı veya SHA-1 parmak izi sağlanarak bir dosyadan veya sertifika deposunda yüklü bir sertifikadan alınabilir.
Not
Bu komut hem kod imzalama hem de zaman damgası için geçerli bir sertifika kök deposu gerektirir. Ayrıca, bu komut bazı işletim sistemi ve .NET SDK bileşimlerinde desteklenmeyebilir. Daha fazla bilgi için bkz . NuGet imzalı paket doğrulama.
Bağımsız değişkenler
package-path(s)İmzalanacak paketlerin dosya yolunu belirtir. Birden çok paketin oturumunu açmak için birden çok bağımsız değişken geçirilebilir.
Seçenekler
--certificate-path <PATH>Paketi imzalamak için kullanılacak sertifikanın dosya yolunu belirtir.
Not
Bu seçenek şu anda yalnızca
PKCS12 (PFX)sertifikanın özel anahtarını içeren dosyaları destekler.--certificate-store-name <STORENAME>Sertifikayı aramak için kullanılacak X.509 sertifika deposunun adını belirtir. Varsayılan olarak , kişisel sertifikalar "My"için X.509 sertifika deposu. Bu seçenek, veya
--certificate-subject-nameseçenekleri aracılığıyla--certificate-fingerprintsertifika belirtilirken kullanılmalıdır.--certificate-store-location <STORELOCATION>Sertifikayı aramak için kullanılan X.509 sertifika deposunun adını belirtir. "CurrentUser"Varsayılan olarak , geçerli kullanıcı tarafından kullanılan X.509 sertifika deposu. Bu seçenek, veya
--certificate-subject-nameseçenekleri aracılığıyla--certificate-fingerprintsertifika belirtilirken kullanılmalıdır.--certificate-subject-name <SUBJECTNAME>Yerel bir sertifika deposunda sertifika aramak için kullanılan sertifikanın konu adını belirtir. Arama, sağlanan değeri kullanan büyük/küçük harfe duyarlı olmayan bir dize karşılaştırmasıdır ve diğer konu değerlerine bakılmaksızın bu dizeyi içeren konu adına sahip tüm sertifikaları bulur. Sertifika deposu ve
--certificate-store-nameseçenekleri tarafından--certificate-store-locationbelirtilebilir.Not
Bu seçenek şu anda sonuçta yalnızca tek bir eşleşen sertifikayı destekler. Sonuçta birden çok eşleşen sertifika varsa veya sonuçta eşleşen sertifika yoksa, işaret komutu başarısız olur.
--certificate-fingerprint <FINGERPRINT>Yerel bir sertifika deposunda sertifikayı aramak için kullanılan sertifikanın parmak izini belirtir.
.NET 9'dan başlayarak, bu seçenek sertifikanın SHA-1, SHA-256, SHA-384 veya SHA-512 parmak izini belirtmek için kullanılabilir. Ancak, sha-1 sertifika parmak izi kullanıldığında artık güvenli olarak kabul edilmediğinden bir
NU3043uyarı oluşturulur. .NET 10 ve sonraki sürümlerde uyarı bir hataya yükseltilir. Yalnızca SHA-2 ailesi parmak izleri (SHA-256, SHA-384 ve SHA-512) desteklenir..NET SDK'nın tüm pre-.NET 9 sürümleri yalnızca SHA-1 sertifika parmak izini kabul etmeye devam ediyor.
--certificate-password <PASSWORD>Gerekirse sertifika parolasını belirtir. Sertifika parola korumalıysa ancak parola sağlanmazsa, imzalama komutu başarısız olur.
Not
signkomutu yalnızca etkileşimli olmayan modu destekler. Çalışma zamanında parola istenmez.--hash-algorithm <HASHALGORITHM>Paketi imzalamak için kullanılacak karma algoritması. Varsayılan olarak SHA256'dır. Olası değerler SHA256, SHA384 ve SHA512'dir.
-o|--outputİmzalı paketin kaydedileceği dizini belirtir. Bu seçenek belirtilmezse, imzalı paket varsayılan olarak özgün paketin üzerine yazılır.
--overwriteGeçerli imzanın üzerine yazılması gerektiğini belirtin. Pakette zaten imza varsa komut varsayılan olarak başarısız olur.
--timestamp-hash-algorithm <HASHALGORITHM>RFC 3161 zaman damgası sunucusu tarafından kullanılacak karma algoritma. Varsayılan olarak SHA256'dır.
--timestamper <TIMESTAMPINGSERVER>RFC 3161 zaman damgası sunucusunun URL'si.
-
-v|--verbosity <LEVEL>Komutun ayrıntı düzeyini ayarlar. İzin verilen değerler ,
q[uiet],m[inimal],n[ormal]ved[etailed]değerleridirdiag[nostic]. Varsayılan değer:minimal. Daha fazla bilgi için bkz. LoggerVerbosity. -
-?|-h|--helpkomutunun nasıl kullanılacağına ilişkin bir açıklama yazdırır.
Örnekler
cert.pfx sertifikasıyla foo.nupkg imzalayın (parola korumalı değil):
dotnet nuget sign foo.nupkg --certificate-path cert.pfxcert.pfx sertifikasıyla foo.nupkg imzalayın (parola korumalı):
dotnet nuget sign foo.nupkg --certificate-path cert.pfx --certificate-password passwordFoo.nupkg dosyasını sertifika (parola korumalı) ile imzalayın ve varsayılan sertifika deposunda belirtilen SHA-256 parmak iziyle eşleşir (CurrentUser\My):
dotnet nuget sign foo.nupkg --certificate-fingerprint B2C40F2F8775D7B7EBEB76BD5A9D3A4BC3F4B8A4D8D7C5F8A4C6B3E7A9E2D5F1 --certificate-password passwordFoo.nupkg dosyasını sertifikayla imzala (parola korumalı) varsayılan sertifika deposunda belirtilen konu adıyla "Test certificate for testing signing" eşleşir (CurrentUser\My):
dotnet nuget sign foo.nupkg --certificate-subject-name "Test certificate for testing signing" --certificate-password passwordSertifika (parola korumalı) ile foo.nupkg dosyasını, CurrentUser\Root sertifika deposunda belirtilen SHA-256 parmak iziyle eşleştirin:
dotnet nuget sign foo.nupkg --certificate-fingerprint B2C40F2F8775D7B7EBEB76BD5A9D3A4BC3F4B8A4D8D7C5F8A4C6B3E7A9E2D5F1 --certificate-password password --certificate-store-location CurrentUser --certificate-store-name Rootcert.pfx sertifikasıyla belirtilen dizinde (parola korumalı değil) birden çok NuGet paketi - foo.nupkg ve tüm .nupkg dosyalarını imzalayın:
dotnet nuget sign foo.nupkg c:\mydir\*.nupkg --certificate-path cert.pfxcert.pfx sertifikasıyla
dotnet nuget sign foo.nupkg --certificate-path cert.pfx --certificate-password password --timestamper http://timestamp.testFoo.nupkg dosyasını cert.pfx sertifikasıyla (parola korumalı değil) imzalayın ve imzalı paketi belirtilen dizin altına kaydedin:
dotnet nuget sign foo.nupkg --certificate-path cert.pfx --output c:\signed\Foo.nupkg dosyasını cert.pfx sertifikasıyla (parola korumalı değil) imzalayın ve paket zaten imzalıysa geçerli imzanın üzerine yazın:
dotnet nuget sign foo.nupkg --certificate-path cert.pfx --overwrite