CI / quality (push) Waiting to run
- Add src/core/ (config, errors, events, http, observability, storage, query) - Add src/Spreadsheet/ engine with native POI backend and Excel bridge - Add Envelope C spreadsheet flow and tender bidding envelope modules - Consolidate components into src/components/, remove legacy Component/ and Hooks/ - Add registration state/validation, auth session guard, profile edit modules - Add unit tests across axios, redux, bidding, registration, encryption, core - Add CI workflow, docs (architecture, audit, DSC API spec), keystore example - Remove tracked keystore binary; ignore scripts.zip Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
16 lines
851 B
Markdown
16 lines
851 B
Markdown
# Mobile bid encryption contract
|
|
|
|
The mobile client uses the server-issued envelope key `K` for all bid
|
|
submissions. For text values, encrypt with AES-128/ECB/PKCS5 using the first
|
|
16 bytes of SHA-256(`K`) and send Base64 ciphertext. For the Envelope-C BOQ,
|
|
encrypt the raw workbook bytes with AES-128/ECB/PKCS5 using the first 16 bytes
|
|
of SHA-1(`K`) and upload the raw ciphertext bytes as the multipart `file`.
|
|
|
|
The same `K` must be sent as `randomKeyGenerated` and RSA-wrapped with every
|
|
officer/contractor public key in `saveEnvelopesOfficersDetailsResDTO`.
|
|
|
|
Envelope-C `requestDto` includes `deviceType: "Mobile"`, `fieldValue`,
|
|
`fieldValueInWord`, `hashValue` (SHA-256 of the unencrypted workbook bytes),
|
|
`fileName`, and the wrapped officer keys. The workbook editor preserves the
|
|
source workbook structure and only applies permitted cell edits.
|