// Decompiled with JetBrains decompiler // Type: Microsoft.InfoCards.AsymmetricCryptoSession // Assembly: infocard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // MVID: ADE0A079-11DB-4A46-8BDE-D2A592CA8DEA // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Expiro.w-67b630ead60119692b9abbdfd8717c96904ef041127c2cae033c86b718eaa61e.exe using System; using System.Diagnostics; using System.IO; using System.Security.Cryptography; using System.Security.Principal; namespace Microsoft.InfoCards { internal class AsymmetricCryptoSession : CryptoSession { private RSACryptoServiceProvider m_provider; public AsymmetricCryptoSession( Process process, DateTime expirationTime, WindowsIdentity identity, RSACryptoServiceProvider key) : base(process, expirationTime, identity, (object) key, CryptoSession.SessionType.Asymmetric) { this.m_provider = key; } protected override void OnWrite(BinaryWriter bwriter) { bwriter.Write(this.m_provider.KeySize); Utility.SerializeString(bwriter, this.m_provider.KeyExchangeAlgorithm); Utility.SerializeString(bwriter, this.m_provider.SignatureAlgorithm); } protected override void OnDispose() { this.m_provider.Clear(); this.m_provider.Dispose(); this.m_provider = (RSACryptoServiceProvider) null; } public byte[] Encrypt(bool fOAEP, byte[] inData) { this.ThrowIfDisposed(); return this.m_provider.Encrypt(inData, fOAEP); } public byte[] Decrypt(bool fOAEP, byte[] inData) { this.ThrowIfDisposed(); return this.m_provider.Decrypt(inData, fOAEP); } public byte[] SignHash(byte[] hash, string hashAlgOid) { this.ThrowIfDisposed(); return this.m_provider.SignHash(hash, hashAlgOid); } public bool VerifyHash(byte[] hash, string hashAlgOid, byte[] sig) { this.ThrowIfDisposed(); return this.m_provider.VerifyHash(hash, hashAlgOid, sig); } } }