public InfoCardRSACryptoProvider(AsymmetricCryptoHandle cryptoHandle)
 {
     this.m_cryptoHandle = (AsymmetricCryptoHandle)cryptoHandle.Duplicate();
     try
     {
         this.m_params = (RpcAsymmetricCryptoParameters)this.m_cryptoHandle.Parameters;
         int keySize = this.m_params.keySize;
         base.LegalKeySizesValue    = new KeySizes[1];
         base.KeySizeValue          = keySize;
         base.LegalKeySizesValue[0] = new KeySizes(keySize, keySize, 0);
     }
     catch
     {
         this.m_cryptoHandle.Dispose();
         this.m_cryptoHandle = null;
         throw;
     }
 }
 public InfoCardRSACryptoProvider(AsymmetricCryptoHandle cryptoHandle)
 {
     this.m_cryptoHandle = (AsymmetricCryptoHandle) cryptoHandle.Duplicate();
     try
     {
         this.m_params = (RpcAsymmetricCryptoParameters) this.m_cryptoHandle.Parameters;
         int keySize = this.m_params.keySize;
         base.LegalKeySizesValue = new KeySizes[1];
         base.KeySizeValue = keySize;
         base.LegalKeySizesValue[0] = new KeySizes(keySize, keySize, 0);
     }
     catch
     {
         this.m_cryptoHandle.Dispose();
         this.m_cryptoHandle = null;
         throw;
     }
 }