Files
Dec2017-Script-Dump/Mono.Security/Security/Protocol/Tls/CipherSuiteFactory.cs
T
2026-06-04 11:42:34 +02:00

397 lines
6.5 KiB
C#

using System;
namespace Mono.Security.Protocol.Tls
{
// Token: 0x02000082 RID: 130
internal class CipherSuiteFactory
{
// Token: 0x060004BA RID: 1210 RVA: 0x0001D050 File Offset: 0x0001B250
public static CipherSuiteCollection GetSupportedCiphers(SecurityProtocolType protocol)
{
if (protocol != SecurityProtocolType.Default)
{
if (protocol != SecurityProtocolType.Ssl2)
{
if (protocol == SecurityProtocolType.Ssl3)
{
return CipherSuiteFactory.GetSsl3SupportedCiphers();
}
if (protocol == SecurityProtocolType.Tls)
{
goto IL_2D;
}
}
throw new NotSupportedException("Unsupported security protocol type");
}
IL_2D:
return CipherSuiteFactory.GetTls1SupportedCiphers();
}
// Token: 0x060004BB RID: 1211 RVA: 0x0001D0A0 File Offset: 0x0001B2A0
private static CipherSuiteCollection GetTls1SupportedCiphers()
{
return new CipherSuiteCollection(SecurityProtocolType.Tls)
{
{
53,
"TLS_RSA_WITH_AES_256_CBC_SHA",
CipherAlgorithmType.Rijndael,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
false,
true,
32,
32,
256,
16,
16
},
{
47,
"TLS_RSA_WITH_AES_128_CBC_SHA",
CipherAlgorithmType.Rijndael,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
false,
true,
16,
16,
128,
16,
16
},
{
10,
"TLS_RSA_WITH_3DES_EDE_CBC_SHA",
CipherAlgorithmType.TripleDes,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
false,
true,
24,
24,
168,
8,
8
},
{
5,
"TLS_RSA_WITH_RC4_128_SHA",
CipherAlgorithmType.Rc4,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
false,
false,
16,
16,
128,
0,
0
},
{
4,
"TLS_RSA_WITH_RC4_128_MD5",
CipherAlgorithmType.Rc4,
HashAlgorithmType.Md5,
ExchangeAlgorithmType.RsaKeyX,
false,
false,
16,
16,
128,
0,
0
},
{
9,
"TLS_RSA_WITH_DES_CBC_SHA",
CipherAlgorithmType.Des,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
false,
true,
8,
8,
56,
8,
8
},
{
3,
"TLS_RSA_EXPORT_WITH_RC4_40_MD5",
CipherAlgorithmType.Rc4,
HashAlgorithmType.Md5,
ExchangeAlgorithmType.RsaKeyX,
true,
false,
5,
16,
40,
0,
0
},
{
6,
"TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5",
CipherAlgorithmType.Rc2,
HashAlgorithmType.Md5,
ExchangeAlgorithmType.RsaKeyX,
true,
true,
5,
16,
40,
8,
8
},
{
8,
"TLS_RSA_EXPORT_WITH_DES40_CBC_SHA",
CipherAlgorithmType.Des,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
true,
true,
5,
8,
40,
8,
8
},
{
96,
"TLS_RSA_EXPORT_WITH_RC4_56_MD5",
CipherAlgorithmType.Rc4,
HashAlgorithmType.Md5,
ExchangeAlgorithmType.RsaKeyX,
true,
false,
7,
16,
56,
0,
0
},
{
97,
"TLS_RSA_EXPORT_WITH_RC2_CBC_56_MD5",
CipherAlgorithmType.Rc2,
HashAlgorithmType.Md5,
ExchangeAlgorithmType.RsaKeyX,
true,
true,
7,
16,
56,
8,
8
},
{
98,
"TLS_RSA_EXPORT_WITH_DES_CBC_56_SHA",
CipherAlgorithmType.Des,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
true,
true,
8,
8,
64,
8,
8
},
{
100,
"TLS_RSA_EXPORT_WITH_RC4_56_SHA",
CipherAlgorithmType.Rc4,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
true,
false,
7,
16,
56,
0,
0
}
};
}
// Token: 0x060004BC RID: 1212 RVA: 0x0001D21C File Offset: 0x0001B41C
private static CipherSuiteCollection GetSsl3SupportedCiphers()
{
return new CipherSuiteCollection(SecurityProtocolType.Ssl3)
{
{
53,
"SSL_RSA_WITH_AES_256_CBC_SHA",
CipherAlgorithmType.Rijndael,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
false,
true,
32,
32,
256,
16,
16
},
{
10,
"SSL_RSA_WITH_3DES_EDE_CBC_SHA",
CipherAlgorithmType.TripleDes,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
false,
true,
24,
24,
168,
8,
8
},
{
5,
"SSL_RSA_WITH_RC4_128_SHA",
CipherAlgorithmType.Rc4,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
false,
false,
16,
16,
128,
0,
0
},
{
4,
"SSL_RSA_WITH_RC4_128_MD5",
CipherAlgorithmType.Rc4,
HashAlgorithmType.Md5,
ExchangeAlgorithmType.RsaKeyX,
false,
false,
16,
16,
128,
0,
0
},
{
9,
"SSL_RSA_WITH_DES_CBC_SHA",
CipherAlgorithmType.Des,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
false,
true,
8,
8,
56,
8,
8
},
{
3,
"SSL_RSA_EXPORT_WITH_RC4_40_MD5",
CipherAlgorithmType.Rc4,
HashAlgorithmType.Md5,
ExchangeAlgorithmType.RsaKeyX,
true,
false,
5,
16,
40,
0,
0
},
{
6,
"SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5",
CipherAlgorithmType.Rc2,
HashAlgorithmType.Md5,
ExchangeAlgorithmType.RsaKeyX,
true,
true,
5,
16,
40,
8,
8
},
{
8,
"SSL_RSA_EXPORT_WITH_DES40_CBC_SHA",
CipherAlgorithmType.Des,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
true,
true,
5,
8,
40,
8,
8
},
{
96,
"SSL_RSA_EXPORT_WITH_RC4_56_MD5",
CipherAlgorithmType.Rc4,
HashAlgorithmType.Md5,
ExchangeAlgorithmType.RsaKeyX,
true,
false,
7,
16,
56,
0,
0
},
{
97,
"SSL_RSA_EXPORT_WITH_RC2_CBC_56_MD5",
CipherAlgorithmType.Rc2,
HashAlgorithmType.Md5,
ExchangeAlgorithmType.RsaKeyX,
true,
true,
7,
16,
56,
8,
8
},
{
98,
"SSL_RSA_EXPORT_WITH_DES_CBC_56_SHA",
CipherAlgorithmType.Des,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
true,
true,
8,
8,
64,
8,
8
},
{
100,
"SSL_RSA_EXPORT_WITH_RC4_56_SHA",
CipherAlgorithmType.Rc4,
HashAlgorithmType.Sha1,
ExchangeAlgorithmType.RsaKeyX,
true,
false,
7,
16,
56,
0,
0
}
};
}
}
}