Note: While this is the accepted answer and was valid back in 2011, this code won’t work now under .NET Core. See this answer if you are using .NET Framework 4.6+, or .NET Core / .NET.
RSACryptoServiceProvider publicKeyProvider =
(RSACryptoServiceProvider)certificate.PublicKey.Key;
and
RSACryptoServiceProvider privateKeyProvider =
(RSACryptoServiceProvider)certificate.PrivateKey;
The key property on the public or private key property of the certificate is of type AsymmetricAlgorithm.