public void TestCustomRsaCsp() { RSACryptoServiceProvider rsaCsp = KeyingMaterial.DefaultX509Key_2048.PrivateKey as RSACryptoServiceProvider; if (rsaCsp == null) { return; } Assert.True(rsaCsp.CspKeyContainerInfo.ProviderType == 1, "Default RsaCSP provider type is not equal to 1. ProviderType: " + rsaCsp.CspKeyContainerInfo.ProviderType); SignData(rsaCsp, ExpectedException.CryptographicException("Invalid algorithm specified")); SignData(new RSACryptoServiceProviderProxy(rsaCsp), ExpectedException.NoExceptionExpected); rsaCsp = CreateProviderWithProviderType(rsaCsp.CspKeyContainerInfo, 1); SignData(rsaCsp, ExpectedException.CryptographicException("Invalid algorithm specified")); SignData(new RSACryptoServiceProviderProxy(rsaCsp), ExpectedException.NoExceptionExpected); rsaCsp = CreateProviderWithProviderType(rsaCsp.CspKeyContainerInfo, 12); Assert.True(rsaCsp.CspKeyContainerInfo.ProviderType == 12, "rsa provider type != 12. ProviderType: " + rsaCsp.CspKeyContainerInfo.ProviderType); SignData(rsaCsp, ExpectedException.CryptographicException("Invalid algorithm specified")); SignData(new RSACryptoServiceProviderProxy(rsaCsp), ExpectedException.NoExceptionExpected); rsaCsp = CreateProviderWithProviderType(rsaCsp.CspKeyContainerInfo, 24); SignData(rsaCsp, ExpectedException.NoExceptionExpected); SignData(new RSACryptoServiceProviderProxy(rsaCsp), ExpectedException.NoExceptionExpected); }