今天写了一些代码,主要是实现密钥处理并向PC端交付。
主要流程为:在缓冲区抓取user_key,然后在U-key内部特定的数据文件中拿到数据,用user_key进行解密,就得到了Uk内部加密用的密钥,key_uk。然后将key_uk做sha1变换,从16字节变成20字节传送到PC作为密钥产生的种子。
还要把key_uk存在一个外部变量中,等这一次加密任务完成后才能释放掉。而且可以避免每次都去做一个解密工作。由于U-key内部只提供了des 3des hash rsa这几种加密函数,所以在u-key内部加密的时候,采用3des即可,对密钥的处理采用des。
ukey这边最头痛的就是验证程序。因为我需要在文件中读取数据,所以用软件模拟则无法实现。用ukey模拟的话,还需要再做一个测试软件,做那个东西,在现在开发还很不熟悉的情况下,估计得用两天。
明天任务:完成getkey,加密,解密。