У меня есть открытый ключ RSA в формате XML.Мне нужно взять этот ключ и создать сертификат x.509, используя этот открытый ключ.У меня нет доступа к закрытому ключу для завершения пары ключей.Все примеры, которые я нашел, включают либо генерацию пары ключей, либо доступ к открытым и закрытым ключам.
Ниже приведен небольшой фрагмент программы тестирования, над которой я работал, чтобы выполнить это.
RSACryptoServiceProvider provider = new RSACryptoServiceProvider();
provider.FromXmlString("<RSAKeyValue><Modulus>puEVvRbrLAz.......c1W5j/vqJSUrXo16k=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>");
Org.BouncyCastle.Crypto.Parameters.RsaKeyParameters key = Org.BouncyCastle.Security.DotNetUtilities.GetRsaPublicKey(provider);
//<!*** Do some code to take RsaKeyParameters and create an x.509 Certificate ***>
var fOut = new System.IO.StreamWriter(@"C:\certificate.pem", false);
var pw = new Org.BouncyCastle.OpenSsl.PemWriter(fOut);
pw.WriteObject(key);