2017-02-15 8 views
0

私のアプリケーションにSigWeb APIを統合しようとしています。最新のすべてのブラウザでデジタル署名を使用したいと思います。これは、ActiveXオブジェクトを使用するIEでのみ動作します。問題は暗号化キーを使用できないことです。 私に説明してみましょう: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

答えて

0

私のために働く解決策が見つかりました。署名を取得する前に、暗号化モードをリセットする必要があります。つまり、SetEncryptionMode(0)

UPD(05/03/2017)を呼び出します。デベロッパーサポートの人はAutoKeyStartAutoKeyFinishの代わりにAutoKeyAddData関数を使うことを勧めました。私はテストして、それは私のために働く。私はこの問題のこのより良い解決策だと思います。 http://www.sigplusweb.com/sigwebtablet_autokeydemo.htm

関連する問題