1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
- namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms
- {
- public class Evidence
- : Asn1Encodable, IAsn1Choice
- {
- private TimeStampTokenEvidence tstEvidence;
- private Asn1Sequence otherEvidence;
- public Evidence(TimeStampTokenEvidence tstEvidence)
- {
- this.tstEvidence = tstEvidence;
- }
- private Evidence(Asn1TaggedObject tagged)
- {
- if (tagged.TagNo == 0)
- {
- this.tstEvidence = TimeStampTokenEvidence.GetInstance(tagged, false);
- }
- //else if (tagged.TagNo == 1)
- //{
- // this.ersEvidence = EvidenceRecord.GetInstance(tagged, false);
- //}
- else if (tagged.TagNo == 2)
- {
- this.otherEvidence = Asn1Sequence.GetInstance(tagged, false);
- }
- else
- {
- throw new ArgumentException("unknown tag in Evidence", "tagged");
- }
- }
- public static Evidence GetInstance(object obj)
- {
- if (obj is Evidence)
- return (Evidence)obj;
- if (obj is Asn1TaggedObject)
- return new Evidence(Asn1TaggedObject.GetInstance(obj));
- throw new ArgumentException("Unknown object in GetInstance: " + BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.GetTypeName(obj), "obj");
- }
- public static Evidence GetInstance(Asn1TaggedObject obj, bool isExplicit)
- {
- return GetInstance(obj.GetObject()); // must be explicitly tagged
- }
- public virtual TimeStampTokenEvidence TstEvidence
- {
- get { return tstEvidence; }
- }
- //public EvidenceRecord ErsEvidence
- //{
- // get { return ersEvidence; }
- //}
- public override Asn1Object ToAsn1Object()
- {
- if (tstEvidence != null)
- return new DerTaggedObject(false, 0, tstEvidence);
- //if (ersEvidence != null)
- // return new DerTaggedObject(false, 1, ersEvidence);
- return new DerTaggedObject(false, 2, otherEvidence);
- }
- }
- }
- #pragma warning restore
- #endif
|