电子签名用Java怎么实现 请教,现在javaWEB实现电子手写签名的技术

作者&投稿:佼晨 (若有异议请与网页底部的电邮联系)
import java.security.InvalidKeyException;
import java.security.Key;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
import java.security.Signature;
import java.security.SignatureException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * ECDSA 160bit 签名及签名验证例子
 */
public class ECDSASignature {

    public static void main(String argv[]) {
        signatureTest();
    }

    public static void signatureTest() {

        /**
         * 密钥对生成
         */
        KeyPairGenerator keyPairGenerator = null;
        try {
            keyPairGenerator = KeyPairGenerator.getInstance("EC");
        } catch (NoSuchAlgorithmException ex) {
            return;
        }
        SecureRandom secureRandom = new SecureRandom();
        keyPairGenerator.initialize(160, secureRandom);
        KeyPair pair = keyPairGenerator.generateKeyPair();
        Key publicKey = pair.getPublic();
        Key privateKey = pair.getPrivate();

        // 字符串
        String hako = "test";

        /**
         * 私钥签名(ECDSA 160bit)
         */
        byte[] sign = null;
        try {
            Signature signatureSign = null;
            signatureSign = Signature.getInstance("NONEwithECDSA");
            signatureSign.initSign((PrivateKey) privateKey, secureRandom);
            signatureSign.update(hako.getBytes());
            sign = signatureSign.sign();

            System.out.println("sign: " + new String(sign));

        } catch (InvalidKeyException | NoSuchAlgorithmException | SignatureException ex) {
            Logger.getLogger(ECDSASignature.class.getName()).log(Level.SEVERE, null, ex);
        }

        /**
         * 用公钥进行签名验证
         */
        Signature signatureVerify = null;
        try {
            signatureVerify = Signature.getInstance("NONEwithECDSA");
            signatureVerify.initVerify((PublicKey) publicKey);
            signatureVerify.update(hako.getBytes());
            boolean verifyResult = signatureVerify.verify(sign);
            System.out.println(verifyResult ? "签名OK" : "签名NG");

        } catch (NoSuchAlgorithmException | InvalidKeyException | SignatureException e) {
            Logger.getLogger(ECDSASignature.class.getName()).log(Level.SEVERE, null, e);
        }

    }

}


http://www.huuinn.com/java-%E7%94%B5%E5%AD%90%E7%AD%BE%E5%90%8D%E8%8C%83%E4%BE%8B%E4%BB%A3%E7%A0%81/



需要买第三方控件吧!

电子签名数据解析 JBIG用java解析为图片格式 展示到jsp页面~

有代码示例没,有的话,发我。我看一下。
这种问题,只能在哟东西的情况下才能弄。

HTML5 记录书写的轨迹

~~~~~~~~~~
~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~

电子签名用Java怎么实现
答:import java.security.InvalidKeyException;import java.security.Key;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.NoSuchAlgorithmException;import java.security.PrivateKey;import java.security.PublicKey;import java.security.SecureRandom;import java.security.Signat...

Java 给Word添加数字签名 Java给Word添加数字签名的方法
答:02Java代码:importcom.spire.doc.*;publicclassAddSignature{publicstaticvoidmain(String[]args){//加载Word文档Documentdoc=newDocument();doc.loadFromFile("test.docx");//添加数字签名,并保存文档doc.saveToFile("AddSignature.docx",FileFormat.Docx_2013,"Cermia.pfx"...

数字签名的Java签名步骤
答:1、将applet的class文件打包成*.jar(不会的可以在命令行中输入jar查看帮助)2 首先我们要生成一个keystore 否则在签名的时候报如下错误jarsigner 错误: java.lang.RuntimeException: 密钥库装入: C:\Documents and Settings\ij2ee\.keystore (系统找不到指定的文件。). (这边的ij2ee 是我当前系统...

Java2下Applet数字签名实现方法
答:1.将程序需要用到的各种包文件全部解压(我这儿要用到WEBLOGIC的JMS包使用命令jar xf weblogicc.jar),然后使用JDK的打包命令将编译好的监控程序.class和刚才解压的包一起打包到一个包中。(前提我已经将监控程序和解开的包都放在同一个目录下了),都是dos状态下的命令,具体命令见jdk1.3(1.2)的bi...

编写一个Java程序,对指定文本进行数字签名(文本随意举例)
答:一:需要包含的包 import java.security.*;import java.io.*;import java.util.*;import java.security.*;import java.security.cert.*;import sun.security.x509.import java.security.cert.Certificate;import java.security.cert.CertificateFactory;二:从文件中读取证书 用keytool将.keystore中的证书...

Java 给Excel添加数字签名 Excel VBA使用数字签名
答:下面介绍如何在Java程序代码中实现给Excel工作簿添加签名。工具/材料Excel版本:2013编译环境:IntelliJ IDEA2018JDK版本:1.8.0Excel库工具:spire.xls.jar 4.3.4数字证书及密码操作方法01在IDEA项目文件夹路径下,存入一个Excel文件,版本为2013版本的xlsx文件;以及已知密码的pfx格式的数字证书。如图:02...

java签名是什么意思?
答:Java 签名是指对代码进行数字签名,以确保代码来源的可靠性和代码完整性。Java 签名分为两种类型:自我签名和证书签名。自我签名简单,只需要使用 Java keytool 工具来生成签名证书即可,但信任性较低。证书签名通常需要购买或获得数字签名证书,并通过 Java keytool 工具对证书进行验证,信任性更高。Java ...

Java加密和数字签名
答:System out println( \n +messageDigest getProvider() getInfo()); //开始使用算法 messageDigest update(plainText); System out println( \nDigest: ); //输出算法运算结果 System out println(new String(messageDigest digest() UTF )); } } 还可以通过消息认证码来进行加密实现 javax crypto Mac提供了一...

¥¥¥基于java语言的数字签名¥¥¥
答:上面提到,私钥加密需要一个共享的密钥,那么如何传递密钥呢?web环境下,直接传递的话很容易被侦听到,幸好有了公钥加密的出现。公钥加密也叫不对称加密,不对称算法使用一对密钥对,一个公钥,一个私钥,使用公钥加密的数据,只有私钥能解开(可用于加密);同时,使用私钥加密的数据,只有公钥能解开(签名)。但是速度很慢(比私...