file-upload - 用于签名(通过 token /智能卡)并将文档上传到 servlet 的 java applet

标签 file-upload applet digital-signature smartcard

关于如何处理这种情况的任何说明:我有一个网络应用程序需要上传本地文件(例如,尚未签名的文本文件),然后使用私有(private)文件在本地签名(所以一个小程序) key 存储在文本文件(java stuff/api/etc)作者拥有的 token /智能卡中,最后对我选择的 servlet 执行 HTTP(S)/POST?

如果我不必自己编写小程序,那会更好:),所以我正在寻找可以完成“整体东西”在客户端(浏览器)以最干净的方式对我来说,例如:打开对话框供用户选择要签名的文件;从 token /智能卡中选择证书;在签名的 XML 中封装(有效签名)原始文档,最后对我的 servlet 执行 HTTP/HTTPS POST。

最佳答案

现代浏览器不再支持 java 小程序或 ActiveX。您将必须使用可以访问本地证书存储的浏览器扩展来在客户端设备上签署哈希。

对于基于浏览器的签名方案,我公司提供的一种免费 Chrome 扩展程序是 Signer.Digital chrome 扩展程序。要安装在客户端设备上的设置可以从 https://download.cnet.com/Signer-Digital-Chrome-Extension/3000-33362_4-78042540.html 下载。

安装此主机并重新启动 Chrome 将自动添加 Signer.Digital Chrome 扩展

说明了此扩展的实际工作 here

Javascript 从扩展中调用方法:

    //Calculate Sign for the Hash by Calling function from Extension SignerDigital
    SignerDigital.signPdfHash(hash, $("#CertThumbPrint").val(), "SHA-256")      //or "SHA256"
     .then(
            function (signDataResp) {
              //Send signDataResp to Server
        },
            function (errmsg) {
                //Send errmsg to server or display the result in browser.
              }
     );

如果成功,返回 Base64 编码的 pkcs7 签名 - 使用任何 pdf 组件将签名注入(inject) pdf 如果失败,返回以“SDHost Error:”开头的错误消息

关于file-upload - 用于签名(通过 token /智能卡)并将文档上传到 servlet 的 java applet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869751/

相关文章:

grails - 文件仅上传具有枚举的图像的指定内容类型

java - 绘制矩形和网格

java - getdocumentBase() 上出现错误 "Cannot find symbol "

java - 如何在 IBM Lotus Notes 中运行 CoSign Signature SOAP API?

使用 p7s 数字签名的 Android Intent 来签署电子邮件

java - 为什么有很多框架支持多次上传,但没有一个支持多次下载?

ios - 为什么ios上传文件时没有调用nodejs multer上的onParseEnd回调?

java - SWFUpload 示例/信息和 Java

java - 将 JFrame 添加到 JApplet