Beispiel #1
0
        public X509Certificate2Impl Import(
            X509Certificate cert, CertificateImportFlags importFlags = CertificateImportFlags.None)
        {
            if (cert.Impl == null)
            {
                return(null);
            }

            X509Certificate2Impl impl = null;

            if ((importFlags & CertificateImportFlags.DisableNativeBackend) == 0)
            {
                impl = X509Pal.Import(cert);
                if (impl != null)
                {
                    return(impl);
                }
            }

            impl = cert.Impl as X509Certificate2Impl;
            if (impl != null)
            {
                return((X509Certificate2Impl)impl.Clone());
            }

            if ((importFlags & CertificateImportFlags.DisableAutomaticFallback) != 0)
            {
                return(null);
            }

            return(X509Pal.ImportFallback(cert.GetRawCertData()));
        }
Beispiel #2
0
        public X509Certificate2Impl Import(
            byte[] data, SafePasswordHandle password, X509KeyStorageFlags keyStorageFlags,
            CertificateImportFlags importFlags = CertificateImportFlags.None)
        {
            if (data == null || data.Length == 0)
            {
                return(null);
            }

            X509Certificate2Impl impl = null;

            if ((importFlags & CertificateImportFlags.DisableNativeBackend) == 0)
            {
                impl = X509Pal.Import(data, password, keyStorageFlags);
                if (impl != null)
                {
                    return(impl);
                }
            }

            if ((importFlags & CertificateImportFlags.DisableAutomaticFallback) != 0)
            {
                return(null);
            }

            return(X509Pal.ImportFallback(data, password, keyStorageFlags));
        }
Beispiel #3
0
        public X509CertificateImpl Import(
            byte[] data, CertificateImportFlags importFlags = CertificateImportFlags.None)
        {
            if (data == null || data.Length == 0)
            {
                return(null);
            }

            X509CertificateImpl impl = null;

            if ((importFlags & CertificateImportFlags.DisableNativeBackend) == 0)
            {
                impl = X509Pal.Import(data);
                if (impl != null)
                {
                    return(impl);
                }
            }

            if ((importFlags & CertificateImportFlags.DisableAutomaticFallback) != 0)
            {
                return(null);
            }

            return(X509Pal.ImportFallback(data));
        }
Beispiel #4
0
 X509CertificateImpl ISystemCertificateProvider.Import(X509Certificate cert, CertificateImportFlags importFlags)
 {
     return(Import(cert, importFlags));
 }
Beispiel #5
0
 X509CertificateImpl ISystemCertificateProvider.Import(
     byte[] data, SafePasswordHandle password, X509KeyStorageFlags keyStorageFlags,
     CertificateImportFlags importFlags)
 {
     return(Import(data, password, keyStorageFlags, importFlags));
 }