Esempio n. 1
0
 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]);
             }
         }
     }
 }
Esempio n. 4
0
 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]);
             }
         }
     }
 }
Esempio n. 5
0
 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);
             }
         }
     }
 }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 /// <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");
     }
 }
Esempio n. 8
0
        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);
            }
        }