public void SetRemotePublicKey(byte[] bytes)
 {
     using (CngKey remotePublicKey = CngKey.Import(bytes, CngKeyBlobFormat.EccPublicBlob))
     {
         LocalPrivateKey.CopyBytes(DH.DeriveKeyMaterial(remotePublicKey));
     }
 }
 public void Dispose()
 {
     if (LocalPrivateKey != null)
     {
         LocalPrivateKey.Dispose();
         LocalPrivateKey = null;
     }
     if (DH != null)
     {
         DH.Dispose();
         DH = null;
     }
     if (LocalPublicKey != null)
     {
         LocalPublicKey.Dispose();
         LocalPublicKey = null;
     }
 }