簡體   English   中英

如何僅基於RSA格式的公鑰生成x509Certificate?

[英]How do you generate an x509Certificate based solely on a public key in RSA format?

我有一個XML格式的RSA公鑰。 我需要使用此密鑰並使用該公鑰創建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);

只是為了澄清僅使用公鑰生成證書的不可能性的問題。

AFAIK, 證書必須簽名 它必須使用私鑰來完成 - 這就是為什么你需要一個用於生成證書的原因。 如果證書是使用開放密鑰的配對私鑰簽名的,那么您將簽發證書,而不是自簽名證書。 否則,您需要一個所謂的證書頒發機構的私鑰進行簽名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM