/// <summary> /// Creates a cryptographic key based on the specified RSA parameters. /// </summary> /// <param name="provider">The asymmetric algorithm provider.</param> /// <param name="parameters">The RSA parameters from which to initialize the key.</param> /// <returns>The cryptographic key.</returns> public static ICryptographicKey ImportParameters(this IAsymmetricKeyAlgorithmProvider provider, RSAParameters parameters) { #if PCL throw new NotImplementedException("Not implemented in reference assembly."); #else Requires.NotNull(provider, "provider"); byte[] keyBlob = KeyFormatter.Pkcs1.Write(parameters); return KeyFormatter.HasPrivateKey(parameters) ? provider.ImportKeyPair(keyBlob, CryptographicPrivateKeyBlobType.Pkcs1RsaPrivateKey) : provider.ImportPublicKey(keyBlob, CryptographicPublicKeyBlobType.Pkcs1RsaPublicKey); #endif }