Imported Upstream version 6.0.0.293

Former-commit-id: c73c6d59ea27405c8ec2975fc933d2a9a447e603
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-06-08 08:45:03 +00:00
parent 7de0679779
commit 76c6505a64
70 changed files with 132 additions and 69 deletions

View File

@@ -80,8 +80,8 @@ namespace System.Net {
if (!File.Exists (pvk_file))
return null;
var cert = new X509Certificate2 (cert_file);
cert.PrivateKey = PrivateKey.CreateFromFile (pvk_file).RSA;
certificate = cert;
var privateKey = PrivateKey.CreateFromFile (pvk_file).RSA;
certificate = new X509Certificate2 ((X509Certificate2Impl)cert.Impl.CopyWithPrivateKey (privateKey));
return certificate;
} catch {
// ignore errors

View File

@@ -83,6 +83,18 @@ namespace System.Security.Cryptography.X509Certificates
public abstract void AppendPrivateKeyInfo (StringBuilder sb);
public sealed override X509CertificateImpl CopyWithPrivateKey (RSA privateKey)
{
var impl = (X509Certificate2Impl)Clone ();
impl.PrivateKey = privateKey;
return impl;
}
public sealed override X509Certificate CreateCertificate ()
{
return new X509Certificate2 (this);
}
public abstract void Reset ();
}
}