का उपयोग कर मैं मेकर्ट द्वारा उत्पन्न प्रमाणपत्र का उपयोग कर रहा हूं जिसमें निजी और सार्वजनिक कुंजी दोनों हैं। जावा पक्ष डेटा को एन्क्रिप्ट करने के लिए इस सार्वजनिक कुंजी का उपयोग करता है और .NET इसे वापस डिक्रिप्ट करता है।rsacryptoserviceprovider x509 प्रमाणपत्र C#
मैं जावा की एन्क्रिप्टेड 64 बिट एन्कोडेड स्ट्रिंग को डिक्रिप्ट करने और खराब डेटा प्राप्त करने का प्रयास कर रहा हूं।
यह देखने के लिए कि क्या सब अच्छा है। अंत में, मैंने फ्रिस्ट ने सार्वजनिक कुंजी से एन्क्रिप्ट करने की कोशिश की और फिर उसी प्रमाणपत्र का उपयोग करके निजी के साथ डिक्रिप्ट किया। मेरा कोड इस तरह दिखता है।
X509Certificate2 cert = GetCert(key, StoreName.My, StoreLocation.LocalMachine);
RSACryptoServiceProvider provider = (RSACryptoServiceProvider)cert.PrivateKey;
RSACryptoServiceProvider publicprovider = (RSACryptoServiceProvider)cert.PublicKey.Key;
if (cert.HasPrivateKey)
MessageBox.Show("Got private key");
byte[] encrypted = publicprovider.Encrypt(Encoding.UTF8.GetBytes(text), false);
byte[] decryptedBytes = provider.Decrypt(encrypted, false);
यहां तक कि मुझे त्रुटि भी मिल रही है। क्या मैं कुछ भूल रहा हूँ?
प्रमाणपत्र सार्वजनिक और निजी कुंजी दोनों के साथ मान्य दिखता है।
क्या त्रुटि? और किस लाइन पर? –
अपवाद: खराब डेटा .. कोई और आंतरिक अपवाद जब बाइट [] decryptedBytes = प्रदाता। डिक्रिप्ट (एन्क्रिप्टेड, झूठा); को – bkhanal