Files
2026-04-08 23:40:05 +02:00

435 lines
18 KiB
C#

using System;
using System.Collections;
using System.IO;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Operators;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.X509
{
// Token: 0x02001330 RID: 4912
[Token(Token = "0x2001330")]
[StructLayout(3)]
public class X509V2AttributeCertificate : X509ExtensionBase, IX509AttributeCertificate, IX509Extension
{
// Token: 0x06007B56 RID: 31574 RVA: 0x0019AE4C File Offset: 0x0019904C
[Token(Token = "0x6007B56")]
[Address(RVA = "0x53C000", Offset = "0x53AA00", VA = "0x18053C000")]
private static AttributeCertificate GetObject(Stream input)
{
return AttributeCertificate.GetInstance(Asn1Object.FromStream(input));
}
// Token: 0x06007B57 RID: 31575 RVA: 0x0019AE64 File Offset: 0x00199064
[Token(Token = "0x6007B57")]
[Address(RVA = "0x53C2F0", Offset = "0x53ACF0", VA = "0x18053C2F0")]
public X509V2AttributeCertificate(Stream encIn)
{
AttributeCertificate @object = X509V2AttributeCertificate.GetObject(encIn);
}
// Token: 0x06007B58 RID: 31576 RVA: 0x0019AE78 File Offset: 0x00199078
[Token(Token = "0x6007B58")]
[Address(RVA = "0x53C270", Offset = "0x53AC70", VA = "0x18053C270")]
public X509V2AttributeCertificate(byte[] encoded)
{
int num;
MemoryStream memoryStream = new MemoryStream(encoded, num != 0);
num = 0;
AttributeCertificate @object = X509V2AttributeCertificate.GetObject(memoryStream);
}
// Token: 0x06007B59 RID: 31577 RVA: 0x0019AE98 File Offset: 0x00199098
[Token(Token = "0x6007B59")]
[Address(RVA = "0x53C320", Offset = "0x53AD20", VA = "0x18053C320")]
internal X509V2AttributeCertificate(AttributeCertificate cert)
{
this.cert = cert;
DateTime dateTime = cert.acinfo.attrCertValidityPeriod.notAfterTime.ToDateTime();
this.notAfter = dateTime;
DateTime dateTime2 = cert.acinfo.attrCertValidityPeriod.notBeforeTime.ToDateTime();
this.notBefore = dateTime2;
}
// Token: 0x17001419 RID: 5145
// (get) Token: 0x06007B5A RID: 31578 RVA: 0x0019AF18 File Offset: 0x00199118
[Token(Token = "0x17001419")]
public virtual int Version
{
[Token(Token = "0x6007B5A")]
[Address(RVA = "0x53C660", Offset = "0x53B060", VA = "0x18053C660", Slot = "29")]
get
{
int intValue = this.cert.acinfo.version.Value.IntValue;
return intValue + 1;
}
}
// Token: 0x1700141A RID: 5146
// (get) Token: 0x06007B5B RID: 31579 RVA: 0x0019AF4C File Offset: 0x0019914C
[Token(Token = "0x1700141A")]
public virtual BigInteger SerialNumber
{
[Token(Token = "0x6007B5B")]
[Address(RVA = "0x53C610", Offset = "0x53B010", VA = "0x18053C610", Slot = "30")]
get
{
return this.cert.acinfo.serialNumber.Value;
}
}
// Token: 0x1700141B RID: 5147
// (get) Token: 0x06007B5C RID: 31580 RVA: 0x0019AF74 File Offset: 0x00199174
[Token(Token = "0x1700141B")]
public virtual AttributeCertificateHolder Holder
{
[Token(Token = "0x6007B5C")]
[Address(RVA = "0x53C430", Offset = "0x53AE30", VA = "0x18053C430", Slot = "31")]
get
{
Asn1Object asn1Object;
do
{
asn1Object = this.cert.acinfo.holder.ToAsn1Object();
if (asn1Object == 0)
{
}
}
while (asn1Object == 0);
AttributeCertificateHolder attributeCertificateHolder;
return attributeCertificateHolder;
}
}
// Token: 0x1700141C RID: 5148
// (get) Token: 0x06007B5D RID: 31581 RVA: 0x0019AFA8 File Offset: 0x001991A8
[Token(Token = "0x1700141C")]
public virtual AttributeCertificateIssuer Issuer
{
[Token(Token = "0x6007B5D")]
[Address(RVA = "0x53C590", Offset = "0x53AF90", VA = "0x18053C590", Slot = "32")]
get
{
Asn1Encodable obj = this.cert.acinfo.issuer.obj;
AttributeCertificateIssuer attributeCertificateIssuer;
attributeCertificateIssuer.form = obj;
return attributeCertificateIssuer;
}
}
// Token: 0x1700141D RID: 5149
// (get) Token: 0x06007B5E RID: 31582 RVA: 0x0019AFDC File Offset: 0x001991DC
[Token(Token = "0x1700141D")]
public virtual DateTime NotBefore
{
[Token(Token = "0x6007B5E")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "33")]
get
{
return this.notBefore;
}
}
// Token: 0x1700141E RID: 5150
// (get) Token: 0x06007B5F RID: 31583 RVA: 0x0019AFF0 File Offset: 0x001991F0
[Token(Token = "0x1700141E")]
public virtual DateTime NotAfter
{
[Token(Token = "0x6007B5F")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220", Slot = "34")]
get
{
return this.notAfter;
}
}
// Token: 0x06007B60 RID: 31584 RVA: 0x0019B004 File Offset: 0x00199204
[Token(Token = "0x6007B60")]
[Address(RVA = "0x53BEC0", Offset = "0x53A8C0", VA = "0x18053BEC0", Slot = "35")]
public virtual bool[] GetIssuerUniqueID()
{
DerBitString issuerUniqueID = this.cert.acinfo.issuerUniqueID;
if (issuerUniqueID == 0)
{
}
byte[] octets = issuerUniqueID.GetOctets();
byte[] bytes = issuerUniqueID.GetBytes();
int num = octets.Length;
num -= bytes;
bool[] array = new bool[num];
int num2 = 0;
int length = array.Length;
if (num2 != length)
{
num2 += num;
num2 -= num;
num2++;
}
return array;
}
// Token: 0x1700141F RID: 5151
// (get) Token: 0x06007B61 RID: 31585 RVA: 0x0019B07C File Offset: 0x0019927C
[Token(Token = "0x1700141F")]
public virtual bool IsValidNow
{
[Token(Token = "0x6007B61")]
[Address(RVA = "0x53C520", Offset = "0x53AF20", VA = "0x18053C520", Slot = "36")]
get
{
/*
An exception occurred when decompiling this method (06007B61)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.X509.X509V2AttributeCertificate::get_IsValidNow()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:DateTime(var_1_07, callgetter:DateTime(DateTime::get_UtcNow))
stloc:int32(var_2_0E, callgetter:int32(IX509AttributeCertificate::get_Version, ldloc:X509V2AttributeCertificate[exp:IX509AttributeCertificate](this)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
}
// Token: 0x06007B62 RID: 31586 RVA: 0x0019B098 File Offset: 0x00199298
[Token(Token = "0x6007B62")]
[Address(RVA = "0x53C0E0", Offset = "0x53AAE0", VA = "0x18053C0E0", Slot = "37")]
public virtual bool IsValid(DateTime date)
{
AttributeCertificateIssuer issuer = this.Issuer;
return this.NotBefore <= 0;
}
// Token: 0x06007B63 RID: 31587 RVA: 0x0019B0BC File Offset: 0x001992BC
[Token(Token = "0x6007B63")]
[Address(RVA = "0x53B6E0", Offset = "0x53A0E0", VA = "0x18053B6E0", Slot = "38")]
public virtual void CheckValidity()
{
DateTime utcNow = DateTime.UtcNow;
int version = ((IX509AttributeCertificate)this).Version;
}
// Token: 0x06007B64 RID: 31588 RVA: 0x0019B0D8 File Offset: 0x001992D8
[Token(Token = "0x6007B64")]
[Address(RVA = "0x53B750", Offset = "0x53A150", VA = "0x18053B750", Slot = "39")]
public virtual void CheckValidity(DateTime date)
{
DateTime dateTime = this.NotBefore;
AttributeCertificateIssuer issuer = this.Issuer;
}
// Token: 0x17001420 RID: 5152
// (get) Token: 0x06007B65 RID: 31589 RVA: 0x0019B104 File Offset: 0x00199304
[Token(Token = "0x17001420")]
public virtual AlgorithmIdentifier SignatureAlgorithm
{
[Token(Token = "0x6007B65")]
[Address(RVA = "0x53C640", Offset = "0x53B040", VA = "0x18053C640", Slot = "40")]
get
{
return this.cert.signatureAlgorithm;
}
}
// Token: 0x06007B66 RID: 31590 RVA: 0x0019B124 File Offset: 0x00199324
[Token(Token = "0x6007B66")]
[Address(RVA = "0x531510", Offset = "0x52FF10", VA = "0x180531510", Slot = "41")]
public virtual byte[] GetSignature()
{
return this.cert.GetSignatureOctets();
}
// Token: 0x06007B67 RID: 31591 RVA: 0x0019B144 File Offset: 0x00199344
[Token(Token = "0x6007B67")]
[Address(RVA = "0x53C1D0", Offset = "0x53ABD0", VA = "0x18053C1D0", Slot = "42")]
public virtual void Verify(AsymmetricKeyParameter key)
{
Asn1VerifierFactory asn1VerifierFactory = new Asn1VerifierFactory(this.cert.signatureAlgorithm, key);
int version = ((IX509AttributeCertificate)this).Version;
}
// Token: 0x06007B68 RID: 31592 RVA: 0x0019B170 File Offset: 0x00199370
[Token(Token = "0x6007B68")]
[Address(RVA = "0x53C150", Offset = "0x53AB50", VA = "0x18053C150", Slot = "43")]
public virtual void Verify(IVerifierFactoryProvider verifierProvider)
{
AttributeCertificate attributeCertificate = this.cert;
int version = ((IX509AttributeCertificate)this).Version;
}
// Token: 0x06007B69 RID: 31593 RVA: 0x0019B194 File Offset: 0x00199394
[Token(Token = "0x6007B69")]
[Address(RVA = "0x53B400", Offset = "0x539E00", VA = "0x18053B400", Slot = "44")]
protected virtual void CheckSignature(IVerifierFactory verifier)
{
/*
An exception occurred when decompiling this method (06007B69)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.X509.X509V2AttributeCertificate::CheckSignature(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IVerifierFactory)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_3E:
stloc:InvalidKeyException(var_5_48, newobj:InvalidKeyException(InvalidKeyException::.ctor, ldstr:string("Public key presented not for certificate signature")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x06007B6A RID: 31594 RVA: 0x0019B1EC File Offset: 0x001993EC
[Token(Token = "0x6007B6A")]
[Address(RVA = "0x53BEA0", Offset = "0x53A8A0", VA = "0x18053BEA0", Slot = "45")]
public virtual byte[] GetEncoded()
{
return this.cert.GetEncoded();
}
// Token: 0x06007B6B RID: 31595 RVA: 0x0019B20C File Offset: 0x0019940C
[Token(Token = "0x6007B6B")]
[Address(RVA = "0x53C0B0", Offset = "0x53AAB0", VA = "0x18053C0B0", Slot = "8")]
protected override X509Extensions GetX509Extensions()
{
return this.cert.acinfo.extensions;
}
// Token: 0x06007B6C RID: 31596 RVA: 0x0019B230 File Offset: 0x00199430
[Token(Token = "0x6007B6C")]
[Address(RVA = "0x53B970", Offset = "0x53A370", VA = "0x18053B970", Slot = "46")]
public virtual X509Attribute[] GetAttributes()
{
Asn1Sequence attributes = this.cert.acinfo.attributes;
Asn1Encodable asn1Encodable;
X509Attribute[] array = new X509Attribute[asn1Encodable];
int num = 0;
Asn1Encodable asn1Encodable2;
if (num != asn1Encodable2)
{
Asn1SequenceParser parser = attributes.Parser;
X509Attribute x509Attribute;
AttributeX509 attributeX;
x509Attribute.attr = attributeX;
num++;
array[0] = x509Attribute;
}
return array;
}
// Token: 0x06007B6D RID: 31597 RVA: 0x0019B284 File Offset: 0x00199484
[Token(Token = "0x6007B6D")]
[Address(RVA = "0x53BAD0", Offset = "0x53A4D0", VA = "0x18053BAD0", Slot = "47")]
public virtual X509Attribute[] GetAttributes(string oid)
{
int num;
X509Attribute[] array;
do
{
Asn1Sequence attributes = this.cert.acinfo.attributes;
IList list = Platform.CreateArrayList();
num = 0;
Asn1Encodable asn1Encodable;
if (num != asn1Encodable)
{
Asn1SequenceParser parser = attributes.Parser;
X509Attribute x509Attribute;
AttributeX509 attributeX;
x509Attribute.attr = attributeX;
if (attributeX.attrType.identifier.Equals(oid))
{
}
num++;
}
array = new X509Attribute[asn1Encodable];
if (num < list)
{
num += num;
num++;
}
if (num >= num)
{
return array;
}
uint num2;
if (num < (int)num2)
{
num += num;
num++;
}
if (num == 0)
{
break;
}
ulong num3;
num3 += num3;
num3 += num3;
}
while (num == 0 || num == 0);
num++;
array[0] = num;
return array;
}
// Token: 0x06007B6E RID: 31598 RVA: 0x0019B33C File Offset: 0x0019953C
[Token(Token = "0x6007B6E")]
[Address(RVA = "0x53B8B0", Offset = "0x53A2B0", VA = "0x18053B8B0", Slot = "0")]
public override bool Equals(object obj)
{
if (obj != this)
{
if (obj != 0 && obj != 0)
{
Asn1Object asn1Object = this.cert.ToAsn1Object();
}
}
return true;
}
// Token: 0x06007B6F RID: 31599 RVA: 0x0019B36C File Offset: 0x0019956C
[Token(Token = "0x6007B6F")]
[Address(RVA = "0x528AC0", Offset = "0x5274C0", VA = "0x180528AC0", Slot = "2")]
public override int GetHashCode()
{
Asn1Object asn1Object = this.cert.ToAsn1Object();
throw new NullReferenceException();
}
// Token: 0x04005869 RID: 22633
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4005869")]
private readonly AttributeCertificate cert;
// Token: 0x0400586A RID: 22634
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400586A")]
private readonly DateTime notBefore;
// Token: 0x0400586B RID: 22635
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400586B")]
private readonly DateTime notAfter;
}
}