mirror of
https://github.com/bitwarden/server.git
synced 2025-04-13 09:08:17 -05:00
new encryption types for rsa with hmac
This commit is contained in:
parent
8112825556
commit
5a67df60de
src/Core
@ -6,6 +6,8 @@
|
|||||||
AesCbc128_HmacSha256_B64 = 1,
|
AesCbc128_HmacSha256_B64 = 1,
|
||||||
AesCbc256_HmacSha256_B64 = 2,
|
AesCbc256_HmacSha256_B64 = 2,
|
||||||
Rsa2048_OaepSha256_B64 = 3,
|
Rsa2048_OaepSha256_B64 = 3,
|
||||||
Rsa2048_OaepSha1_B64 = 4
|
Rsa2048_OaepSha1_B64 = 4,
|
||||||
|
Rsa2048_OaepSha256_HmacSha256_B64 = 5,
|
||||||
|
Rsa2048_OaepSha1_HmacSha256_B64 = 6
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,6 +55,8 @@ namespace Bit.Core.Utilities
|
|||||||
switch(encType)
|
switch(encType)
|
||||||
{
|
{
|
||||||
case Enums.EncryptionType.AesCbc256_B64:
|
case Enums.EncryptionType.AesCbc256_B64:
|
||||||
|
case Enums.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:
|
||||||
|
case Enums.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:
|
||||||
if(encStringPieces.Length != 2)
|
if(encStringPieces.Length != 2)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@ -78,26 +80,52 @@ namespace Bit.Core.Utilities
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(encType != Enums.EncryptionType.Rsa2048_OaepSha1_B64 &&
|
switch(encType)
|
||||||
encType != Enums.EncryptionType.Rsa2048_OaepSha256_B64)
|
|
||||||
{
|
{
|
||||||
var iv = Convert.FromBase64String(encStringPieces[0]);
|
case Enums.EncryptionType.AesCbc256_B64:
|
||||||
var ct = Convert.FromBase64String(encStringPieces[1]);
|
case Enums.EncryptionType.AesCbc128_HmacSha256_B64:
|
||||||
|
case Enums.EncryptionType.AesCbc256_HmacSha256_B64:
|
||||||
|
var iv = Convert.FromBase64String(encStringPieces[0]);
|
||||||
|
var ct = Convert.FromBase64String(encStringPieces[1]);
|
||||||
|
if(iv.Length < 1 || ct.Length < 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(iv.Length < 1 || ct.Length < 1)
|
if(encType == Enums.EncryptionType.AesCbc128_HmacSha256_B64 ||
|
||||||
{
|
encType == Enums.EncryptionType.AesCbc256_HmacSha256_B64)
|
||||||
return false;
|
{
|
||||||
}
|
var mac = Convert.FromBase64String(encStringPieces[2]);
|
||||||
}
|
if(mac.Length < 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(encType == Enums.EncryptionType.AesCbc128_HmacSha256_B64 ||
|
break;
|
||||||
encType == Enums.EncryptionType.AesCbc256_HmacSha256_B64)
|
case Enums.EncryptionType.Rsa2048_OaepSha256_B64:
|
||||||
{
|
case Enums.EncryptionType.Rsa2048_OaepSha1_B64:
|
||||||
var mac = Convert.FromBase64String(encStringPieces[2]);
|
case Enums.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:
|
||||||
if(mac.Length < 1)
|
case Enums.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:
|
||||||
{
|
var rsaCt = Convert.FromBase64String(encStringPieces[0]);
|
||||||
|
if(rsaCt.Length < 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(encType == Enums.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64 ||
|
||||||
|
encType == Enums.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64)
|
||||||
|
{
|
||||||
|
var mac = Convert.FromBase64String(encStringPieces[1]);
|
||||||
|
if(mac.Length < 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
Loading…
x
Reference in New Issue
Block a user