99using CorePush . Models ;
1010using CorePush . Serialization ;
1111using CorePush . Utils ;
12+
1213using Org . BouncyCastle . Crypto . Signers ;
1314using Org . BouncyCastle . Crypto ;
1415using 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