. NET'te bir derleme imzalama bir genel / özel anahtar çifti içerir. Bildiğim kadarıyla ben okudum ne söyleyebilirim. NET gömülü genel anahtarı ile kontrol, derleme imzalamak için RSA algoritması ve özel anahtarını kullanır.
Ben kamu anahtarı almak için biliyorum (Assembly.PublicKey
). Bu anahtar özel anahtar ile şifrelenmiş bazı verileri içeren bir kısa dize şifresini çözmek için kullanılacak olabilir eğer ben merak ediyordum.
Ben şimdiye kadar okudum dokümanlar (e.g.) yuvarlak sadece başka bir şekilde mümkün olduğunu ima görünüyor: Ben şifrelemek için ortak anahtarı ve şifresini çözmek için özel anahtarı kullanmak zorunda That - ama don 't gerçekten I. yapmak, mecliste o eklemek istiyorum
Ben sadece dize imzalı eğer, Tamam olurdu sanırım. Ama nasıl?
Ben bu başlatmak için nasıl bir kayıp biraz kulüpler. Herkes bir kod parçacığını var mı?
Ayrıca, bir web sunucusuna o boşaltması istiyorum çünkü küçük dize şifreleme / imzalama ideal, PHP olur ve biz bugüne kadar gereken tüm genel PHP / MySQL web sitesi ev sahipliği yaptı.
Use Case: Sanırım beta test için serbest bırakmak üzeresiniz bir yazılım için hafif bir lisans düzeni ile gelip çalışıyorum. Yazılım muhtemelen ücretsiz olacak bu yana, biz gerçekten ulaşmak istiyoruz hepsi bu
- yazılım yüklü olduğunu biliyor (e-posta adresi)
- let the software expire after a given period, after which the user will have to get a new license
- Bu formu doldurarak ve gelmesi tuşu ile otomatik bir e-posta bekleyen kadar kolaydır
- bizim itibar ısırmak için geri geliyor / bize musallat eski sürümleri olasılığına azaltmak için çalışıyoruz
Bir tuple (son kullanma tarihi, parmak izi) şifrelemek ve başlangıçta o şifresini güçlü olmak kolay bir lisanslama modülü yapacak: Uygulama başlatıldığında ilk kez, kullanıcı e-posta adresi, isim, organizasyon için istenir. Bu bilgiler bazı sistem bilgi (nic, bilgisayar adı, montaj büyük ve küçük sürüm) bir md5 parmak izi ile birlikte webserver nakledilir. Webserver e-posta ile cevap o diske kaydedilir başlığın (son kullanma tarihi, parmak izi) şifreli bir sürümü ile (e-posta adresi kontrol geçerlilik). Başlangıçta, bu deşifre ve güncel tarih ve rejenere parmak izi ile mukayese edilebilir.
EDIT: Tamam, bu yüzden henüz sorumun tüm cevapları yok. Ama benziyor. NET kolay şifreleme için özel anahtarı (bu hiç de mümkün ise, cevaplar gerçekten bu konuda aynı fikirde değilim) kullanmak için yapmayacağız.
Ben alacak rota (benim kullanım duruma göre) şudur:
- Ben lisans imzalamak için özel anahtarını kullanır.
- Ben lisans özel anahtar tarafından imzalandı doğrulamak için genel anahtarınızı kullanır
- Bazı Metni imzalamak için (
sn.exe
tarafından üretilen). NET tuşlarını nasıl PHP Devs yönelik bir başka soruyu yayınlayacağız - Gerçekten yine bir karma olduğu gibi, lisans görme kullanıcı hakkında endişeli ve o allready bildiği şeyler hesaplanan değilim. Bütün istediğim çok zor herhangi bana (yazılım ücretsiz olacak, unutmayın bilmeden benim yazılım kopyalamak için tipik bir bina mimar için zahmet değer yapmak için - İstediğim bütün yüklü kim bir kağıt iz ... )
Cevaplar için çok teşekkür ederim.