我正在嘗試將SigWeb API集成到我的應用程序中。我想在所有現代瀏覽器中使用數字簽名。現在它只能在IE中使用ActiveX對象。問題是我無法使用加密密鑰。 讓我解釋一下:無法使用Topaz SigWeb API加密簽名
舊版本的js代碼如下所示:(使用SigWebTablet.js)
SigPlus1.AutoKeyStart();
SigPlus1.AutoKeyData = "Some Key Data";
SigPlus1.AutoKeyFinish();
SigPlus1.EncryptionMode = 2;
SigPlus1.SigCompressionMode = 1;
var strSignature = SigPlus1.SigString;
新版本:
AutoKeyStart();
SetAutoKeyData("Some Key Data");
AutoKeyFinish();
SetEncryptionMode(2);
SetSigCompressionMode(1);
var strSignature = GetSigString();
的strSignature
值傳遞到服務器並轉換到.jpg文件。在服務器端(JAVA)我使用下面的代碼:
ClassLoader firma = (com.topaz.sigplus.SigPlus.class).getClassLoader();
sigObj = (SigPlus)Beans.instantiate(firma, "com.topaz.sigplus.SigPlus");
sigObj.autoKeyStart();
sigObj.setAutoKeyData("Some Key Data"); // the same data in front-end
sigObj.autoKeyFinish();
sigObj.setEncryptionMode (2);
sigObj.setSigCompressionMode(1);
sigObj.setSigString(strSignature);
在setSigString
方法的問題 - 它不設置新的值(與舊代碼SigPlus1.SigString
作品),但如果我禁用setAutoKeyData
- 它工作正常。 平板電腦型號:T-LBK766SE-BHSB-R