init commit

This commit is contained in:
2025-10-09 09:57:24 +09:00
commit 4d551bd74f
6636 changed files with 1218703 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
using System.Collections;
using Org.BouncyCastle.Crypto.Agreement.Srp;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Math;
using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Crypto.Tls;
public class DefaultTlsSrpGroupVerifier : TlsSrpGroupVerifier
{
protected static readonly IList DefaultGroups;
protected readonly IList mGroups;
static DefaultTlsSrpGroupVerifier()
{
DefaultGroups = Platform.CreateArrayList();
DefaultGroups.Add(Srp6StandardGroups.rfc5054_1024);
DefaultGroups.Add(Srp6StandardGroups.rfc5054_1536);
DefaultGroups.Add(Srp6StandardGroups.rfc5054_2048);
DefaultGroups.Add(Srp6StandardGroups.rfc5054_3072);
DefaultGroups.Add(Srp6StandardGroups.rfc5054_4096);
DefaultGroups.Add(Srp6StandardGroups.rfc5054_6144);
DefaultGroups.Add(Srp6StandardGroups.rfc5054_8192);
}
public DefaultTlsSrpGroupVerifier()
: this(DefaultGroups)
{
}
public DefaultTlsSrpGroupVerifier(IList groups)
{
mGroups = groups;
}
public virtual bool Accept(Srp6GroupParameters group)
{
foreach (Srp6GroupParameters mGroup in mGroups)
{
if (AreGroupsEqual(group, mGroup))
{
return true;
}
}
return false;
}
protected virtual bool AreGroupsEqual(Srp6GroupParameters a, Srp6GroupParameters b)
{
if (a != b)
{
if (AreParametersEqual(a.N, b.N))
{
return AreParametersEqual(a.G, b.G);
}
return false;
}
return true;
}
protected virtual bool AreParametersEqual(BigInteger a, BigInteger b)
{
if (a != b)
{
return a.Equals(b);
}
return true;
}
}