मैं निजी और सार्वजनिक कुंजी के लिए AsymmetricKeyParameter वस्तु है। यह देखने का सबसे आसान तरीका क्या है कि वे मेल खाते हैं?यह जांचने के लिए कि क्या निजी/सार्वजनिक कुंजी जोड़ी मिलान (.NET/BouncyCastle) का उपयोग करके मेल खाता है?
मैं कुछ पाठ (निजी कुंजी) एन्क्रिप्ट करने और कुछ पाठ (सार्वजनिक कुंजी) को डीक्रिप्ट करने की कोशिश कर रहा हूं। अभी तक मैं ऐसा करने में सक्षम नहीं हूं लेकिन यह गलत दृष्टिकोण की तरह लगता है।
अद्यतन:
X509Certificate2 c = new X509Certificate2(@"certificate.cer");
byte[] privateKeyData = System.IO.File.ReadAllBytes(@"private.key");
Org.BouncyCastle.X509.X509Certificate cert = DotNetUtilities.FromX509Certificate(c);
RsaPrivateCrtKeyParameters privateKey = (RsaPrivateCrtKeyParameters)PrivateKeyFactory.CreateKey(privateKeyData);
RsaKeyParameters publicKey = (RsaKeyParameters)cert.GetPublicKey();
if (privateKey.Modulus.Equals(publicKey.Modulus) && publicKey.Exponent.Equals(privateKey.PublicExponent))
{
//they match
}
आप सार्वजनिक कुंजी के साथ decrypting रहे हैं, तो आप वास्तव में डेटा पर हस्ताक्षर के बजाय एन्क्रिप्ट करने के लिए प्रयास कर रहे हैं? – weston
मैं चाबियाँ से मेल खाना चाहता हूं, मुझे नहीं पता कि इसे करने के बारे में कैसे जाना है। –