You've already forked linux-packaging-mono
Imported Upstream version 3.10.0
Former-commit-id: 172c8e3c300b39d5785c7a3e8dfb08ebdbc1a99b
This commit is contained in:
@@ -303,6 +303,10 @@ namespace Mono.Security.Cryptography {
|
||||
|
||||
e = new BigInteger (parameters.Exponent);
|
||||
n = new BigInteger (parameters.Modulus);
|
||||
|
||||
//reset all private key values to null
|
||||
d = dp = dq = qInv = p = q = null;
|
||||
|
||||
// only if the private key is present
|
||||
if (parameters.D != null)
|
||||
d = new BigInteger (parameters.D);
|
||||
|
@@ -545,5 +545,25 @@ namespace MonoTests.Mono.Security.Cryptography {
|
||||
byte [] bytes = Convert.FromBase64String (b64);
|
||||
rsa.DecryptValue (bytes);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Bug18482 ()
|
||||
{
|
||||
RSAManaged privateRsa = new RSAManaged ();
|
||||
privateRsa.FromXmlString (MonoXml384);
|
||||
|
||||
var rsaParameters = privateRsa.ExportParameters (false);
|
||||
|
||||
RSAManaged publicRsa = new RSAManaged ();
|
||||
|
||||
//Generates a key pair with private key values
|
||||
publicRsa.ExportParameters (false);
|
||||
|
||||
//Sets public key values and should reset private key values
|
||||
publicRsa.ImportParameters (rsaParameters);
|
||||
|
||||
//Should export valid parameters without throwing an exception.
|
||||
publicRsa.ExportParameters (false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user