2011-04-23 104 views
3

我使用C#。網絡編程。我的問題是使用OpenSSL.net創建證書Personal和CA,並通過CA的私鑰對個人證書進行簽名。如何使用OpenSSL.net創建證書

我已經在我的項目中管理了集成的OpenSSL.net,但我找不到創建證書的代碼行。

如何使用OpenSSL.net創建證書?

回答

6

試試這個:

X509Name issuer = new X509Name("issuer"); 

X509Name subject = new X509Name("subject"); 
RSA rsa = new RSA(); 
rsa.GenerateKeys(512,0x10021,null,null); 
CryptoKey key = new CryptoKey(rsa); 

X509Certificate cert = new X509Certificate(123, subject, issuer, key, DateTime.Now, 
                 DateTime.Now.AddDays(200)); 

File.WriteAllText("C:\\temp\\public.txt",rsa.PublicKeyAsPEM); 
File.WriteAllText("C:\\temp\\private.txt", rsa.PrivateKeyAsPEM); 

BIO bio = BIO.File("C:/temp/cert.cer", "w"); 
cert.Write(bio); 

X509Certificate是創建一個證書; cert.Write將此證書寫入文件。

+0

現在我正在尋找發送請求到服務器進行簽名。 X509Request就在附近。 – Dimka 2011-04-26 06:57:05

+0

'X509CertificateAuthority'上的'ProcessRequest'會讓你在那裏... – 2012-02-28 12:54:03