This commit is contained in:
niko
2026-04-12 16:51:38 +02:00
parent 1b6f6d81d0
commit c12fbe3fc6
17828 changed files with 2994770 additions and 0 deletions
@@ -0,0 +1,363 @@
using System;
using System.Collections;
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.Security;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.X509
{
// Token: 0x020019F0 RID: 6640
[Token(Token = "0x20019F0")]
public class X509V3CertificateGenerator
{
// Token: 0x06009B3C RID: 39740 RVA: 0x001FC55C File Offset: 0x001FA75C
[Token(Token = "0x6009B3C")]
[Address(RVA = "0x63E0C0", Offset = "0x63D0C0", VA = "0x18063E0C0")]
public X509V3CertificateGenerator()
{
X509ExtensionsGenerator x509ExtensionsGenerator = new X509ExtensionsGenerator();
this.extGenerator = x509ExtensionsGenerator;
base..ctor();
V3TbsCertificateGenerator v3TbsCertificateGenerator = new V3TbsCertificateGenerator();
this.tbsGen = v3TbsCertificateGenerator;
}
// Token: 0x06009B3D RID: 39741 RVA: 0x001FC58C File Offset: 0x001FA78C
[Token(Token = "0x6009B3D")]
[Address(RVA = "0x63DCC0", Offset = "0x63CCC0", VA = "0x18063DCC0")]
public void Reset()
{
V3TbsCertificateGenerator v3TbsCertificateGenerator = new V3TbsCertificateGenerator();
X509ExtensionsGenerator x509ExtensionsGenerator = this.extGenerator;
this.tbsGen = v3TbsCertificateGenerator;
x509ExtensionsGenerator.Reset();
}
// Token: 0x06009B3E RID: 39742 RVA: 0x001FC5BC File Offset: 0x001FA7BC
[Token(Token = "0x6009B3E")]
[Address(RVA = "0x63DE90", Offset = "0x63CE90", VA = "0x18063DE90")]
public void SetSerialNumber(BigInteger serialNumber)
{
/*
An exception occurred when decompiling this method (06009B3E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.X509.X509V3CertificateGenerator::SetSerialNumber(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_25:
stloc:ArgumentException(var_2_34, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("serial number must be a positive integer"), ldstr:string("serialNumber")))
}
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: 0x06009B3F RID: 39743 RVA: 0x001FC600 File Offset: 0x001FA800
[Token(Token = "0x6009B3F")]
[Address(RVA = "0x63DD30", Offset = "0x63CD30", VA = "0x18063DD30")]
public void SetIssuerDN(X509Name issuer)
{
this.tbsGen.issuer = issuer;
}
// Token: 0x06009B40 RID: 39744 RVA: 0x001FC620 File Offset: 0x001FA820
[Token(Token = "0x6009B40")]
[Address(RVA = "0x63DDF0", Offset = "0x63CDF0", VA = "0x18063DDF0")]
public void SetNotBefore(DateTime date)
{
V3TbsCertificateGenerator v3TbsCertificateGenerator = this.tbsGen;
Time time = new Time(date);
v3TbsCertificateGenerator.startDate = time;
}
// Token: 0x06009B41 RID: 39745 RVA: 0x001FC648 File Offset: 0x001FA848
[Token(Token = "0x6009B41")]
[Address(RVA = "0x63DD80", Offset = "0x63CD80", VA = "0x18063DD80")]
public void SetNotAfter(DateTime date)
{
V3TbsCertificateGenerator v3TbsCertificateGenerator = this.tbsGen;
Time time = new Time(date);
v3TbsCertificateGenerator.endDate = time;
}
// Token: 0x06009B42 RID: 39746 RVA: 0x001FC670 File Offset: 0x001FA870
[Token(Token = "0x6009B42")]
[Address(RVA = "0x63E070", Offset = "0x63D070", VA = "0x18063E070")]
public void SetSubjectDN(X509Name subject)
{
this.tbsGen.subject = subject;
}
// Token: 0x06009B43 RID: 39747 RVA: 0x001FC690 File Offset: 0x001FA890
[Token(Token = "0x6009B43")]
[Address(RVA = "0x63DE60", Offset = "0x63CE60", VA = "0x18063DE60")]
public void SetPublicKey(AsymmetricKeyParameter publicKey)
{
V3TbsCertificateGenerator v3TbsCertificateGenerator = this.tbsGen;
SubjectPublicKeyInfo subjectPublicKeyInfo = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(publicKey);
v3TbsCertificateGenerator.subjectPublicKeyInfo = subjectPublicKeyInfo;
}
// Token: 0x06009B44 RID: 39748 RVA: 0x001FC6B8 File Offset: 0x001FA8B8
[Token(Token = "0x6009B44")]
[Address(RVA = "0x63DF50", Offset = "0x63CF50", VA = "0x18063DF50")]
[Obsolete]
public void SetSignatureAlgorithm(string signatureAlgorithm)
{
this.signatureAlgorithm = signatureAlgorithm;
DerObjectIdentifier algorithmOid = X509Utilities.GetAlgorithmOid(signatureAlgorithm);
this.sigOid = algorithmOid;
AlgorithmIdentifier sigAlgID = X509Utilities.GetSigAlgID(algorithmOid, signatureAlgorithm);
this.sigAlgId = sigAlgID;
this.tbsGen.signature = sigAlgID;
}
// Token: 0x06009B45 RID: 39749 RVA: 0x001FC708 File Offset: 0x001FA908
[Token(Token = "0x6009B45")]
[Address(RVA = "0x63E090", Offset = "0x63D090", VA = "0x18063E090")]
public void SetSubjectUniqueID(bool[] uniqueID)
{
V3TbsCertificateGenerator v3TbsCertificateGenerator = this.tbsGen;
DerBitString derBitString = this.booleanToBitString(uniqueID);
v3TbsCertificateGenerator.subjectUniqueID = derBitString;
}
// Token: 0x06009B46 RID: 39750 RVA: 0x001FC734 File Offset: 0x001FA934
[Token(Token = "0x6009B46")]
[Address(RVA = "0x63DD50", Offset = "0x63CD50", VA = "0x18063DD50")]
public void SetIssuerUniqueID(bool[] uniqueID)
{
V3TbsCertificateGenerator v3TbsCertificateGenerator = this.tbsGen;
DerBitString derBitString = this.booleanToBitString(uniqueID);
v3TbsCertificateGenerator.issuerUniqueID = derBitString;
}
// Token: 0x06009B47 RID: 39751 RVA: 0x001FC760 File Offset: 0x001FA960
[Token(Token = "0x6009B47")]
[Address(RVA = "0x63E140", Offset = "0x63D140", VA = "0x18063E140")]
private DerBitString booleanToBitString(bool[] id)
{
int num = id.Length;
num += 7;
byte[] array = new byte[id];
int num2 = 0;
int num3 = id.Length;
if (num2 != num3)
{
num2 += id;
num2 -= id;
uint num4;
num4 -= (uint)num2;
num2++;
}
if (num2 < array.Length)
{
num3++;
}
uint num5;
DerBitString derBitString = new DerBitString(array, (int)num5);
if (num3 != 0)
{
num5 -= (uint)num3;
return derBitString;
}
return derBitString;
}
// Token: 0x06009B48 RID: 39752 RVA: 0x001FC7CC File Offset: 0x001FA9CC
[Token(Token = "0x6009B48")]
[Address(RVA = "0x63D4C0", Offset = "0x63C4C0", VA = "0x18063D4C0")]
public void AddExtension(string oid, bool critical, Asn1Encodable extensionValue)
{
X509ExtensionsGenerator x509ExtensionsGenerator = this.extGenerator;
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(oid);
x509ExtensionsGenerator.AddExtension(derObjectIdentifier, critical, extensionValue);
}
// Token: 0x06009B49 RID: 39753 RVA: 0x001FC7F8 File Offset: 0x001FA9F8
[Token(Token = "0x6009B49")]
[Address(RVA = "0x63C780", Offset = "0x63B780", VA = "0x18063C780")]
public void AddExtension(DerObjectIdentifier oid, bool critical, Asn1Encodable extensionValue)
{
this.extGenerator.AddExtension(oid, critical, extensionValue);
}
// Token: 0x06009B4A RID: 39754 RVA: 0x001FC81C File Offset: 0x001FAA1C
[Token(Token = "0x6009B4A")]
[Address(RVA = "0x63D350", Offset = "0x63C350", VA = "0x18063D350")]
public void AddExtension(string oid, bool critical, byte[] extensionValue)
{
X509ExtensionsGenerator x509ExtensionsGenerator = this.extGenerator;
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(oid);
DerOctetString derOctetString = new DerOctetString(extensionValue);
x509ExtensionsGenerator.AddExtension(derObjectIdentifier, critical, derOctetString);
}
// Token: 0x06009B4B RID: 39755 RVA: 0x001FC850 File Offset: 0x001FAA50
[Token(Token = "0x6009B4B")]
[Address(RVA = "0x63D410", Offset = "0x63C410", VA = "0x18063D410")]
public void AddExtension(DerObjectIdentifier oid, bool critical, byte[] extensionValue)
{
X509ExtensionsGenerator x509ExtensionsGenerator = this.extGenerator;
DerOctetString derOctetString = new DerOctetString(extensionValue);
x509ExtensionsGenerator.AddExtension(oid, critical, derOctetString);
}
// Token: 0x06009B4C RID: 39756 RVA: 0x001FC87C File Offset: 0x001FAA7C
[Token(Token = "0x6009B4C")]
[Address(RVA = "0x63D6D0", Offset = "0x63C6D0", VA = "0x18063D6D0")]
public void CopyAndAddExtension(string oid, bool critical, X509Certificate cert)
{
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(oid);
this.CopyAndAddExtension(derObjectIdentifier, critical, cert);
}
// Token: 0x06009B4D RID: 39757 RVA: 0x001FC89C File Offset: 0x001FAA9C
[Token(Token = "0x6009B4D")]
[Address(RVA = "0x63D570", Offset = "0x63C570", VA = "0x18063D570")]
public void CopyAndAddExtension(DerObjectIdentifier oid, bool critical, X509Certificate cert)
{
/*
An exception occurred when decompiling this method (06009B4D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.X509.X509V3CertificateGenerator::CopyAndAddExtension(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.X509.X509Certificate)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_24:
stloc:CertificateParsingException(var_3_39, newobj:CertificateParsingException(CertificateParsingException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("extension "), ldloc:DerObjectIdentifier[exp:object](oid), ldstr:string[exp:object](" not present"))))
}
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: 0x06009B4E RID: 39758 RVA: 0x001FC8E4 File Offset: 0x001FAAE4
[Token(Token = "0x6009B4E")]
[Address(RVA = "0x63DC30", Offset = "0x63CC30", VA = "0x18063DC30")]
[Obsolete]
public X509Certificate Generate(AsymmetricKeyParameter privateKey)
{
int num;
Asn1SignatureFactory asn1SignatureFactory = new Asn1SignatureFactory(this.signatureAlgorithm, privateKey, num);
num = 0;
return this.Generate(asn1SignatureFactory);
}
// Token: 0x06009B4F RID: 39759 RVA: 0x001FC908 File Offset: 0x001FAB08
[Token(Token = "0x6009B4F")]
[Address(RVA = "0x63D830", Offset = "0x63C830", VA = "0x18063D830")]
[Obsolete]
public X509Certificate Generate(AsymmetricKeyParameter privateKey, SecureRandom random)
{
Asn1SignatureFactory asn1SignatureFactory = new Asn1SignatureFactory(this.signatureAlgorithm, privateKey, random);
return this.Generate(asn1SignatureFactory);
}
// Token: 0x06009B50 RID: 39760 RVA: 0x001FC92C File Offset: 0x001FAB2C
[Token(Token = "0x6009B50")]
[Address(RVA = "0x63D8D0", Offset = "0x63C8D0", VA = "0x18063D8D0")]
public X509Certificate Generate(ISignatureFactory signatureCalculatorFactory)
{
byte[] derEncoded;
for (;;)
{
V3TbsCertificateGenerator v3TbsCertificateGenerator = this.tbsGen;
if (signatureCalculatorFactory != 0)
{
if (!this.extGenerator.IsEmpty)
{
X509ExtensionsGenerator x509ExtensionsGenerator = this.extGenerator;
V3TbsCertificateGenerator v3TbsCertificateGenerator2 = this.tbsGen;
X509Extensions x509Extensions = x509ExtensionsGenerator.Generate();
v3TbsCertificateGenerator2.SetExtensions(x509Extensions);
}
derEncoded = this.tbsGen.GenerateTbsCertificate().GetDerEncoded();
if (derEncoded != 0 && derEncoded != 0)
{
if (derEncoded == 0)
{
}
if (derEncoded != 0)
{
break;
}
}
}
}
DerBitString derBitString = new DerBitString(derEncoded);
X509CertificateStructure x509CertificateStructure;
return new X509Certificate(x509CertificateStructure);
}
// Token: 0x06009B51 RID: 39761 RVA: 0x001FC9BC File Offset: 0x001FABBC
[Token(Token = "0x6009B51")]
[Address(RVA = "0x63D770", Offset = "0x63C770", VA = "0x18063D770")]
private X509Certificate GenerateJcaObject(TbsCertificateStructure tbsCert, AlgorithmIdentifier sigAlg, byte[] signature)
{
DerBitString derBitString = new DerBitString(signature);
return new X509Certificate(new X509CertificateStructure(tbsCert, sigAlg, derBitString));
}
// Token: 0x170018C1 RID: 6337
// (get) Token: 0x06009B52 RID: 39762 RVA: 0x001FC9E0 File Offset: 0x001FABE0
[Token(Token = "0x170018C1")]
public IEnumerable SignatureAlgNames
{
[Token(Token = "0x6009B52")]
[Address(RVA = "0x63E290", Offset = "0x63D290", VA = "0x18063E290")]
get
{
return X509Utilities.GetAlgNames();
}
}
// Token: 0x04006872 RID: 26738
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006872")]
private readonly X509ExtensionsGenerator extGenerator;
// Token: 0x04006873 RID: 26739
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006873")]
private V3TbsCertificateGenerator tbsGen;
// Token: 0x04006874 RID: 26740
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006874")]
private DerObjectIdentifier sigOid;
// Token: 0x04006875 RID: 26741
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4006875")]
private AlgorithmIdentifier sigAlgId;
// Token: 0x04006876 RID: 26742
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4006876")]
private string signatureAlgorithm;
}
}