国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java使用DSA密鑰對生成XML簽名的方法

2019-11-26 15:16:17
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Java使用DSA密鑰對生成XML簽名的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

MainClass.java代碼如下:

復(fù)制代碼 代碼如下:
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.SecureRandom;
import java.util.Collections;
import javax.xml.crypto.dsig.CanonicalizationMethod;
import javax.xml.crypto.dsig.DigestMethod;
import javax.xml.crypto.dsig.Reference;
import javax.xml.crypto.dsig.SignatureMethod;
import javax.xml.crypto.dsig.SignedInfo;
import javax.xml.crypto.dsig.XMLSignature;
import javax.xml.crypto.dsig.XMLSignatureFactory;
import javax.xml.crypto.dsig.keyinfo.KeyInfo;
import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory;
import javax.xml.crypto.dsig.keyinfo.KeyValue;
import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
public class MainClass {
  public static void main(String[] args) throws Exception {
    KeyPairGenerator kpg = KeyPairGenerator.getInstance("DSA");
    kpg.initialize(1024, new SecureRandom());
    KeyPair dsaKeyPair = kpg.generateKeyPair();
    XMLSignatureFactory sigFactory = XMLSignatureFactory.getInstance();
    Reference ref = sigFactory.newReference("#Body", sigFactory.newDigestMethod(DigestMethod.SHA1, null));
    SignedInfo signedInfo = sigFactory.newSignedInfo(sigFactory.newCanonicalizationMethod(
        CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS, (C14NMethodParameterSpec) null), sigFactory.newSignatureMethod(SignatureMethod.DSA_SHA1, null), Collections.singletonList(ref));
    KeyInfoFactory kif = sigFactory.getKeyInfoFactory();
    KeyValue kv = kif.newKeyValue(dsaKeyPair.getPublic());
    KeyInfo keyInfo = kif.newKeyInfo(Collections.singletonList(kv));
    XMLSignature xmlSig = sigFactory.newXMLSignature(signedInfo, keyInfo);
  }
}

希望本文所述對大家的java程序設(shè)計(jì)有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴林左旗| 南部县| 资源县| 西安市| 金川县| 宜君县| 乐至县| 任丘市| 中山市| 乌兰察布市| 镇康县| 巴青县| 禹城市| 黄浦区| 江达县| 益阳市| 龙游县| 玉龙| 章丘市| 甘肃省| 大邑县| 高台县| 项城市| 邯郸市| 福清市| 红桥区| 顺昌县| 施甸县| 锡林浩特市| 崇阳县| 龙里县| 阆中市| 湄潭县| 泗洪县| 疏勒县| 内黄县| 聊城市| 来凤县| 金阳县| 新绛县| 高唐县|