// // Summary: // Given a pointer to a CryptoHandle create a new instance of this class. // public InfoCardRSACryptoProvider(AsymmetricCryptoHandle cryptoHandle) : base() { m_cryptoHandle = (AsymmetricCryptoHandle)cryptoHandle.Duplicate(); try { m_params = (RpcAsymmetricCryptoParameters)m_cryptoHandle.Parameters; int keySize = m_params.keySize; LegalKeySizesValue = new KeySizes[1]; KeySizeValue = keySize; LegalKeySizesValue[0] = new KeySizes(keySize, keySize, 0); } catch { m_cryptoHandle.Dispose(); m_cryptoHandle = null; throw; } }
protected override void Dispose(bool disposing) { m_cryptoHandle.Dispose(); }