के साथ डिक्रिप्ट मुझे एक संदेश usg09 प्रमाणपत्र को डिक्रिप्ट करने में कोई समस्या है।PrivateKey X.509 प्रमाणपत्र
मैं इस विकल्प के साथ makecert के साथ अपने प्रमाण पत्र उत्पन्न:
makecert -r -pe -n "CN=MyCertificate" -ss CA -sr CurrentUser -a sha1 -sky signature -cy authority -sv CA.pvk CA.cer
और PrivateKey "mypassword" था।
मेरी समस्या तब होती है जब मैं पिछले प्रमाणपत्र के साथ सी # में एन्क्रिप्ट करना चाहता हूं।
मुझे यह कक्षा http://blog.shutupandcode.net/?p=660 मिली, लेकिन X509Decrypt विधि में हमेशा निजीकी शून्य है।
public static byte[] X509Decrypt(byte[] data, string certificateFile, string password) { // load the certificate and decrypt the specified data using (var ss = new System.Security.SecureString()) { foreach (var keyChar in password.ToCharArray()) ss.AppendChar(keyChar); // load the password protected certificate file X509Certificate2 cert = new X509Certificate2(certificateFile, ss); using (RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)cert.PrivateKey) { return rsa.Decrypt(data, true); } } }
मैं प्रमाणपत्र फ़ाइल (.cer)
X509DecryptString(token, @"c:\CA.cer", "mypassword");
गुजर और PVK फ़ाइल (.pvk)
X509DecryptString(token, @"c:\CA.pvk", "mypassword");
गुजर करने की कोशिश की लेकिन allways कि PrivateKey संपत्ति अशक्त है।
क्या कोई मुझे पीवीके फ़ाइल का उपयोग कर संदेश को डिक्रिप्ट करने के लिए मार्गदर्शन कर सकता है?
धन्यवाद,
जोस
मैं गलत था। "mypassword" निजी कुंजी नहीं था। आपकी टिप्पणी के लिए धन्यवाद यह सहायक रहा था। नई पीएफएक्स फ़ाइल के साथ मैं संदेश को डिक्रिप्ट कर सकता हूं। – jomarmen