Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --program testing hsign2
- os.loadAPI("theinsektAPIs/sha256")
- os.loadAPI("theinsektAPIs/hsign2")
- args={...}
- if #args==0 then
- print("usage_sender: testhsign2 secret modemside targetid")
- print("usage_receiver: testhsign2 secret modemside")
- return
- end
- local protocol="hsign2"
- local secret=args[1]
- local side=args[2]
- if secret==nil then error("Error: secret has no value") end
- if side==nil then error("Error: side has no value") end
- rednet.open(side)
- print(#args)
- if #args >= 3 then
- local id=tonumber(args[3])
- local sign=hsign2.getSigner(secret,sha256.sha256)
- while(true) do
- print("input:")
- local input=read()
- local signedMessage=sign(input)
- rednet.send(id,signedMessage,protocol, secret)
- print("sent: ",signedMessage)
- print("done")
- end
- else
- local verify=hsign2.getVerifier(secret,sha256.sha256)
- while(true) do
- print("waiting for message...")
- local id2, signedMessage, protocol2 =rednet.receive(protocol)
- print("respond to id: ",id2)
- print("respond with protocol: ",protocol2)
- print("signedMessage: ")
- print(signedMessage)
- local ok, message=verify(signedMessage)
- print("Verification result: ",ok)
- print("message: ",message)
- print("done")
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement