public void LoadCertificate(Al.Security.X509.X509Certificate cert) { System.Collections.IList oids = cert.SubjectDN.GetOidList(); System.Collections.IList values = cert.SubjectDN.GetValueList(); bind = new x509NameBind(); for (int i = 0; i < oids.Count; i++) { bind.Add(((Al.Security.Asn1.DerObjectIdentifier)oids[i]).Id, (string)values[i]); } LoadNames(); }
private void loadcert_Click(object sender, EventArgs e) { try { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "*.cer|*.cer|*.crt|*.crt|*.der|*.der"; if (ofd.ShowDialog() == DialogResult.OK) { System.Security.Cryptography.X509Certificates.X509Certificate2 cer = new System.Security.Cryptography.X509Certificates.X509Certificate2(File.ReadAllBytes(ofd.FileName)); Al.Security.X509.X509Certificate CERT = Al.Security.Security.DotNetUtilities.FromX509Certificate(cer); string prov = "DSA"; if (CERT.GetPublicKey() is Al.Security.Crypto.Parameters.RsaKeyParameters) { prov = "RSA"; } else if (CERT.GetPublicKey() is Al.Security.Crypto.Parameters.DsaKeyParameters) { prov = "DSA"; } // HASH-SizeWITH.. string hashsize = CERT.SigAlgName.Substring(0, CERT.SigAlgName.IndexOf("with")); string hash = hashsize.Split('-')[0]; int hashsiz = int.Parse(hashsize.Split('-')[1]); nameFrm1.LoadCertificate(CERT); keyGenerationFrm1.SetKeyParameters(prov, cer.PublicKey.Key.KeySize, CERT.SerialNumber.IntValue, hash, hashsiz); } } catch (Exception ex) { MessageBoxEx.Show(ex.Message, "Load Certificate"); } }