0
我有一个XML格式的RSA公钥。我需要使用该密钥并使用该公钥创建一个x.509证书。我无权访问私钥来完成密钥对。我发现的所有示例都涉及生成密钥对或者同时访问公钥和私钥。如何仅基于RSA格式的公钥生成x509Certificate?
下面是我一直在努力完成的测试例程的一小段代码。
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);
这样的证书不会给你什么(并不是说你必须以某种方式签署它)。你为什么需要这样做? –
只有公钥才能创建有效的X.509证书。 –