public void CanLoadFromDER() { using (BIO bio = new BIO(LoadBytes(Resources.CaDer))) { using (X509Certificate cert = X509Certificate.FromDER(bio)) { TestCert(cert, "CN=Root", "CN=Root", 1234); } } }
public void CanLoadFromDER() { using (BIO bio = BIO.File(Paths.CaDer, "r")) { using (X509Certificate cert = X509Certificate.FromDER(bio)) { TestCert(cert, "CN=Root", "CN=Root", 1234); } } }
public void CanSaveAsDER() { using (BIO bio = BIO.File(Paths.CaDer, "r")) { byte[] expected = File.ReadAllBytes(Paths.CaDer); using (var cert = X509Certificate.FromDER(bio)) { byte[] der = cert.DER; Assert.AreEqual(expected.Length, der.Length); for (int i = 0; i < expected.Length; i++) { Assert.AreEqual(expected[i], der[i]); } } } }
public void CanSaveAsDER() { byte[] data = LoadBytes(Resources.CaDer); using (BIO bio = new BIO(data)) { using (var cert = X509Certificate.FromDER(bio)) { byte[] der = cert.DER; Assert.AreEqual(data.Length, der.Length); for (int i = 0; i < data.Length; i++) { Assert.AreEqual(data[i], der[i]); } } } }
public static void ConvertDerToPem(Stream source, Stream target) { using (var ms = new MemoryStream()) { source.CopyTo(ms); using (var bio = BIO.MemoryBuffer()) { bio.Write(ms.ToArray()); using (var crt = X509Certificate.FromDER(bio)) { var pemBytes = Encoding.UTF8.GetBytes(crt.PEM); target.Write(pemBytes, 0, pemBytes.Length); } } } }
public static int GetCertificateState(string xml) { WebClient wc = new WebClient(); byte[] bytes = wc.DownloadData(caCertUrl); BIO bio = new BIO(bytes); X509Certificate certca = X509Certificate.FromDER(bio); XMLClass xmlEx = new XMLClass(); byte[] bytesCert = UTF8Encoding.UTF8.GetBytes(xml); string sCert = xmlEx.getX509FromXMLbytes(bytesCert); BIO bCert = new BIO(Convert.FromBase64String(sCert)); X509Certificate cert = X509Certificate.FromDER(bCert); int result = cert.CheckOCSP(certca, ocspUrl); return(result); }
/// <summary> /// Supports importing certificates from <see cref="EncodingFormat.PEM">PEM</see> /// and <see cref="EncodingFormat.DER">DER</see> formats. /// </summary> public override Crt ImportCertificate(EncodingFormat fmt, Stream source) { if (fmt == EncodingFormat.DER) { using (var ms = new MemoryStream()) { source.CopyTo(ms); using (var bio = BIO.MemoryBuffer()) { bio.Write(ms.ToArray()); using (var x509 = X509Certificate.FromDER(bio)) { return(new Crt { Pem = x509.PEM }); } } } } else if (fmt == EncodingFormat.PEM) { using (var r = new StreamReader(source)) { using (var bio = BIO.MemoryBuffer()) { bio.Write(r.ReadToEnd()); using (var x509 = new X509Certificate(bio)) { return(new Crt { Pem = x509.PEM }); } } } } else { throw new NotSupportedException("encoding format has not been implemented"); } }
public static X509Certificate LoadCert(String X509Filename) { FileInfo certFile = new FileInfo(X509Filename); if (certFile.Exists) { Byte[] bX509 = File.ReadAllBytes(certFile.FullName); BIO x509BIO = BIO.MemoryBuffer(); x509BIO.Write(bX509); X509Certificate cert = X509Certificate.FromDER(x509BIO); return(cert); } else { return(null); } }