|
| 1 | +# DID Workflows |
| 2 | + |
| 3 | +# did:plc |
| 4 | + |
| 5 | +```mermaid |
| 6 | +flowchart TD |
| 7 | + A1["Install: Get package did:plc from user input"] |
| 8 | + A2["Update: Resolve package did:plc from header comment"] |
| 9 | + A1 --> B["Fetch DID Document from plc.directory"] |
| 10 | + A2 --> B |
| 11 | + B --> C{"DID verification enabled?"} |
| 12 | + C -- Yes --> D["Fetch PLC audit log: plc.directory/$did/log/audit"] |
| 13 | + D --> E["Hash genesis op"] |
| 14 | + E --> F["Verify DID match"] |
| 15 | + F --> G["Recompute CID of each op"] |
| 16 | + G --> H["Verify ECDSA with prior keys"] |
| 17 | + H --> I["Derive verificationMethods & services"] |
| 18 | + I --> J{Valid?} |
| 19 | + J -- No --> X1[Fail: Invalid DID verification] |
| 20 | + J -- Yes --> K["Select #fairpm publicKeyMultibase key"] |
| 21 | + C -- No --> K["Select #fairpm publicKeyMultibase key"] |
| 22 | + K --> L["Select FairPackageManagementRepo URL from serviceEndpoint"] |
| 23 | + L --> M["Download package ZIP from FairPackageManagementRepo"] |
| 24 | + M --> N["Calculate package ZIP file SHA384 hash"] |
| 25 | + M --> O["Extract package signature from ZIP download HTTP response header"] |
| 26 | + N --> P{"Verify calculated SHA384 signature"} |
| 27 | + O --> P |
| 28 | + P -- No --> X2["Fail: Invalid package signature"] |
| 29 | + P -- Yes --> Q["Success: install/update package"] |
| 30 | +``` |
| 31 | + |
| 32 | +# |
| 33 | + |
| 34 | +```mermaid |
| 35 | +flowchart TD |
| 36 | +A1["Install: Get package did:web from user input"] |
| 37 | +A2["Update: Resolve did:web from package header comment"] |
| 38 | +A1 --> B["Construct DID Document URL from did:web"] |
| 39 | +A2 --> B |
| 40 | +B --> C["Fetch DID Document via HTTPS"] |
| 41 | +C --> D["Select #fairpm publicKeyMultibase key"] |
| 42 | +D --> E["Select FairPackageManagementRepo URL from serviceEndpoint"] |
| 43 | +E --> F["Download package ZIP from FairPackageManagementRepo"] |
| 44 | +F --> G["Calculate package ZIP file SHA384 hash"] |
| 45 | +F --> H["Extract package signature from ZIP download HTTP response header"] |
| 46 | +G --> I{"Verify calculated SHA384 signature"} |
| 47 | +H --> I |
| 48 | +I -- Invalid --> X1["Fail: Invalid package signature"] |
| 49 | +I -- Valid --> J["Success: install/update package"] |
| 50 | +``` |
0 commit comments