Skip to content

Commit 766b2c7

Browse files
committed
Minor refactoring
1 parent 355e10f commit 766b2c7

File tree

1 file changed

+14
-19
lines changed

1 file changed

+14
-19
lines changed

CorePush/Firebase/FirebaseSender.cs

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using CorePush.Models;
1010
using CorePush.Serialization;
1111
using CorePush.Utils;
12+
1213
using Org.BouncyCastle.Crypto.Signers;
1314
using Org.BouncyCastle.Crypto;
1415
using Org.BouncyCastle.OpenSsl;
@@ -164,36 +165,30 @@ private string GetMasterToken()
164165
var unsignedJwtData = $"{headerBase64}.{payloadBase64}";
165166
var unsignedJwtBytes = Encoding.UTF8.GetBytes(unsignedJwtData);
166167

167-
var privateKey = ParsePKCS8PrivateKeyPem(settings.PrivateKey);
168-
ISigner signer = new RsaDigestSigner(new Org.BouncyCastle.Crypto.Digests.Sha256Digest());
168+
var privateKey = ParsePkcs8PrivateKeyPem(settings.PrivateKey);
169+
var signer = new RsaDigestSigner(new Org.BouncyCastle.Crypto.Digests.Sha256Digest());
169170
signer.Init(true, privateKey);
170171
signer.BlockUpdate(unsignedJwtBytes, 0, unsignedJwtBytes.Length);
171172

172-
byte[] signature = signer.GenerateSignature();
173+
var signature = signer.GenerateSignature();
173174
var signatureBase64 = Convert.ToBase64String(signature);
174175

175176
return $"{unsignedJwtData}.{signatureBase64}";
176177
}
177178

178-
private AsymmetricKeyParameter ParsePKCS8PrivateKeyPem(string key)
179+
private static AsymmetricKeyParameter ParsePkcs8PrivateKeyPem(string key)
179180
{
180-
AsymmetricKeyParameter privateKey;
181181
using var keyReader = new StringReader(key);
182-
PemReader pemReader = new PemReader(keyReader);
183-
object pemObject = pemReader.ReadObject();
182+
var pemReader = new PemReader(keyReader);
183+
var pemObject = pemReader.ReadObject();
184184

185-
// PKCS#8 keys are typically returned as AsymmetricKeyParameter, not AsymmetricCipherKeyPair
186-
if (pemObject is AsymmetricKeyParameter keyParameter)
187-
{
188-
return privateKey = keyParameter;
189-
}
190-
else if (pemObject is AsymmetricCipherKeyPair keyPair) // handle case of key pair
185+
return pemObject switch
191186
{
192-
return privateKey = keyPair.Private;
193-
}
194-
else
195-
{
196-
throw new InvalidOperationException("Invalid private key format.");
197-
}
187+
// PKCS#8 keys are typically returned as AsymmetricKeyParameter, not AsymmetricCipherKeyPair
188+
AsymmetricKeyParameter keyParameter => keyParameter,
189+
// handle case of key pair
190+
AsymmetricCipherKeyPair keyPair => keyPair.Private,
191+
_ => throw new InvalidOperationException("Invalid private key format.")
192+
};
198193
}
199194
}

0 commit comments

Comments
 (0)