Skip to content

Commit 5a7c0cd

Browse files
committed
Made RestSharpJweEncryptionInterceptor internal, clean-up
1 parent 4dabd6a commit 5a7c0cd

16 files changed

+76
-76
lines changed

Mastercard.Developer.ClientEncryption.Core/Encryption/AES/AESCBC.cs renamed to Mastercard.Developer.ClientEncryption.Core/Encryption/AES/AesCbc.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@
66

77
namespace Mastercard.Developer.ClientEncryption.Core.Encryption.AES
88
{
9-
internal class AESCBC
9+
internal static class AesCbc
1010
{
11-
private AESCBC() { }
12-
1311
public static byte[] Decrypt(byte[] secretKeyBytes, JweObject jweObject)
1412
{
1513
// Extract the encryption key

Mastercard.Developer.ClientEncryption.Core/Encryption/AES/AESGCM.cs renamed to Mastercard.Developer.ClientEncryption.Core/Encryption/AES/AesGcm.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,25 @@
66

77
namespace Mastercard.Developer.ClientEncryption.Core.Encryption.AES
88
{
9-
internal class AESGCMAuthenticated
9+
internal class AesGcmAuthenticated
1010
{
1111
public byte[] Ciphertext { get; private set; }
1212
public byte[] AuthTag { get; private set; }
1313

14-
internal AESGCMAuthenticated(byte[] ciphertext, byte[] authTag)
14+
internal AesGcmAuthenticated(byte[] ciphertext, byte[] authTag)
1515
{
1616
Ciphertext = ciphertext;
1717
AuthTag = authTag;
1818
}
1919
}
2020

21-
class AESGCM
21+
internal static class AesGcm
2222
{
23-
private AESGCM() { }
24-
2523
internal static byte[] Decrypt(byte[] secretKeyBytes, JweObject jweObject)
2624
{
2725
#if NETSTANDARD2_1
2826
byte[] plaintext;
29-
using (var aes = new AesGcm(secretKeyBytes))
27+
using (var aes = new System.Security.Cryptography.AesGcm(secretKeyBytes))
3028
{
3129
byte[] nonce = Base64Utils.URLDecode(jweObject.Iv);
3230
byte[] aad = Encoding.ASCII.GetBytes(jweObject.RawHeader);
@@ -42,16 +40,16 @@ internal static byte[] Decrypt(byte[] secretKeyBytes, JweObject jweObject)
4240
#endif
4341
}
4442

45-
internal static AESGCMAuthenticated Encrypt(byte[] secretKeyBytes, byte[] nonce, byte[] plaintext, byte[] aad)
43+
internal static AesGcmAuthenticated Encrypt(byte[] secretKeyBytes, byte[] nonce, byte[] plaintext, byte[] aad)
4644
{
4745
#if NETSTANDARD2_1
4846
byte[] ciphertext = new byte[plaintext.Length];
49-
byte[] authTag = new byte[AesGcm.TagByteSizes.MaxSize];
50-
using (var aes = new AesGcm(secretKeyBytes))
47+
byte[] authTag = new byte[System.Security.Cryptography.AesGcm.TagByteSizes.MaxSize];
48+
using (var aes = new System.Security.Cryptography.AesGcm(secretKeyBytes))
5149
{
5250
aes.Encrypt(nonce, plaintext, ciphertext, authTag, aad);
5351
}
54-
return new AESGCMAuthenticated(ciphertext, authTag);
52+
return new AesGcmAuthenticated(ciphertext, authTag);
5553
#else
5654
throw new EncryptionException("AES/GCM/NoPadding is unsupported on .NET Standard < 2.1");
5755
#endif

Mastercard.Developer.ClientEncryption.Core/Encryption/JWE/JweEncryption.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,12 @@
66

77
namespace Mastercard.Developer.ClientEncryption.Core.Encryption.JWE
88
{
9-
public class JweEncryption
9+
public static class JweEncryption
1010
{
1111
private const string ALGORITHM = "RSA-OAEP-256";
1212
private const string ENCRYPTION = "A256GCM";
1313
private const string CONTENT_TYPE = "application/json";
1414

15-
internal JweEncryption() { }
16-
1715
public static string EncryptPayload(string payload, JweConfig config)
1816
{
1917
try

Mastercard.Developer.ClientEncryption.Core/Encryption/JWE/JweObject.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ public string Decrypt(JweConfig config)
3232
byte[] plaintext;
3333
if (A256GCM.Equals(encryptionMethod))
3434
{
35-
plaintext = AESGCM.Decrypt(unwrappedKey, this);
35+
plaintext = AesGcm.Decrypt(unwrappedKey, this);
3636
}
3737
else if (A128CBC_HS256.Equals(encryptionMethod))
3838
{
39-
plaintext = AESCBC.Decrypt(unwrappedKey, this);
39+
plaintext = AesCbc.Decrypt(unwrappedKey, this);
4040
}
4141
else
4242
{
@@ -58,7 +58,7 @@ public static string Encrypt(JweConfig config, String payload, JweHeader header)
5858
string encodedHeader = Base64Utils.URLEncode(Encoding.UTF8.GetBytes(headerString));
5959
byte[] aad = Encoding.ASCII.GetBytes(encodedHeader);
6060

61-
var encrypted = AESGCM.Encrypt(cek, iv, payloadBytes, aad);
61+
var encrypted = AesGcm.Encrypt(cek, iv, payloadBytes, aad);
6262
return Serialize(encodedHeader, encryptedKey, Base64Utils.URLEncode(iv), Base64Utils.URLEncode(encrypted.Ciphertext), Base64Utils.URLEncode(encrypted.AuthTag));
6363
}
6464

Mastercard.Developer.ClientEncryption.Core/Utils/Base64Utils.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Mastercard.Developer.ClientEncryption.Core.Utils
44
{
5-
class Base64Utils
5+
internal static class Base64Utils
66
{
77
// c.f. https://datatracker.ietf.org/doc/html/rfc7515#appendix-C
88
internal static string URLEncode(byte[] bytes)

Mastercard.Developer.ClientEncryption.RestSharpV2/Interceptors/RestSharpEncryptionInterceptor.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,6 @@ namespace Mastercard.Developer.ClientEncryption.RestSharpV2.Interceptors
1212
/// </summary>
1313
public abstract class RestSharpEncryptionInterceptor
1414
{
15-
/// <summary>
16-
/// Constructor.
17-
/// </summary>
18-
internal RestSharpEncryptionInterceptor() { }
19-
2015
/// <summary>
2116
///
2217
/// </summary>
@@ -143,7 +138,7 @@ internal static void UpdateResponseHeader(IRestResponse response, string name, o
143138
}
144139

145140
// If we get here, there is no such header, so add one
146-
Parameter header = new Parameter(name, value.ToString(), ParameterType.HttpHeader);
141+
var header = new Parameter(name, value.ToString(), ParameterType.HttpHeader);
147142
response.Headers.Add(header);
148143
}
149144

Mastercard.Developer.ClientEncryption.RestSharpV2/Interceptors/RestSharpJweEncryptionInterceptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace Mastercard.Developer.ClientEncryption.RestSharpV2.Interceptors
88
/// A class for encrypting RestSharp requests and decrypting RestSharp responses,
99
/// using JSON Web Encryption.
1010
/// </summary>
11-
public class RestSharpJweEncryptionInterceptor : RestSharpEncryptionInterceptor
11+
internal class RestSharpJweEncryptionInterceptor : RestSharpEncryptionInterceptor
1212
{
1313
private readonly JweConfig _config;
1414

Mastercard.Developer.ClientEncryption.RestSharpV2/Mastercard.Developer.ClientEncryption.RestSharpV2.csproj

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,27 @@
4141
<ProjectReference Include="..\Mastercard.Developer.ClientEncryption.Core\Mastercard.Developer.ClientEncryption.Core.csproj" />
4242
</ItemGroup>
4343

44+
<ItemGroup>
45+
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
46+
<_Parameter1>Mastercard.Developer.ClientEncryption.Tests.NetCore2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b50e085c4583209974a6a902505c534b21b205b9e627c583beea690b541d67fdfe8dc53e50c6a0653f0e3e7828d75432a50df4c4b5348ca4e662e42af603cc97636fb2393ef995babf19bc51644c30296a3edf0afd0182cfc21d0c836da5af922e3631a52a2dc5ed2edc8c568f41ff3d41c82fbe27e6bf4fe4df3e50568b65c8</_Parameter1>
47+
</AssemblyAttribute>
48+
</ItemGroup>
49+
50+
<ItemGroup>
51+
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
52+
<_Parameter1>Mastercard.Developer.ClientEncryption.Tests.NetCore3, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b50e085c4583209974a6a902505c534b21b205b9e627c583beea690b541d67fdfe8dc53e50c6a0653f0e3e7828d75432a50df4c4b5348ca4e662e42af603cc97636fb2393ef995babf19bc51644c30296a3edf0afd0182cfc21d0c836da5af922e3631a52a2dc5ed2edc8c568f41ff3d41c82fbe27e6bf4fe4df3e50568b65c8</_Parameter1>
53+
</AssemblyAttribute>
54+
</ItemGroup>
55+
56+
<ItemGroup>
57+
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
58+
<_Parameter1>Mastercard.Developer.ClientEncryption.Tests.Net4x, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b50e085c4583209974a6a902505c534b21b205b9e627c583beea690b541d67fdfe8dc53e50c6a0653f0e3e7828d75432a50df4c4b5348ca4e662e42af603cc97636fb2393ef995babf19bc51644c30296a3edf0afd0182cfc21d0c836da5af922e3631a52a2dc5ed2edc8c568f41ff3d41c82fbe27e6bf4fe4df3e50568b65c8</_Parameter1>
59+
</AssemblyAttribute>
60+
</ItemGroup>
61+
62+
<ItemGroup>
63+
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
64+
<_Parameter1>Mastercard.Developer.ClientEncryption.Tests.Net5, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b50e085c4583209974a6a902505c534b21b205b9e627c583beea690b541d67fdfe8dc53e50c6a0653f0e3e7828d75432a50df4c4b5348ca4e662e42af603cc97636fb2393ef995babf19bc51644c30296a3edf0afd0182cfc21d0c836da5af922e3631a52a2dc5ed2edc8c568f41ff3d41c82fbe27e6bf4fe4df3e50568b65c8</_Parameter1>
65+
</AssemblyAttribute>
66+
</ItemGroup>
4467
</Project>

Mastercard.Developer.ClientEncryption.Tests/Net4x/Mastercard.Developer.ClientEncryption.Tests.Net4x.csproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,20 +72,20 @@
7272
<Compile Include="..\NetCore2\Interceptors\RestSharpV2FieldLevelEncryptionInterceptorTest.cs">
7373
<Link>Interceptors\RestSharpV2FieldLevelEncryptionInterceptorTest.cs</Link>
7474
</Compile>
75-
<Compile Include="..\NetCore2\Interceptors\RestSharpV2CBCJweEncryptionInterceptorTest.cs">
76-
<Link>Interceptors\RestSharpV2CBCJweEncryptionInterceptorTest.cs</Link>
75+
<Compile Include="..\NetCore2\Interceptors\RestSharpV2CbcJweEncryptionInterceptorTest.cs">
76+
<Link>Interceptors\RestSharpV2CbcJweEncryptionInterceptorTest.cs</Link>
7777
</Compile>
78-
<Compile Include="..\NetCore2\Interceptors\RestSharpV2GCMJweEncryptionInterceptorTest.cs">
79-
<Link>Interceptors\RestSharpV2GCMJweEncryptionInterceptorTest.cs</Link>
78+
<Compile Include="..\NetCore2\Interceptors\RestSharpV2GcmJweEncryptionInterceptorTest.cs">
79+
<Link>Interceptors\RestSharpV2GcmJweEncryptionInterceptorTest.cs</Link>
8080
</Compile>
81-
<Compile Include="..\NetCore2\Encryption\JWE\GCMJweObjectTest.cs">
82-
<Link>Encryption\JWE\GCMJweObjectTest.cs</Link>
81+
<Compile Include="..\NetCore2\Encryption\JWE\GcmJweObjectTest.cs">
82+
<Link>Encryption\JWE\GcmJweObjectTest.cs</Link>
8383
</Compile>
8484
<Compile Include="..\NetCore2\Encryption\JWE\JweHeaderTest.cs">
8585
<Link>Encryption\JWE\JweHeaderTest.cs</Link>
8686
</Compile>
87-
<Compile Include="..\NetCore2\Encryption\JWE\CBCJweObjectTest.cs">
88-
<Link>Encryption\JWE\CBCJweObjectTest.cs</Link>
87+
<Compile Include="..\NetCore2\Encryption\JWE\CbcJweObjectTest.cs">
88+
<Link>Encryption\JWE\CbcJweObjectTest.cs</Link>
8989
</Compile>
9090
<Compile Include="..\NetCore2\Encryption\RSA\RsaEncryptionTest.cs">
9191
<Link>Encryption\RSA\RsaEncryptionTest.cs</Link>

Mastercard.Developer.ClientEncryption.Tests/Net5/Mastercard.Developer.ClientEncryption.Tests.Net5.csproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,17 @@
4646
<Compile Include="..\NetCore2\Interceptors\RestSharpV2FieldLevelEncryptionInterceptorTest.cs">
4747
<Link>Interceptors\RestSharpV2FieldLevelEncryptionInterceptorTest.cs</Link>
4848
</Compile>
49-
<Compile Include="..\NetCore2\Interceptors\RestSharpV2CBCJweEncryptionInterceptorTest.cs">
50-
<Link>Interceptors\RestSharpV2CBCJweEncryptionInterceptorTest.cs</Link>
49+
<Compile Include="..\NetCore2\Interceptors\RestSharpV2CbcJweEncryptionInterceptorTest.cs">
50+
<Link>Interceptors\RestSharpV2CbcJweEncryptionInterceptorTest.cs</Link>
5151
</Compile>
52-
<Compile Include="..\NetCore2\Interceptors\RestSharpV2GCMJweEncryptionInterceptorTest.cs">
53-
<Link>Interceptors\RestSharpV2GCMJweEncryptionInterceptorTest.cs</Link>
52+
<Compile Include="..\NetCore2\Interceptors\RestSharpV2GcmJweEncryptionInterceptorTest.cs">
53+
<Link>Interceptors\RestSharpV2GcmJweEncryptionInterceptorTest.cs</Link>
5454
</Compile>
55-
<Compile Include="..\NetCore2\Encryption\JWE\CBCJweObjectTest.cs">
56-
<Link>Encryption\JWE\CBCJweObjectTest.cs</Link>
55+
<Compile Include="..\NetCore2\Encryption\JWE\CbcJweObjectTest.cs">
56+
<Link>Encryption\JWE\CbcJweObjectTest.cs</Link>
5757
</Compile>
58-
<Compile Include="..\NetCore2\Encryption\JWE\GCMJweObjectTest.cs">
59-
<Link>Encryption\JWE\GCMJweObjectTest.cs</Link>
58+
<Compile Include="..\NetCore2\Encryption\JWE\GcmJweObjectTest.cs">
59+
<Link>Encryption\JWE\GcmJweObjectTest.cs</Link>
6060
</Compile>
6161
<Compile Include="..\NetCore2\Encryption\JWE\JweHeaderTest.cs">
6262
<Link>Encryption\JWE\JweHeaderTest.cs</Link>

0 commit comments

Comments
 (0)