मुझे इसके लिए एक समाधान मिला और मैंने इसे यहां पोस्ट करने के बारे में सोचा जो अन्य लोगों की मदद कर सकता है जो इसी तरह की समस्या का सामना कर रहे हैं।
इसने .pem फ़ाइलों के साथ काम नहीं किया। मैंने नीचे दिए गए आदेश का उपयोग करके इसे एक .pfx फ़ाइल में बदल दिया है और यह ठीक काम करना शुरू कर दिया है।
openssl pkcs12 -inkey C:\Certs\client-key.pem -in C:\Certs\client-cert.pem -export -out C:\Certs\client-cert.pfx
संदर्भ:प्रमाणपत्र प्रमाणीकरण सहायता
संपादित करें
भौतिक pfx फ़ाइल बनाने के बजाय, मैं दो pem फ़ाइलों को संयोजित करने और इसे काम करने में सक्षम था। भविष्य में संदर्भ के लिए किसी के लिए कोड स्निपेट नीचे दिया गया है।
public X509Certificate2 GetCombinedCertificateAndKey(string certificatePath, string privateKeyPath)
{
using var publicKey = new X509Certificate2(certificatePath);
var privateKeyText = System.IO.File.ReadAllText(privateKeyPath);
var privateKeyBlocks = privateKeyText.Split("-", StringSplitOptions.RemoveEmptyEntries);
var privateKeyBytes = Convert.FromBase64String(privateKeyBlocks[1]);
using var rsa = RSA.Create();
if (privateKeyBlocks[0] == "BEGIN PRIVATE KEY")
{
rsa.ImportPkcs8PrivateKey(privateKeyBytes, out _);
}
else if (privateKeyBlocks[0] == "BEGIN RSA PRIVATE KEY")
{
rsa.ImportRSAPrivateKey(privateKeyBytes, out _);
}
var keyPair = publicKey.CopyWithPrivateKey(rsa);
var Certificate = new X509Certificate2(keyPair.Export(X509ContentType.Pfx));
return Certificate;
}