- encrypt the network packets with AES (
Advanced Encryption Standard) CBC mode (
- stretch the "passwords" with PBKDF2 (
Password-Based Key Derivation Function 2)
The salts used are generated using Python's uuid.uuid4()
The encryption key to use must be specified with the "
--encryption-keyfile=FILENAME" command line option or it will fallback to the password from the authentication module in use, which may not be as safe.
The contents of this key are combined with salts to generate the secret used to initialize the AES cipher.
xpra start --start=xterm \ --bind-tcp=0.0.0.0:10000 \ --tcp-encryption=AES --tcp-encryption-keyfile=key.txt
xpra attach tcp:$SERVERIP:10000 \ --tcp-encryption=AES --tcp-encryption-keyfile=./key.txt