Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 10th, 2012  |  syntax: None  |  size: 0.83 KB  |  hits: 66  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Bouncy Castle C# - Password Protect key
  2. MemoryStream ms = new MemoryStream(privateKey);
  3. AsymmetricKeyParameter keyparams =       Org.BouncyCastle.Security.PrivateKeyFactory.DecryptKey(password.ToCharArray(), ms);
  4. RSAParameters rsaparams = DotNetUtilities.ToRSAParameters((RsaPrivateCrtKeyParameters)keyparams);
  5. RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
  6. rsa.ImportParameters(rsaparams);
  7. return rsa;
  8.        
  9. X509Certificate2 cert = new X509Certificate2(pfx_bytes, password,X509KeyStorageFlags.Exportable);            
  10. var pkey = cert.PrivateKey;
  11. var bcCert = DotNetUtilities.FromX509Certificate(cert);    
  12. var bcPkey = DotNetUtilities.GetKeyPair(pkey).Private;
  13. return PrivateKeyFactory.EncryptKey(Org.BouncyCastle.Asn1.DerObjectIdentifier.Der, password.ToCharArray(), Encoding.UTF8.GetBytes(Guid.NewGuid().ToString()), 10, bcPkey);