using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Pkcs; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto; using BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO.Pem; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.OpenSsl { // Token: 0x0200199D RID: 6557 [Token(Token = "0x200199D")] public class Pkcs8Generator : PemObjectGenerator { // Token: 0x06009C94 RID: 40084 RVA: 0x0020A814 File Offset: 0x00208A14 [Token(Token = "0x6009C94")] [Address(RVA = "0x899650", Offset = "0x898450", VA = "0x180899650")] public Pkcs8Generator(AsymmetricKeyParameter privKey) { this.privKey = privKey; } // Token: 0x06009C95 RID: 40085 RVA: 0x0020A830 File Offset: 0x00208A30 [Token(Token = "0x6009C95")] [Address(RVA = "0x1CC84A0", Offset = "0x1CC72A0", VA = "0x181CC84A0")] public Pkcs8Generator(AsymmetricKeyParameter privKey, string algorithm) { this.privKey = privKey; this.algorithm = algorithm; this.iterationCount = (int)((ulong)2048L); } // Token: 0x17001901 RID: 6401 // (set) Token: 0x06009C96 RID: 40086 RVA: 0x0020A860 File Offset: 0x00208A60 [Token(Token = "0x17001901")] public SecureRandom SecureRandom { [Token(Token = "0x6009C96")] [Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")] set { this.random = value; } } // Token: 0x17001902 RID: 6402 // (set) Token: 0x06009C97 RID: 40087 RVA: 0x0020A874 File Offset: 0x00208A74 [Token(Token = "0x17001902")] public char[] Password { [Token(Token = "0x6009C97")] [Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")] set { this.password = value; } } // Token: 0x17001903 RID: 6403 // (set) Token: 0x06009C98 RID: 40088 RVA: 0x0020A888 File Offset: 0x00208A88 [Token(Token = "0x17001903")] public int IterationCount { [Token(Token = "0x6009C98")] [Address(RVA = "0x420360", Offset = "0x41F160", VA = "0x180420360")] set { this.iterationCount = value; } } // Token: 0x06009C99 RID: 40089 RVA: 0x0020A89C File Offset: 0x00208A9C [Token(Token = "0x6009C99")] [Address(RVA = "0x1CC8150", Offset = "0x1CC6F50", VA = "0x181CC8150", Slot = "4")] public PemObject Generate() { if (this.PbeSha1_2DES != (ulong)0L) { byte[] array = new byte[20]; SecureRandom secureRandom = this.random; if (secureRandom == 0) { SecureRandom secureRandom2 = new SecureRandom(); this.random = secureRandom2; } double num = secureRandom.NextDouble(); string text = this.algorithm; char[] array2 = this.password; int num2 = this.iterationCount; int num3 = 0; PrivateKeyInfo privateKeyInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo(this.privKey, num3); byte[] encoded = EncryptedPrivateKeyInfoFactory.CreateEncryptedPrivateKeyInfo(text, array2, array, num2, privateKeyInfo).GetEncoded(); return new PemObject("ENCRYPTED PRIVATE KEY", encoded); } int num4 = 0; byte[] encoded2 = PrivateKeyInfoFactory.CreatePrivateKeyInfo(this.privKey, num4).GetEncoded(); PemObject pemObject = new PemObject("PRIVATE KEY", encoded2); throw new NullReferenceException(); } // Token: 0x0400694C RID: 26956 [Token(Token = "0x400694C")] public static readonly string PbeSha1_RC4_128 = PkcsObjectIdentifiers.PbeWithShaAnd128BitRC4.identifier; // Token: 0x0400694D RID: 26957 [Token(Token = "0x400694D")] public static readonly string PbeSha1_RC4_40 = PkcsObjectIdentifiers.PbeWithShaAnd40BitRC4.identifier; // Token: 0x0400694E RID: 26958 [Token(Token = "0x400694E")] public static readonly string PbeSha1_3DES = PkcsObjectIdentifiers.PbeWithShaAnd3KeyTripleDesCbc.identifier; // Token: 0x0400694F RID: 26959 [Token(Token = "0x400694F")] public static readonly string PbeSha1_2DES = PkcsObjectIdentifiers.PbeWithShaAnd2KeyTripleDesCbc.identifier; // Token: 0x04006950 RID: 26960 [Token(Token = "0x4006950")] public static readonly string PbeSha1_RC2_128 = PkcsObjectIdentifiers.PbeWithShaAnd128BitRC2Cbc.identifier; // Token: 0x04006951 RID: 26961 [Token(Token = "0x4006951")] public static readonly string PbeSha1_RC2_40 = PkcsObjectIdentifiers.PbewithShaAnd40BitRC2Cbc.identifier; // Token: 0x04006952 RID: 26962 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006952")] private char[] password; // Token: 0x04006953 RID: 26963 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006953")] private string algorithm; // Token: 0x04006954 RID: 26964 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006954")] private int iterationCount; // Token: 0x04006955 RID: 26965 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4006955")] private AsymmetricKeyParameter privKey; // Token: 0x04006956 RID: 26966 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4006956")] private SecureRandom random; } }