-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use native API for AES #314
Comments
aes still needs doing.. fails with the ever so unhelpful 'OperationError'
and require 'crypto.getRandomValues' rather than using an insecure fallback
The key (!) problem is that the xpra python code wrongly used 258 bits of padding with AES-CBC, which manifested itself half the time! See: Xpra-org/xpra#4372 (comment) |
not the current one, which may be different by then. also some logging tweaks
Now working for The other modes need more work. |
As per the Xpra-org/xpra#4372 (comment), the browser's implementation of AES is inadequate for our use case. So the options to make this work without making it completely unsafe are:
|
tell the server that we can't handle stream mode, so that it will send a new iv with every encryption 'session'
missed from 842fd3c which implies using a new iv for every packet
This will do for now. It's likely that more updates will be needed for Xpra-org/xpra#4375 |
Switch from forge to W3C: SubtleCrypto interface
forge has problems and doesn't handle
Uint8Array
natively, which makes it slow - also it looks abandoned.The new API supports BufferSource.
We can remove huge libraries and rely on the browser implemenation!
even Safari supports it: caniuse: SubtleCrypto
Some examples here: aes-cbc
The text was updated successfully, but these errors were encountered: