C#檢查證書是否存在
1 X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine); 2 store.Open(OpenFlags.MaxAllowed); 3 X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectName, "SRCA", false); 4 if (certs.Count == 0 || certs[0].NotAfter < DateTime.Now) 5 { 6 Console.WriteLine("需要創建證書"); 7 }
安裝證書:
1 using System.Security.Cryptography.X509Certificates; 2 3 4 5 MessageBox.Show("開始"); 6 7 8 9 //添加個人證書 10 11 X509Certificate2 certificate = new X509Certificate2(Application.StartupPath + \\cert.pfx","證書密碼"); 12 X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser); 13 store.Open(OpenFlags.ReadWrite); 14 store.Remove(certificate); //可省略 15 store.Add(certificate); 16 store.Close(); 17 18 19 20 21 //安裝CA的根證書到受信任根證書頒發機構 22 certificate = new X509Certificate2(Application.StartupPath + "\\CA.cer"); 23 store = new X509Store(StoreName.Root, StoreLocation.LocalMachine); 24 store.Open(OpenFlags.ReadWrite); 25 store.Remove(certificate); //可省略 26 store.Add(certificate); 27 store.Close(); 28 29 30 MessageBox.Show("結束");