Aracılığıyla paylaş


Nasıl yapılır: Ortak-özel anahtar çifti oluşturma

Bir derlemeyi kesin adla imzalamak için ortak/özel anahtar çiftine sahip olmanız gerekir. Bu ortak ve özel şifreleme anahtar çifti, derleme sırasında güçlü adla adlandırılmış bir derleme oluşturmak için kullanılır. Tanımlayıcı Ad aracını (Sn.exe) kullanarak bir anahtar çifti oluşturabilirsiniz. Anahtar çifti dosyaları genellikle bir .snk uzantısına sahiptir.

Uyarı

.NET 'de (.NET Core ve .NET 5 ve üzeri), tanımlayıcı adların çalışma zamanı doğrulaması yoktur. Tanımlayıcı ad imzalama, .NET Framework birlikte çalışabilirlik senaryolarıyla temel olarak .NET Framework ve .NET Standard 2.0 için geçerlidir. .NET Framework'leri hedeflemiyorsanız, kuruluşunuz veya tüketicileriniz gerektirmediği sürece genellikle derlemenize kesin ad vermeniz gerekmez.

Uyarı

Visual Studio'da C# ve Visual Basic proje özellik sayfaları, mevcut anahtar dosyalarını seçmenize veya Sn.exe kullanmadan yeni anahtar dosyaları oluşturmanıza olanak tanıyan bir Signing sekmesi içerir. Visual C++'da, Özellik Sayfaları penceresinin Yapılandırma Özellikleri bölümünün Bağlayıcı bölümündeki Gelişmiş özellik sayfasında mevcut bir anahtar dosyasının konumunu belirtebilirsiniz. Anahtar dosya çiftlerini tanımlamak için AssemblyKeyFileAttribute özniteliğinin kullanılması, Visual Studio 2005'le başlayarak kullanımdan kaldırıldı.

Anahtar çifti oluşturma

Uyarı

Sn.exe herhangi bir işletim sistemindeki .NET SDK'sında yer almaz. Sadece Windows'ta kullanılabilir ve Visual Studio veya Windows SDK'sını yükleyerek elde edilir.

Anahtar çifti oluşturmak için komut isteminde aşağıdaki komutu yazın:

sn –k<dosya adı>

Bu komutta dosya adı , anahtar çiftini içeren çıkış dosyasının adıdır.

Aşağıdaki örnek , sgKey.snk adlı bir anahtar çifti oluşturur.

sn -k sgKey.snk

Bir derlemeyi imzalamayı geciktirmek istiyorsanız ve anahtar çiftinin tamamını (test senaryolarının dışında olma olasılığı düşüktür) denetlerseniz, aşağıdaki komutları kullanarak bir anahtar çifti oluşturabilir ve ardından ortak anahtarı ondan ayrı bir dosyaya ayıklayabilirsiniz. İlk olarak anahtar çiftini oluşturun:

sn -k keypair.snk

Ardından, ortak anahtarı anahtar çiftinden ayıklayın ve ayrı bir dosyaya kopyalayın:

sn -p keypair.snk public.snk

Anahtar çiftini oluşturduktan sonra, dosyayı güçlü ad imzalama araçlarının bulabileceği bir yere koymanız gerekir.

Derlemeyi kesin adla imzalarken, Derleme Bağlayıcısı (Al.exe), geçerli dizine ve çıkış dizinine göre anahtar dosyasını arar. Komut satırı derleyicilerini kullanırken anahtarı kod modüllerinizi içeren geçerli dizine kopyalamanız yeterlidir.

Proje özelliklerinde Signing sekmesi olmayan önceki bir Visual Studio sürümü kullanıyorsanız, önerilen anahtar dosya konumu, dosya özniteliği aşağıda belirtilen proje dizinidir:

[assembly:AssemblyKeyFileAttribute("keyfile.snk")];
[assembly:AssemblyKeyFileAttribute("keyfile.snk")]
<Assembly:AssemblyKeyFileAttribute("keyfile.snk")>

Ayrıca bakınız