Joker Xin

Results 1 comments of Joker Xin

读过源码了,原因是run_client和run_server不能放一个目录下运行,因为他们生成的private.pem重名了,所以他们计算产生的共享没有是错的。 举例来说,假设base=3,不考虑 modulus: 1. 首先运行server,生成private.pem=3,计算public.pem=base**private=3**3=27,然后将public.pem另存为admin_cert.pem; 2. 然后运行client,生成private.pem=2,计算public.pem=base**private=3**2=9,然后将public.pem另存为ip_cert.pem; 3. 但是这里需要注意的是,存储二者的私钥的文件都叫private.pem且没有另外保存,所以client的私钥把server的覆盖了!!! 4. 所以在生成会话密钥的时候,服务端会使用客户端的私钥来产生会话密钥!!! 5. 即share_key(server) = ip_cert.pem ** private.pem(client) = 9 ** 2 = 81; 6. 而share_key(client) = admin_cert.pem ** private.pem(client) =...