151 lines
4.9 KiB
C#
151 lines
4.9 KiB
C#
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;
|
|
}
|
|
}
|