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: 0x02001A7D RID: 6781 [Token(Token = "0x2001A7D")] public class Pkcs8Generator : PemObjectGenerator { // Token: 0x0600A062 RID: 41058 RVA: 0x0021389C File Offset: 0x00211A9C [Token(Token = "0x600A062")] [Address(RVA = "0x64A990", Offset = "0x649990", VA = "0x18064A990")] public Pkcs8Generator(AsymmetricKeyParameter privKey) { this.privKey = privKey; } // Token: 0x0600A063 RID: 41059 RVA: 0x002138B8 File Offset: 0x00211AB8 [Token(Token = "0x600A063")] [Address(RVA = "0x64A950", Offset = "0x649950", VA = "0x18064A950")] public Pkcs8Generator(AsymmetricKeyParameter privKey, string algorithm) { this.privKey = privKey; this.algorithm = algorithm; this.iterationCount = (int)((ulong)2048L); } // Token: 0x1700199E RID: 6558 // (set) Token: 0x0600A064 RID: 41060 RVA: 0x002138E8 File Offset: 0x00211AE8 [Token(Token = "0x1700199E")] public SecureRandom SecureRandom { [Token(Token = "0x600A064")] [Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830")] set { this.random = value; } } // Token: 0x1700199F RID: 6559 // (set) Token: 0x0600A065 RID: 41061 RVA: 0x002138FC File Offset: 0x00211AFC [Token(Token = "0x1700199F")] public char[] Password { [Token(Token = "0x600A065")] [Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800")] set { this.password = value; } } // Token: 0x170019A0 RID: 6560 // (set) Token: 0x0600A066 RID: 41062 RVA: 0x00213910 File Offset: 0x00211B10 [Token(Token = "0x170019A0")] public int IterationCount { [Token(Token = "0x600A066")] [Address(RVA = "0x62ADB0", Offset = "0x629DB0", VA = "0x18062ADB0")] set { this.iterationCount = value; } } // Token: 0x0600A067 RID: 41063 RVA: 0x00213924 File Offset: 0x00211B24 [Token(Token = "0x600A067")] [Address(RVA = "0x64A600", Offset = "0x649600", VA = "0x18064A600", 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: 0x04006B05 RID: 27397 [Token(Token = "0x4006B05")] public static readonly string PbeSha1_RC4_128 = PkcsObjectIdentifiers.PbeWithShaAnd128BitRC4.identifier; // Token: 0x04006B06 RID: 27398 [Token(Token = "0x4006B06")] public static readonly string PbeSha1_RC4_40 = PkcsObjectIdentifiers.PbeWithShaAnd40BitRC4.identifier; // Token: 0x04006B07 RID: 27399 [Token(Token = "0x4006B07")] public static readonly string PbeSha1_3DES = PkcsObjectIdentifiers.PbeWithShaAnd3KeyTripleDesCbc.identifier; // Token: 0x04006B08 RID: 27400 [Token(Token = "0x4006B08")] public static readonly string PbeSha1_2DES = PkcsObjectIdentifiers.PbeWithShaAnd2KeyTripleDesCbc.identifier; // Token: 0x04006B09 RID: 27401 [Token(Token = "0x4006B09")] public static readonly string PbeSha1_RC2_128 = PkcsObjectIdentifiers.PbeWithShaAnd128BitRC2Cbc.identifier; // Token: 0x04006B0A RID: 27402 [Token(Token = "0x4006B0A")] public static readonly string PbeSha1_RC2_40 = PkcsObjectIdentifiers.PbewithShaAnd40BitRC2Cbc.identifier; // Token: 0x04006B0B RID: 27403 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006B0B")] private char[] password; // Token: 0x04006B0C RID: 27404 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006B0C")] private string algorithm; // Token: 0x04006B0D RID: 27405 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006B0D")] private int iterationCount; // Token: 0x04006B0E RID: 27406 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4006B0E")] private AsymmetricKeyParameter privKey; // Token: 0x04006B0F RID: 27407 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4006B0F")] private SecureRandom random; } }