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); }
private static bool ValidateCaCertificateKeyUsage(KeyUsageFlags keyUsageFlags) { if ((keyUsageFlags & KeyUsageFlags.KeyCertSign) == 0) { return(false); } if ((keyUsageFlags & KeyUsageFlags.CrlSign) == 0) { return(false); } return(true); }
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); }