PublicKeyToken ve genel anahtar arasındaki fark nedir?

oy
6

Her imzalı .NET bir ortak anahtar belirteci (8 bayt) ve bir ortak anahtar (128 bayt) hem de sahiptir. Ne 2 arasında fark olduğunu ve neden biz iki kamu tuşları gerekiyor?

Oluştur 30/03/2011 saat 13:58
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
6

Açık Anahtar kodu yalnızca bir genel anahtar karması . İşte için bilgi .


GÜNCELLEŞTİRME

kamu anahtarı lazım Neden?

Montaj imzalanmış ve imzalanabilir yana montajlar genel anahtarı içerecektir. DLL .NET yüklerken imza karşılığı montaj doğrulamak için ortak anahtarı kullanacaktır. Genel anahtar kendisi imzayı doğrulamak için kullanılabilir iken İmza sadece özel anahtar kullanılarak üretilebilir.

Bu süreç emin montaj dokunulmadığından yapar.

C # yoluyla CLR Gönderen:

özel bir anahtar ile bir montaj imzalama karşılık gelen kamusal anahtarı taşıyıcı düzeneği imal sağlar. Montaj GAC içine monte edildiğinde, sistem bildirimi içeren dosyasının içeriğini karma ve (genel anahtar ile imzalamayışına sonra) PE dosyası içinde gömülü RSA sayısal imza değeri ile karma değeri karşılaştırır. değerleri aynıysa, dosyanın içeriğini tahrif edilmemiş ve size yayıncının özel anahtara karşılık gelen umumi anahtara sahip olduğunu biliyoruz. Buna ek olarak, sistem meclisin diğer dosyaların içeriğini sağlamalarının ve tezahür dosyanın FileDef tabloda saklanan hash değerleri ile karma değerlerini karşılaştırır. karma değerlerin herhangi toplanma, en az bir' uyuşmuyorsa


GÜNCELLEME 2

Neden ortak anahtar belirteci gerekli? Genel anahtar (CLR vize C # Yine) bu yüzden çalışmak için çok büyük olduğundan:

Kamu tuşların boyutu ile çalışmak için onları zor hale getirir. geliştirici için işleri kolaylaştırmak için (ve son kullanıcılar da için), açık anahtar belirteçleri yaratıldı. Genel anahtar belirteci genel anahtar bir 64 bit karma olduğunu. Sn.exe en -tp anahtar çıktısı sonunda tamamen genel anahtara uygun düşer ortak anahtar belirteci gösterir. Genel anahtarlar bu kadar büyük sayılardır ve tek montaj birçok meclisleri başvurmak sağlayabileceğinden, ortaya çıkan dosyanın toplam boyutunun büyük bir yüzdesi genel anahtar bilgilerle işgal edilecektir. depolama alanı korumak için, Microsoft ortak anahtarını sağlamalarının ve karma değeri son 8 bayt alır. Bunlar azaltılmış genel anahtar değerleri bilinen genel anahtar olarak aslında bir AssemblyRef tabloda ne saklanır jeton-vardır. Genel olarak, geliştiriciler ve son kullanıcılar ortak anahtar belirteci değerlerini çok daha sık daha tam açık anahtar değerlerini göreceksiniz. birkaç ortak anahtarlar tek bir ortak anahtar belirteci için karma olması mümkündür, çünkü güvenlik veya güven kararlar alırken CLR asla ortak anahtar belirteçleri kullandığı, ancak, unutmayın.

Cevap 30/03/2011 saat 14:01
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more