培训考核三期,新版培训,网页版培训登录器
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.1 KiB

#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