m
This commit is contained in:
@@ -0,0 +1,432 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms
|
||||
{
|
||||
// Token: 0x0200201E RID: 8222
|
||||
[Token(Token = "0x200201E")]
|
||||
public class SignedData : Asn1Encodable
|
||||
{
|
||||
// Token: 0x0600CE17 RID: 52759 RVA: 0x002EDB50 File Offset: 0x002EBD50
|
||||
[Token(Token = "0x600CE17")]
|
||||
[Address(RVA = "0x2FF4D70", Offset = "0x2FF3D70", VA = "0x182FF4D70")]
|
||||
public static SignedData GetInstance(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600CE17)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.SignedData BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms.SignedData::GetInstance(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_22:
|
||||
stloc:string(var_6_28, call:string(Platform::GetTypeName, ldloc:object(obj)))
|
||||
stloc:ArgumentException(var_7_40, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("Unknown object in factory: "), ldloc:string(var_6_28)), ldstr:string("obj")))
|
||||
}
|
||||
|
||||
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: 0x0600CE18 RID: 52760 RVA: 0x002EDBA0 File Offset: 0x002EBDA0
|
||||
[Token(Token = "0x600CE18")]
|
||||
[Address(RVA = "0x2FF5870", Offset = "0x2FF4870", VA = "0x182FF5870")]
|
||||
public SignedData(Asn1Set digestAlgorithms, ContentInfo contentInfo, Asn1Set certificates, Asn1Set crls, Asn1Set signerInfos)
|
||||
{
|
||||
this.signerInfos = 0;
|
||||
DerInteger derInteger;
|
||||
this.version = derInteger;
|
||||
this.digestAlgorithms = digestAlgorithms;
|
||||
this.contentInfo = contentInfo;
|
||||
this.certificates = certificates;
|
||||
this.crls = 0;
|
||||
bool flag;
|
||||
this.crlsBer = flag;
|
||||
if (certificates != 0)
|
||||
{
|
||||
}
|
||||
bool flag2 = certificates != 0;
|
||||
this.certsBer = flag2;
|
||||
}
|
||||
|
||||
// Token: 0x0600CE19 RID: 52761 RVA: 0x002EDC08 File Offset: 0x002EBE08
|
||||
[Token(Token = "0x600CE19")]
|
||||
[Address(RVA = "0x2FF4720", Offset = "0x2FF3720", VA = "0x182FF4720")]
|
||||
private DerInteger CalculateVersion(DerObjectIdentifier contentOid, Asn1Set certs, Asn1Set crls, Asn1Set signerInfs)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (certs != 0)
|
||||
{
|
||||
IEnumerator enumerator = certs.GetEnumerator();
|
||||
if (enumerator != 0)
|
||||
{
|
||||
while (enumerator == 0)
|
||||
{
|
||||
}
|
||||
while (enumerator == 0)
|
||||
{
|
||||
}
|
||||
if (enumerator == 0)
|
||||
{
|
||||
goto IL_8B;
|
||||
}
|
||||
if (enumerator != (ulong)1L && enumerator != (ulong)2L)
|
||||
{
|
||||
while (enumerator != (ulong)3L)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
if (enumerator != 0)
|
||||
{
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_91;
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
if ((ulong)1L != 0UL)
|
||||
{
|
||||
goto IL_85;
|
||||
}
|
||||
}
|
||||
if (crls == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IEnumerator enumerator2 = crls.GetEnumerator();
|
||||
if (enumerator2 != 0)
|
||||
{
|
||||
while (enumerator2 == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if ((uint)(-1) != 0U)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
DerObjectIdentifier data = CmsObjectIdentifiers.Data;
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
return SignedData.Version1;
|
||||
}
|
||||
return SignedData.Version3;
|
||||
IL_85:
|
||||
return SignedData.Version5;
|
||||
IL_8B:
|
||||
throw new NullReferenceException();
|
||||
IL_91:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE1A RID: 52762 RVA: 0x002EDCAC File Offset: 0x002EBEAC
|
||||
[Token(Token = "0x600CE1A")]
|
||||
[Address(RVA = "0x2FF4BC0", Offset = "0x2FF3BC0", VA = "0x182FF4BC0")]
|
||||
private bool CheckForVersion3(Asn1Set signerInfs)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
int intValue;
|
||||
if (signerInfs.GetEnumerator() != 0)
|
||||
{
|
||||
SignerInfo signerInfo;
|
||||
intValue = signerInfo.version.Value.IntValue;
|
||||
while (intValue != 3)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (intValue != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
if (num != -1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600CE1B RID: 52763 RVA: 0x002EDD08 File Offset: 0x002EBF08
|
||||
[Token(Token = "0x600CE1B")]
|
||||
[Address(RVA = "0x2FF54E0", Offset = "0x2FF44E0", VA = "0x182FF54E0")]
|
||||
private SignedData(Asn1Sequence seq)
|
||||
{
|
||||
ContentInfo contentInfo;
|
||||
for (;;)
|
||||
{
|
||||
base..ctor();
|
||||
IEnumerator enumerator = seq.GetEnumerator();
|
||||
if (enumerator == 0 || enumerator != 0)
|
||||
{
|
||||
this.version = enumerator;
|
||||
if (enumerator == 0 || enumerator != 0)
|
||||
{
|
||||
this.digestAlgorithms = enumerator;
|
||||
this.contentInfo = contentInfo;
|
||||
if (contentInfo == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (contentInfo == 0)
|
||||
{
|
||||
}
|
||||
if (contentInfo != 0)
|
||||
{
|
||||
if (contentInfo == 0)
|
||||
{
|
||||
this.signerInfos = contentInfo;
|
||||
}
|
||||
if (contentInfo != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
DerObjectIdentifier contentType = contentInfo.contentType;
|
||||
Asn1Set asn1Set;
|
||||
if (contentType == 0)
|
||||
{
|
||||
bool flag = contentType != 0;
|
||||
this.certsBer = flag;
|
||||
this.certificates = asn1Set;
|
||||
}
|
||||
bool flag2 = asn1Set != 0;
|
||||
this.crlsBer = flag2;
|
||||
Asn1Set asn1Set2;
|
||||
this.crls = asn1Set2;
|
||||
}
|
||||
|
||||
// Token: 0x17002098 RID: 8344
|
||||
// (get) Token: 0x0600CE1C RID: 52764 RVA: 0x002EDDCC File Offset: 0x002EBFCC
|
||||
[Token(Token = "0x17002098")]
|
||||
public DerInteger Version
|
||||
{
|
||||
[Token(Token = "0x600CE1C")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
|
||||
get
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17002099 RID: 8345
|
||||
// (get) Token: 0x0600CE1D RID: 52765 RVA: 0x002EDDE0 File Offset: 0x002EBFE0
|
||||
[Token(Token = "0x17002099")]
|
||||
public Asn1Set DigestAlgorithms
|
||||
{
|
||||
[Token(Token = "0x600CE1D")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
|
||||
get
|
||||
{
|
||||
return this.digestAlgorithms;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700209A RID: 8346
|
||||
// (get) Token: 0x0600CE1E RID: 52766 RVA: 0x002EDDF4 File Offset: 0x002EBFF4
|
||||
[Token(Token = "0x1700209A")]
|
||||
public ContentInfo EncapContentInfo
|
||||
{
|
||||
[Token(Token = "0x600CE1E")]
|
||||
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
|
||||
get
|
||||
{
|
||||
return this.contentInfo;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700209B RID: 8347
|
||||
// (get) Token: 0x0600CE1F RID: 52767 RVA: 0x002EDE08 File Offset: 0x002EC008
|
||||
[Token(Token = "0x1700209B")]
|
||||
public Asn1Set Certificates
|
||||
{
|
||||
[Token(Token = "0x600CE1F")]
|
||||
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
|
||||
get
|
||||
{
|
||||
return this.certificates;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700209C RID: 8348
|
||||
// (get) Token: 0x0600CE20 RID: 52768 RVA: 0x002EDE1C File Offset: 0x002EC01C
|
||||
[Token(Token = "0x1700209C")]
|
||||
public Asn1Set CRLs
|
||||
{
|
||||
[Token(Token = "0x600CE20")]
|
||||
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
|
||||
get
|
||||
{
|
||||
return this.crls;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700209D RID: 8349
|
||||
// (get) Token: 0x0600CE21 RID: 52769 RVA: 0x002EDE30 File Offset: 0x002EC030
|
||||
[Token(Token = "0x1700209D")]
|
||||
public Asn1Set SignerInfos
|
||||
{
|
||||
[Token(Token = "0x600CE21")]
|
||||
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")]
|
||||
get
|
||||
{
|
||||
return this.signerInfos;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600CE22 RID: 52770 RVA: 0x002EDE44 File Offset: 0x002EC044
|
||||
[Token(Token = "0x600CE22")]
|
||||
[Address(RVA = "0x2FF4F60", Offset = "0x2FF3F60", VA = "0x182FF4F60", Slot = "5")]
|
||||
public override Asn1Object ToAsn1Object()
|
||||
{
|
||||
Asn1Encodable[] array = new Asn1Encodable[3];
|
||||
DerInteger derInteger = this.version;
|
||||
if (derInteger != 0)
|
||||
{
|
||||
}
|
||||
array[0] = derInteger;
|
||||
Asn1Set asn1Set = this.digestAlgorithms;
|
||||
if (asn1Set != 0)
|
||||
{
|
||||
}
|
||||
array[1] = asn1Set;
|
||||
ContentInfo contentInfo = this.contentInfo;
|
||||
if (contentInfo != 0)
|
||||
{
|
||||
}
|
||||
array[2] = contentInfo;
|
||||
Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(array);
|
||||
int num = 0;
|
||||
if (this.certificates != num)
|
||||
{
|
||||
if ((this.certsBer ? 1 : 0) == num)
|
||||
{
|
||||
Asn1Encodable[] array2 = new Asn1Encodable[0];
|
||||
Asn1Set asn1Set2 = this.certificates;
|
||||
int num2;
|
||||
int num3;
|
||||
DerTaggedObject derTaggedObject = new DerTaggedObject(num2 != 0, num3, asn1Set2);
|
||||
num3 = 0;
|
||||
num2 = 0;
|
||||
if (derTaggedObject != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
Asn1Set asn1Set3 = this.certificates;
|
||||
int num4;
|
||||
int num5;
|
||||
BerTaggedObject berTaggedObject = new BerTaggedObject(num4 != 0, num5, asn1Set3);
|
||||
num5 = 0;
|
||||
num4 = 0;
|
||||
if (berTaggedObject != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (this.crls != num)
|
||||
{
|
||||
if ((this.crlsBer ? 1 : 0) == num)
|
||||
{
|
||||
Asn1Encodable[] array3 = new Asn1Encodable[1];
|
||||
Asn1Set asn1Set4 = this.crls;
|
||||
int num6;
|
||||
DerTaggedObject derTaggedObject2 = new DerTaggedObject(num6 != 0, 1, asn1Set4);
|
||||
num6 = 0;
|
||||
if (derTaggedObject2 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
Asn1Set asn1Set5 = this.crls;
|
||||
int num7;
|
||||
BerTaggedObject berTaggedObject2 = new BerTaggedObject(num7 != 0, 1, asn1Set5);
|
||||
num7 = 0;
|
||||
if (berTaggedObject2 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
Asn1Encodable[] array4 = new Asn1Encodable[1];
|
||||
Asn1Set asn1Set6 = this.signerInfos;
|
||||
if (asn1Set6 != 0)
|
||||
{
|
||||
}
|
||||
array4[0] = asn1Set6;
|
||||
asn1EncodableVector.Add(array4);
|
||||
BerSequence berSequence = new BerSequence(asn1EncodableVector);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04008282 RID: 33410
|
||||
[Token(Token = "0x4008282")]
|
||||
private static readonly DerInteger Version1 = new DerInteger(1);
|
||||
|
||||
// Token: 0x04008283 RID: 33411
|
||||
[Token(Token = "0x4008283")]
|
||||
private static readonly DerInteger Version3 = new DerInteger(3);
|
||||
|
||||
// Token: 0x04008284 RID: 33412
|
||||
[Token(Token = "0x4008284")]
|
||||
private static readonly DerInteger Version4 = new DerInteger(4);
|
||||
|
||||
// Token: 0x04008285 RID: 33413
|
||||
[Token(Token = "0x4008285")]
|
||||
private static readonly DerInteger Version5 = new DerInteger(5);
|
||||
|
||||
// Token: 0x04008286 RID: 33414
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4008286")]
|
||||
private readonly DerInteger version;
|
||||
|
||||
// Token: 0x04008287 RID: 33415
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4008287")]
|
||||
private readonly Asn1Set digestAlgorithms;
|
||||
|
||||
// Token: 0x04008288 RID: 33416
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4008288")]
|
||||
private readonly ContentInfo contentInfo;
|
||||
|
||||
// Token: 0x04008289 RID: 33417
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4008289")]
|
||||
private readonly Asn1Set certificates;
|
||||
|
||||
// Token: 0x0400828A RID: 33418
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400828A")]
|
||||
private readonly Asn1Set crls;
|
||||
|
||||
// Token: 0x0400828B RID: 33419
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400828B")]
|
||||
private readonly Asn1Set signerInfos;
|
||||
|
||||
// Token: 0x0400828C RID: 33420
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400828C")]
|
||||
private readonly bool certsBer;
|
||||
|
||||
// Token: 0x0400828D RID: 33421
|
||||
[FieldOffset(Offset = "0x41")]
|
||||
[Token(Token = "0x400828D")]
|
||||
private readonly bool crlsBer;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user