1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2025-07-07 08:14:58 +03:00

Add DhParamBits configuration to set Diffie-Hellman parameters

This commit is contained in:
NV
2015-01-27 03:23:36 +09:00
parent 75f9836ce5
commit ad58da4179
9 changed files with 155 additions and 9 deletions

View File

@ -4827,12 +4827,53 @@ DH_CTX *DhNewGroup5()
return DhNew(DH_GROUP5_PRIME_1536, 2);
}
// Creating a DH GROUP14
DH_CTX *DhNewGroup14()
{
return DhNew(DH_GROUP14_PRIME_2048, 2);
}
// Creating a DH GROUP15
DH_CTX *DhNewGroup15()
{
return DhNew(DH_GROUP15_PRIME_3072, 2);
}
// Creating a DH GROUP16
DH_CTX *DhNewGroup16()
{
return DhNew(DH_GROUP16_PRIME_4096, 2);
}
// Creating a DH SIMPLE 160bits
DH_CTX *DhNewSimple160()
{
return DhNew(DH_SIMPLE_160, 2);
}
DH_CTX *DhNewFromBits(UINT bits)
{
switch (bits)
{
case 160:
return DhNewSimple160();
case 768:
return DhNewGroup1();
case 1024:
return DhNewGroup2();
case 1536:
return DhNewGroup5();
case 2048:
return DhNewGroup14();
case 3072:
return DhNewGroup15();
case 4096:
return DhNewGroup16();
default:
return DhNewGroup14();
}
}
// Convert the DH parameters to file
BUF *DhToBuf(DH_CTX *dh)
{