非授权版本的jcdk是没有maskgen工具的使用示例的,而文档中的介绍也很少,尤其是cfg文件根本不知道如何编写。
sun在授权方面控制的很好,网上几乎找不到任何资料,同样我在这里只是介绍一种方法,不会贴出我的cfg文件。
如何找到maskgen?
前面我已经提到过了,这里再说一遍,2.2.2中是没有这个工具的,但是你可以下载以前版本的jcdk2.1.2,那里面就有maskgen工具的bat文件,这仅仅是个启动文件。
maskgen的源码在哪?
上面的maskgen.bat仅仅是启动这个工具用的,它的源码在2.2.2中converter.jar中,你可以反编译得到。
如何编写.cfg文件?
非授权版的jcdk中没有maskgen工具使用的示例,自然也就没有了.cfg配置文件的示例,如果生成不了mask.c文件你需要大量的工作把api库根据自己定义的结构转换,同时匹配自己java卡的实现,这是可以做到的,但是这将付出很多努力,多出来很多工作。
那我们现在在没有示例配置文件的情况下,该如何编写这个文件呢?
上面我提到过在converter.jar中你可以反编译得到maskgen的源码,这是最关键的,你可以提取出来重新生成一个自己的工具,分析源码并调试你能大概的找到cfg的编写方式。但是还有很多细节通过源码也很难分析出来,这个需要自己花时间摸索,我也花了很长的时间。
所以说找到cfg配置文件的编写方式是最大的问题,解决了这个问题就能生成mask.c文件。这里我只提到了解决这个问题的方法,细节问题我没有写出来,需要那些不想买授权版本的人自己去研究了。