前言:
有个兄弟让我帮忙研究一下AspXXX.Slides组件的注册机制, 我答应了,以前曾经研究过AspXXX.Words组件,我想AspXXX.Slides组件也应该相似。
根据以前研究 AspXXX.Words组件的经验,知道AspXXX系列组件是用SHA1withRSA算法对License进行签名的,在没办法拿到RSA私钥的情况下想要做注册机是十分困难的,我自认没这个能力,所以就简单处理了:用蛮力解决!
1、先随便写个license,可以参考我以前研究所得的Aspose.Words组件的License格式来写,以减少后面分析License格式的工作量,不然的话,随便构造结构不对的License,在测试过程中会带来很大麻烦;
2、然后写个测试程序。可以直接使用发布自带的examples的例子,我使用的是cloneslide那个例子,不过这个例子有问题,他提示的命令格式是:
java ppt2ppt <source file> <destination file>
是错误的,正确的应该是:
java CloneSlide <source file 1> <source file 2> <destination file>
该例子的实际功能是把两个ppt文件合并成一个,而不是原来那个命令行格式所表示的把一个PPT复制一份;
3、先运行测试程序:
java CloneSlide test.ppt test1.ppt test_copy.ppt
抛错如下:
com.aspose.slides.license.AsposeLicenseException: License parsing error.
at com.aspose.slides.obfuscated.alu.if(SourceFile:316)
at com.aspose.slides.obfuscated.alu.do(SourceFile:206)
at com.aspose.slides.License.setLicense(SourceFile:31)
at CloneSlide.main(CloneSlide.java:27)
Caused by: com.aspose.slides.license.AsposeLicenseException: Signature check error.
at com.aspose.slides.obfuscated.alu.do(SourceFi