github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/Doc/apps.txt (about) 1 FileProxy, three programs 2 KeyNegoServer 3 server class 4 accept request for program cert 5 verify hash 6 construct cert 7 sign cert 8 return 9 FileServer 10 Init phase 11 make public/private key pair 12 construct certificate request and send it to KeyNegoServer 13 ask host to sign cert 14 seal private key 15 accept signed cert and store it 16 Optional: negotiate shared key for file encryption? 17 quit 18 Operational 19 Listen for clients 20 Accept requests 21 if client is in domain 22 open secure connection 23 repeat 24 read request 25 is request authorized? 26 read/write file (encrypt/decrypt) 27 update metadata 28 reply to request (and send data if applicable) 29 FileClient 30 Init phase 31 make public/private key pair 32 construct certificate request and send it to KeyNegoServer 33 ask host to sign cert 34 seal private key 35 accept signed cert and store it 36 quit 37 Operational 38 open secure connection with server 39 create a file on server 40 write to new file on server 41 read a file from server 42 43 Other scenarios 44 Reinitialized keys 45 CRL 46 archive files 47 48 49 BidProxy, three programs 50 BidClient 51 make bids 52 BidServer 53 collect bids 54 BidJudge 55 determine bid winner 56 57 58 59