无法使用 Topaz SigWeb 加密签名 API
Can not encrypt a signature using Topaz SigWeb API
我正在尝试将 SigWeb API 集成到我的应用程序中。我想在所有现代浏览器中使用数字签名。现在它只能在 IE 中使用,使用 ActiveX 对象。问题是我不能使用加密密钥。
让我解释一下:
旧版本的 js 代码如下:
SigPlus1.AutoKeyStart();
SigPlus1.AutoKeyData = "Some Key Data";
SigPlus1.AutoKeyFinish();
SigPlus1.EncryptionMode = 2;
SigPlus1.SigCompressionMode = 1;
var strSignature = SigPlus1.SigString;
新版本(使用SigWebTablet.js):
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
我找到了适合我的解决方案。抓包前需要重新设置加密模式,即调用SetEncryptionMode(0)
UPD(2017 年 5 月 3 日)。开发支持人员建议我使用 AutoKeyAddData
函数而不是 AutoKeyStart
和 AutoKeyFinish
函数。我已经测试过,它对我有用。我认为这更好地解决了这个问题。
http://www.sigplusweb.com/sigwebtablet_autokeydemo.htm
我正在尝试将 SigWeb API 集成到我的应用程序中。我想在所有现代浏览器中使用数字签名。现在它只能在 IE 中使用,使用 ActiveX 对象。问题是我不能使用加密密钥。 让我解释一下:
旧版本的 js 代码如下:
SigPlus1.AutoKeyStart();
SigPlus1.AutoKeyData = "Some Key Data";
SigPlus1.AutoKeyFinish();
SigPlus1.EncryptionMode = 2;
SigPlus1.SigCompressionMode = 1;
var strSignature = SigPlus1.SigString;
新版本(使用SigWebTablet.js):
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
我找到了适合我的解决方案。抓包前需要重新设置加密模式,即调用SetEncryptionMode(0)
UPD(2017 年 5 月 3 日)。开发支持人员建议我使用 AutoKeyAddData
函数而不是 AutoKeyStart
和 AutoKeyFinish
函数。我已经测试过,它对我有用。我认为这更好地解决了这个问题。
http://www.sigplusweb.com/sigwebtablet_autokeydemo.htm