#if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR) #pragma warning disable using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using BestHTTP.SecureProtocol.Org.BouncyCastle.X509.Store; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms { /** * a basic index for a signer. */ public class SignerID : X509CertStoreSelector { public override int GetHashCode() { int code = Arrays.GetHashCode(this.SubjectKeyIdentifier); BigInteger serialNumber = this.SerialNumber; if (serialNumber != null) { code ^= serialNumber.GetHashCode(); } X509Name issuer = this.Issuer; if (issuer != null) { code ^= issuer.GetHashCode(); } return code; } public override bool Equals( object obj) { if (obj == this) return false; SignerID id = obj as SignerID; if (id == null) return false; return Arrays.AreEqual(SubjectKeyIdentifier, id.SubjectKeyIdentifier) && BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.Equals(SerialNumber, id.SerialNumber) && IssuersMatch(Issuer, id.Issuer); } } } #pragma warning restore #endif