Nasıl php bir dize oturum sn.exe ile üretilen bir anahtarı kullanabilir?

1 Cevap ûnet

Bu verilerin imzalı parçalarını alışverişinde C # ve PHP alma doğrultusunda başka bir soru. Benim senaryoda, ben bir genel anahtar ile istemci tarafında imzalı bir C # derleme var. Ben de özel bir anahtar ile sunucu üzerinde bir PHP sayfası var. Ben özel anahtar PHP ile bazı verileri imzalamak ve istemci üzerinde C #, kamu anahtar karşı imzayı kontrol edebilmek istiyorum.

I've figured out how to generate a public/private key file with sn.exe (duh). This is the format I need for .NET to sign assemblies etc. Once signed, the assembly can provide the public key as a property (something like Assembly.GetName().PublicKey)

Ayrıca, ben muhtemelen veri için bir imza oluşturmak için openssl_sign() işlevini kullanmak istiyorum, anladım. Bu örnek, bir .pem dosyadan bayt bir sabit uzunluğa okuma göstermektedir. Bu dosya yok.

Ben .pem dosyası sadece bir XML karşılaştırılabilir kamu / özel anahtar bilgileri saklama yolu, ve ben RSACryptoServiceProvider ile üretebilir CspBlob şeyler sanırım. Bu formatlar arasında ilişki nedir? Nasıl ben bir başka dönüştürebilirsiniz?

1 Cevap

Güvenli bilgi alışverişi için not bir. NET derleme imzalamak için kullanılacak anlamına geliyordu gibi sn.exe tarafından oluşturulan özel / kamu çifti kullanmak gerekir. Iki dilde doğru bir şifreleme algoritması uygulanan varsayarsak, sadece aynı anahtarları (dize değerleri) ve aynı algoritmayı kullanmak gerekir. Zor =) olamaz

, Burada bir göz atın lütfen:. Generating Keys for Encryption and Decryption bunu NET tarafında kamu / özel tuşları nasıl kullanacakları hakkında daha fazla bilgi içerir.