123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
- namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix
- {
- /// <summary>
- /// This class helps to handle CRL revocation reasons mask. Each CRL handles a
- /// certain set of revocation reasons.
- /// </summary>
- internal class ReasonsMask
- {
- private int _reasons;
- /// <summary>
- /// Constructs are reason mask with the reasons.
- /// </summary>
- /// <param name="reasons">The reasons.</param>
- internal ReasonsMask(
- int reasons)
- {
- _reasons = reasons;
- }
- /// <summary>
- /// A reason mask with no reason.
- /// </summary>
- internal ReasonsMask()
- : this(0)
- {
- }
- /// <summary>
- /// A mask with all revocation reasons.
- /// </summary>
- internal static readonly ReasonsMask AllReasons = new ReasonsMask(
- ReasonFlags.AACompromise | ReasonFlags.AffiliationChanged | ReasonFlags.CACompromise
- | ReasonFlags.CertificateHold | ReasonFlags.CessationOfOperation
- | ReasonFlags.KeyCompromise | ReasonFlags.PrivilegeWithdrawn | ReasonFlags.Unused
- | ReasonFlags.Superseded);
- /**
- * Adds all reasons from the reasons mask to this mask.
- *
- * @param mask The reasons mask to add.
- */
- internal void AddReasons(
- ReasonsMask mask)
- {
- _reasons = _reasons | mask.Reasons.IntValue;
- }
- /// <summary>
- /// Returns <code>true</code> if this reasons mask contains all possible
- /// reasons.
- /// </summary>
- /// <returns>true if this reasons mask contains all possible reasons.
- /// </returns>
- internal bool IsAllReasons
- {
- get { return _reasons == AllReasons._reasons; }
- }
- /// <summary>
- /// Intersects this mask with the given reasons mask.
- /// </summary>
- /// <param name="mask">mask The mask to intersect with.</param>
- /// <returns>The intersection of this and teh given mask.</returns>
- internal ReasonsMask Intersect(
- ReasonsMask mask)
- {
- ReasonsMask _mask = new ReasonsMask();
- _mask.AddReasons(new ReasonsMask(_reasons & mask.Reasons.IntValue));
- return _mask;
- }
- /// <summary>
- /// Returns <c>true</c> if the passed reasons mask has new reasons.
- /// </summary>
- /// <param name="mask">The reasons mask which should be tested for new reasons.</param>
- /// <returns><c>true</c> if the passed reasons mask has new reasons.</returns>
- internal bool HasNewReasons(
- ReasonsMask mask)
- {
- return ((_reasons | mask.Reasons.IntValue ^ _reasons) != 0);
- }
- /// <summary>
- /// Returns the reasons in this mask.
- /// </summary>
- public ReasonFlags Reasons
- {
- get { return new ReasonFlags(_reasons); }
- }
- }
- }
- #pragma warning restore
- #endif
|