namespace Org.BouncyCastle.Asn1.X509 { /** * The CRLReason enumeration. *
* CRLReason ::= Enumerated { * unspecified (0), * keyCompromise (1), * cACompromise (2), * affiliationChanged (3), * superseded (4), * cessationOfOperation (5), * certificateHold (6), * removeFromCRL (8), * privilegeWithdrawn (9), * aACompromise (10) * } **/ public class CrlReason : DerEnumerated { public const int Unspecified = 0; public const int KeyCompromise = 1; public const int CACompromise = 2; public const int AffiliationChanged = 3; public const int Superseded = 4; public const int CessationOfOperation = 5; public const int CertificateHold = 6; // 7 -> Unknown public const int RemoveFromCrl = 8; public const int PrivilegeWithdrawn = 9; public const int AACompromise = 10; private static readonly string[] ReasonString = new string[] { "Unspecified", "KeyCompromise", "CACompromise", "AffiliationChanged", "Superseded", "CessationOfOperation", "CertificateHold", "Unknown", "RemoveFromCrl", "PrivilegeWithdrawn", "AACompromise" }; public CrlReason( int reason) : base(reason) { } public CrlReason(DerEnumerated reason) : base(reason.IntValueExact) { } public override string ToString() { int reason = IntValueExact; string str = (reason < 0 || reason > 10) ? "Invalid" : ReasonString[reason]; return "CrlReason: " + str; } } }