8
नमूना कोड नहीं मिली:RSACryptoServiceProvider से एक X509Certificate2 बनाएं साथ विफल अनुरोध किया वस्तु
CspParameters cspParameters = new CspParameters();
cspParameters.ProviderType = 1; // PROV_RSA_FULL
// Create the crypto service provider, generating a new
// key.
mRsaCSP = new RSACryptoServiceProvider(mDefaultKeyLength, cspParameters);
mRsaCSP.PersistKeyInCsp = true;
RSAParameters privateKey = mRsaCSP.ExportParameters(true);
byte[] rsaBytes = mRsaCSP.ExportCspBlob(true);
try
{
X509Certificate2 cert = new X509Certificate2(rsaBytes);
mKeyDataPfx = Convert.ToBase64String(cert.Export(X509ContentType.Pkcs12, password));
}
catch (Exception ce)
{
string error = ce.Message;
}
एक आरएसए कुंजी सीधे X509 प्रमाणपत्र के साथ संगत नहीं है। एक एक्स 50 9 सर्टिफिकेट को जारीकर्ता द्वारा हस्ताक्षरित कुंजी की आवश्यकता होती है, भले ही यह स्वयं हस्ताक्षरित हो। क्या आप हमें बता सकते हैं कि आप वास्तव में क्या करने की कोशिश कर रहे हैं? क्या आप गतिशील रूप से कोड में X509 प्रमाणपत्र बनाने की कोशिश कर रहे हैं? –
हां। यही वही है जो मैं करने की कोशिश कर रहा हूं। विचार यह है कि मेरे पास RSACryptoServiceProvider.ToXmlString (true) के साथ स्ट्रिंग के रूप में संग्रहीत पुराने आरएसए प्रमाण पत्र हैं। उन्हें पीएफएक्स फाइलों के रूप में पढ़ने और निर्यात करने की आवश्यकता होगी। नए आरएसए प्रमाणपत्रों को पीएफएक्स फाइलों के रूप में उत्पन्न और संग्रहीत करने की आवश्यकता होगी। – chiefbrownbotom
मेरा सुझाव है कि आप बाउंसी कैसल .NET स्रोत कोड और उदाहरण देखें। मुझे लगता है कि उदाहरण bccrypto-net-1.7-src \ csharp \ crypto \ test \ src \ pkcs \ example \ PKCS12Example.cs आपको प्रारंभ करना चाहिए। http://www.bouncycastle.org/csharp/ –