Jeg har siddet og fusket lidt med at sikre en netværksforbindelse ved at koble min NetworkStream sammen med en CryptoStream, og den løsning jeg er endt op med bekymrer mig en anelse.
Jeg har brugt Tcpclient og -server til at skaffe en TCP forbindelse mellem de to maskiner. Hvis jeg nu vil sikre min NetworkStream med en CryptoStream, er jeg nødt til at bruge en MemoryStream som buffer mellem min NetworkStream og CryptoStream, da jeg ellers ikke kan lokke CryptoStream'en til at håndtere de sidste bytes fra NetworkStream'en.
Det betyder at hver gang jeg sender en besked, oprettes en ny MemoryStream og en ny CryptoStream til at dekryptere den indkomne besked. Men det skurrer ret meget i mine ører, at man gør det på den måde. Sender jeg to ens beskeder efter hinanden, er de bytes der bliver sendt jo identiske! Det bør de ikke være. Der er muligvis også et performancespørgsmål med at man ofte laver en ny MemoryStream og CryptoStream.
Er der en kanonisk måde at koble en NetworkStream sammen med en CryptoStream således at man ikke kompromiterer sikkerheden eller får et performance-hak i tuden?
--
Med venlig hilsen
Jes Hansen
Indlæg senest redigeret d. 20.05.2008 20:00 af Bruger #13786