public static KeyUsageFlags convertIntToKeyUsageFlag(int value)
        {
            KeyUsageFlags flag = KeyUsageFlags.None;

            if ((value & (int)NativeKeyUsageFlags.DigitalSignature) > 0)
            {
                flag |= KeyUsageFlags.DigitalSignature;
            }

            if ((value & (int)NativeKeyUsageFlags.NonRepudation) > 0)
            {
                flag |= KeyUsageFlags.NonRepudiation;
            }

            if ((value & (int)NativeKeyUsageFlags.KeyEncipherment) > 0)
            {
                flag |= KeyUsageFlags.KeyEncipherment;
            }

            if ((value & (int)NativeKeyUsageFlags.DataEncipherment) > 0)
            {
                flag |= KeyUsageFlags.DataEncipherment;
            }

            if ((value & (int)NativeKeyUsageFlags.KeyAgreement) > 0)
            {
                flag |= KeyUsageFlags.KeyAgreement;
            }

            if ((value & (int)NativeKeyUsageFlags.KeyCertSign) > 0)
            {
                flag |= KeyUsageFlags.KeyCertSign;
            }

            if ((value & (int)NativeKeyUsageFlags.CRLSign) > 0)
            {
                flag |= KeyUsageFlags.CrlSign;
            }

            if ((value & (int)NativeKeyUsageFlags.EncipherOnly) > 0)
            {
                flag |= KeyUsageFlags.EncipherOnly;
            }

            if ((value & (int)NativeKeyUsageFlags.DecipherOnly) > 0)
            {
                flag |= KeyUsageFlags.DecipherOnly;
            }

            return(flag);
        }
Esempio n. 2
0
        private static bool ValidateCaCertificateKeyUsage(KeyUsageFlags keyUsageFlags)
        {
            if ((keyUsageFlags & KeyUsageFlags.KeyCertSign) == 0)
            {
                return(false);
            }

            if ((keyUsageFlags & KeyUsageFlags.CrlSign) == 0)
            {
                return(false);
            }

            return(true);
        }
Esempio n. 3
0
        private static bool ValidateSslCertificateKeyUsage(KeyUsageFlags keyUsageFlags)
        {
            if ((keyUsageFlags & KeyUsageFlags.DigitalSignature) == 0)
            {
                return(false);
            }

            //MYK - EC sertifikalarında keyencipherment alani olmayabiliyor, e.g. gmail.com
            if ((keyUsageFlags & KeyUsageFlags.KeyEncipherment) == 0)
            {
                return(false);
            }

            return(true);
        }