SSE Client issueshttps://gitlab.gwdg.de/snet-asclepios-demo/asclepios-sse-client-node/-/issues2022-01-04T12:49:29Zhttps://gitlab.gwdg.de/snet-asclepios-demo/asclepios-sse-client-node/-/issues/9read CPABE user key from external source2022-01-04T12:49:29ZIlka Schulzread CPABE user key from external sourceAs soon as the The CPABE algorithms run in JS, the user/private key can be read from user input (e.g. drag-and-drop file input) (see #8). However, in the long run it may be more secure to read it from a QR code via the user's webcam.
##...As soon as the The CPABE algorithms run in JS, the user/private key can be read from user input (e.g. drag-and-drop file input) (see #8). However, in the long run it may be more secure to read it from a QR code via the user's webcam.
###### Definition of Done:
- [ ] plan this issue
###### Hints:
- Also create an issue to make the RegAuth create such QR codes instead of pushing the user key to KeyCloak. The QR code may then be distributed via snail mail.https://gitlab.gwdg.de/snet-asclepios-demo/asclepios-sse-client-node/-/issues/8move cpabe_server functionality to JS/WASM2022-01-04T12:48:46ZIlka Schulzmove cpabe_server functionality to JS/WASMIt would be best to do the bswabe/cpabe operations directly in the browser instead of running a `cpabe_server` instance on the client machine.
###### Definition of Done:
- [x] analyze `cpabe_server`
- [x] check if this is feasable --> y...It would be best to do the bswabe/cpabe operations directly in the browser instead of running a `cpabe_server` instance on the client machine.
###### Definition of Done:
- [x] analyze `cpabe_server`
- [x] check if this is feasable --> yes, it is
- [x] decide for a language and framework --> C and [Emscripten](https://emscripten.org/index.html)
- [x] decide for a function signature -> `char **getSSEKeys(char *encrypted_SSEencKey, char *encrypted_SSEverKey, char *b64_serialized_pubKey, char *b64_serialized_prvKey)`
- [ ] implement
- [ ] compile to WASM
- [ ] integrate into SSE Client
- [ ] test
###### Hints:
- none...move functionality of cpabe_server into JS/WASM codeIlka SchulzIlka Schulzhttps://gitlab.gwdg.de/snet-asclepios-demo/asclepios-sse-client-node/-/issues/7remove unused parameter2022-01-03T10:09:04ZIlka Schulzremove unused parameterhttps://gitlab.gwdg.de/snet-asclepios-demo/asclepios-sse-client-node/-/blob/master/sse/static/js/sse.js#L1443
`username` is not used in this function anymore.https://gitlab.gwdg.de/snet-asclepios-demo/asclepios-sse-client-node/-/blob/master/sse/static/js/sse.js#L1443
`username` is not used in this function anymore.James BowdenJames Bowdenhttps://gitlab.gwdg.de/snet-asclepios-demo/asclepios-sse-client-node/-/issues/6Dependency Dashboard2021-10-13T08:12:57ZIlka SchulzDependency DashboardThis issue provides visibility into Renovate updates and their statuses. [Learn more](https://docs.renovatebot.com/key-concepts/dashboard/)
This repository currently has no open or pending branches.This issue provides visibility into Renovate updates and their statuses. [Learn more](https://docs.renovatebot.com/key-concepts/dashboard/)
This repository currently has no open or pending branches.https://gitlab.gwdg.de/snet-asclepios-demo/asclepios-sse-client-node/-/issues/5Make config a parameter2021-06-23T11:13:27ZIlka SchulzMake config a parameterThe original sse.js, and therefore this fork, do not support javascript run time configuration. instead configuration is achieved with text replacement (see https://gitlab.com/asclepios-project/sseclient/-/blob/develop-sgx/entrypoint.sh)...The original sse.js, and therefore this fork, do not support javascript run time configuration. instead configuration is achieved with text replacement (see https://gitlab.com/asclepios-project/sseclient/-/blob/develop-sgx/entrypoint.sh)
It would be nice if you could pass the config object as a parameter for initialization, something like this.
```
let sse = SSE({ ... })
```https://gitlab.gwdg.de/snet-asclepios-demo/asclepios-sse-client-node/-/issues/3Replace encryption methods for blob data (large files)2021-09-03T14:44:01ZIlka SchulzReplace encryption methods for blob data (large files)# Summary
Although the current progressive encryption/decryption methods in the upstream sse-client work for very large files, they are EXTREMELY slow.
We did some experiments with different browser based crypto solutions (see [here](h...# Summary
Although the current progressive encryption/decryption methods in the upstream sse-client work for very large files, they are EXTREMELY slow.
We did some experiments with different browser based crypto solutions (see [here](https://gitlab.com/asclepios-project/javascript-aes-benchmarking)) and came to the conclusion that the best optimised implementation we can find is [asmCryto](https://github.com/asmcrypto/asmcrypto.js)
# TODO:
- [x] Implement AES CBC mode encryption for large files using asmCrypto.js
- [ ] Implement AES CCM mode encryption for large files using asmCrypto.jsFast File Encryptionhttps://gitlab.gwdg.de/snet-asclepios-demo/asclepios-sse-client-node/-/issues/1Publish as node module on gitlab2021-12-13T08:41:36ZIlka SchulzPublish as node module on gitlabCloud DeploymentIlka SchulzIlka Schulz