@@ -339,7 +339,7 @@ private async Task<PayloadData> SwitchAuthenticationAsync(ConnectionSettings cs,
339
339
#else
340
340
341
341
var rsaPublicKey = await GetRsaPublicKeyForCachingSha2PasswordAsync ( switchRequest . Name , cs , ioBehavior , cancellationToken ) ;
342
- return await SendEncryptedPasswordAsync ( rsaPublicKey , cs , ioBehavior , switchRequest , cancellationToken ) ;
342
+ return await SendEncryptedPasswordAsync ( rsaPublicKey , RSAEncryptionPadding . Pkcs1 , cs , ioBehavior , switchRequest , cancellationToken ) ;
343
343
#endif
344
344
}
345
345
else
@@ -354,7 +354,7 @@ private async Task<PayloadData> SwitchAuthenticationAsync(ConnectionSettings cs,
354
354
throw new MySqlException ( "Authentication method '{0}' requires a secure connection (prior to .NET 4.6)." . FormatInvariant ( switchRequest . Name ) ) ;
355
355
#else
356
356
var publicKey = await GetRsaPublicKeyForSha256PasswordAsync ( switchRequest . Name , cs , ioBehavior , cancellationToken ) ;
357
- return await SendEncryptedPasswordAsync ( publicKey , cs , ioBehavior , switchRequest , cancellationToken ) ;
357
+ return await SendEncryptedPasswordAsync ( publicKey , RSAEncryptionPadding . OaepSHA1 , cs , ioBehavior , switchRequest , cancellationToken ) ;
358
358
#endif
359
359
}
360
360
else
@@ -385,6 +385,7 @@ private async Task<PayloadData> SendClearPasswordAsync(ConnectionSettings cs, IO
385
385
#if ! NET45
386
386
private async Task < PayloadData > SendEncryptedPasswordAsync (
387
387
string rsaPublicKey ,
388
+ RSAEncryptionPadding rsaEncryptionPadding ,
388
389
ConnectionSettings cs ,
389
390
IOBehavior ioBehavior ,
390
391
AuthenticationMethodSwitchRequestPayload switchRequest ,
@@ -413,7 +414,7 @@ private async Task<PayloadData> SendEncryptedPasswordAsync(
413
414
passwordBytes [ i ] ^= AuthPluginData [ i % AuthPluginData . Length ] ;
414
415
415
416
// encrypt with RSA public key
416
- var encryptedPassword = rsa . Encrypt ( passwordBytes , RSAEncryptionPadding . Pkcs1 ) ;
417
+ var encryptedPassword = rsa . Encrypt ( passwordBytes , rsaEncryptionPadding ) ;
417
418
var payload = new PayloadData ( new ArraySegment < byte > ( encryptedPassword ) ) ;
418
419
await SendReplyAsync ( payload , ioBehavior , cancellationToken ) . ConfigureAwait ( false ) ;
419
420
return await ReceiveReplyAsync ( ioBehavior , cancellationToken ) . ConfigureAwait ( false ) ;
0 commit comments