using System; using System.Collections; using System.IO; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Tsp; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections; using BestHTTP.SecureProtocol.Org.BouncyCastle.X509; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Tsp { // Token: 0x0200138C RID: 5004 [Token(Token = "0x200138C")] [StructLayout(3)] public class TimeStampRequest : X509ExtensionBase { // Token: 0x06007EBC RID: 32444 RVA: 0x001A8C60 File Offset: 0x001A6E60 [Token(Token = "0x6007EBC")] [Address(RVA = "0x1C6A0A0", Offset = "0x1C68AA0", VA = "0x181C6A0A0")] public TimeStampRequest(TimeStampReq req) { this.req = req; X509Extensions x509Extensions = req.extensions; this.extensions = x509Extensions; } // Token: 0x06007EBD RID: 32445 RVA: 0x001A8C90 File Offset: 0x001A6E90 [Token(Token = "0x6007EBD")] [Address(RVA = "0x1C6A030", Offset = "0x1C68A30", VA = "0x181C6A030")] public TimeStampRequest(byte[] req) { Asn1InputStream asn1InputStream = new Asn1InputStream(req); } // Token: 0x06007EBE RID: 32446 RVA: 0x001A8CA4 File Offset: 0x001A6EA4 [Token(Token = "0x6007EBE")] [Address(RVA = "0x1C69FC0", Offset = "0x1C689C0", VA = "0x181C69FC0")] public TimeStampRequest(Stream input) { Asn1InputStream asn1InputStream = new Asn1InputStream(input); } // Token: 0x06007EBF RID: 32447 RVA: 0x001A8CB8 File Offset: 0x001A6EB8 [Token(Token = "0x6007EBF")] [Address(RVA = "0x1C69EB0", Offset = "0x1C688B0", VA = "0x181C69EB0")] private TimeStampRequest(Asn1InputStream str) { Asn1Object asn1Object = str.ReadObject(); TimeStampReq instance = TimeStampReq.GetInstance(asn1Object); this.req = instance; } // Token: 0x170014B8 RID: 5304 // (get) Token: 0x06007EC0 RID: 32448 RVA: 0x001A8CFC File Offset: 0x001A6EFC [Token(Token = "0x170014B8")] public int Version { [Token(Token = "0x6007EC0")] [Address(RVA = "0x1C6A1F0", Offset = "0x1C68BF0", VA = "0x181C6A1F0")] get { return this.req.version.Value.IntValue; } } // Token: 0x170014B9 RID: 5305 // (get) Token: 0x06007EC1 RID: 32449 RVA: 0x001A8D24 File Offset: 0x001A6F24 [Token(Token = "0x170014B9")] public string MessageImprintAlgOid { [Token(Token = "0x6007EC1")] [Address(RVA = "0x1C6A120", Offset = "0x1C68B20", VA = "0x181C6A120")] get { Asn1Object asn1Object = this.req.messageImprint.hashAlgorithm.ToAsn1Object(); throw new NullReferenceException(); } } // Token: 0x06007EC2 RID: 32450 RVA: 0x001A8D4C File Offset: 0x001A6F4C [Token(Token = "0x6007EC2")] [Address(RVA = "0x1C69900", Offset = "0x1C68300", VA = "0x181C69900")] public byte[] GetMessageImprintDigest() { return this.req.messageImprint.hashedMessage; } // Token: 0x170014BA RID: 5306 // (get) Token: 0x06007EC3 RID: 32451 RVA: 0x001A8D70 File Offset: 0x001A6F70 [Token(Token = "0x170014BA")] public string ReqPolicy { [Token(Token = "0x6007EC3")] [Address(RVA = "0x1C6A1B0", Offset = "0x1C68BB0", VA = "0x181C6A1B0")] get { DerObjectIdentifier tsaPolicy = this.req.tsaPolicy; if (tsaPolicy == 0) { } return tsaPolicy.identifier; } } // Token: 0x170014BB RID: 5307 // (get) Token: 0x06007EC4 RID: 32452 RVA: 0x001A8D9C File Offset: 0x001A6F9C [Token(Token = "0x170014BB")] public BigInteger Nonce { [Token(Token = "0x6007EC4")] [Address(RVA = "0x1C6A170", Offset = "0x1C68B70", VA = "0x181C6A170")] get { DerInteger nonce = this.req.nonce; if (nonce == 0) { } return nonce.Value; } } // Token: 0x170014BC RID: 5308 // (get) Token: 0x06007EC5 RID: 32453 RVA: 0x001A8DC8 File Offset: 0x001A6FC8 [Token(Token = "0x170014BC")] public bool CertReq { [Token(Token = "0x6007EC5")] [Address(RVA = "0x1C6A0E0", Offset = "0x1C68AE0", VA = "0x181C6A0E0")] get { DerBoolean certReq = this.req.certReq; if (certReq == 0) { } return certReq.IsTrue; } } // Token: 0x06007EC6 RID: 32454 RVA: 0x001A8DF4 File Offset: 0x001A6FF4 [Token(Token = "0x6007EC6")] [Address(RVA = "0x1C69930", Offset = "0x1C68330", VA = "0x181C69930")] public void Validate(IList algorithms, IList policies, IList extensions) { for (;;) { int num = 0; if (this.req.messageImprint.hashAlgorithm.ToAsn1Object() != 0) { if (policies != 0) { TimeStampReq timeStampReq = this.req; DerObjectIdentifier tsaPolicy = timeStampReq.tsaPolicy; if (tsaPolicy != 0 && tsaPolicy.identifier != 0 && timeStampReq == 0) { goto IL_B3; } } X509Extensions x509Extensions = this.req.extensions; if (x509Extensions == 0 || extensions == 0) { break; } IEnumerable extensionOids = x509Extensions.ExtensionOids; if (extensionOids != 0 && extensionOids == 0) { goto IL_C4; } if (extensionOids != 0) { } if (num != -1) { } if (num == 0) { break; } } } Asn1Object asn1Object = this.req.messageImprint.hashAlgorithm.ToAsn1Object(); IDictionary digestLengths = TspUtil.digestLengths; IDictionary digestLengths2 = TspUtil.digestLengths; int length = this.req.messageImprint.hashedMessage.Length; return; IL_B3: TspValidationException ex = new TspValidationException("request contains unknown policy", 256); IL_C4: TspValidationException ex2 = new TspValidationException("request contains unknown extension", 8388608); throw new NullReferenceException(); } // Token: 0x06007EC7 RID: 32455 RVA: 0x001A8EE4 File Offset: 0x001A70E4 [Token(Token = "0x6007EC7")] [Address(RVA = "0x53BEA0", Offset = "0x53A8A0", VA = "0x18053BEA0")] public byte[] GetEncoded() { return this.req.GetEncoded(); } // Token: 0x170014BD RID: 5309 // (get) Token: 0x06007EC8 RID: 32456 RVA: 0x001A8F04 File Offset: 0x001A7104 [Token(Token = "0x170014BD")] internal X509Extensions Extensions { [Token(Token = "0x6007EC8")] [Address(RVA = "0xA4BA40", Offset = "0xA4A440", VA = "0x180A4BA40")] get { return this.req.extensions; } } // Token: 0x170014BE RID: 5310 // (get) Token: 0x06007EC9 RID: 32457 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x170014BE")] public virtual bool HasExtensions { [Token(Token = "0x6007EC9")] [Address(RVA = "0x71D270", Offset = "0x71BC70", VA = "0x18071D270", Slot = "13")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x06007ECA RID: 32458 RVA: 0x001A8F24 File Offset: 0x001A7124 [Token(Token = "0x6007ECA")] [Address(RVA = "0x1C698E0", Offset = "0x1C682E0", VA = "0x181C698E0", Slot = "14")] public virtual X509Extension GetExtension(DerObjectIdentifier oid) { X509Extensions x509Extensions = this.extensions; if (x509Extensions == 0) { } return x509Extensions.GetExtension(oid); } // Token: 0x06007ECB RID: 32459 RVA: 0x001A8F48 File Offset: 0x001A7148 [Token(Token = "0x6007ECB")] [Address(RVA = "0x1C697B0", Offset = "0x1C681B0", VA = "0x181C697B0", Slot = "15")] public virtual IList GetExtensionOids() { X509Extensions x509Extensions = this.extensions; if (x509Extensions != 0) { IList list = Platform.CreateArrayList(x509Extensions.GetExtensionOids()); UnmodifiableListProxy unmodifiableListProxy; unmodifiableListProxy.l = list; } return TspUtil.EmptyList; } // Token: 0x06007ECC RID: 32460 RVA: 0x001A8F78 File Offset: 0x001A7178 [Token(Token = "0x6007ECC")] [Address(RVA = "0xA4BA40", Offset = "0xA4A440", VA = "0x180A4BA40", Slot = "8")] protected override X509Extensions GetX509Extensions() { return this.req.extensions; } // Token: 0x04005A6C RID: 23148 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4005A6C")] private TimeStampReq req; // Token: 0x04005A6D RID: 23149 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4005A6D")] private X509Extensions extensions; } }