public void Dispose() { DhPrime.Dispose(); DhGenerator.Dispose(); DhPublic.Dispose(); DhPrivate.Dispose(); }
protected virtual void Dispose(bool disposing) { if (!IsDisposed) { if (disposing) { Rsa?.Dispose(); DhPrime?.Dispose(); DhGenerator?.Dispose(); DhPublic?.Dispose(); DhPrivate?.Dispose(); } IsDisposed = true; } }
public string GetPublicKey() { if (!string.IsNullOrEmpty(_publicKey)) { return(_publicKey); } byte[] publicKeyAsBytes = Encoding.Default.GetBytes(DhPublic.ToString(10)); if (IsInitiator) { Rsa.Sign(ref publicKeyAsBytes); } else { Rsa.Encrypt(ref publicKeyAsBytes); } return(_publicKey = BytesToHex(publicKeyAsBytes).ToLower()); }