欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2015年03月12日 11:23:50   作者:鑒客  
這篇文章主要介紹了Java使用DSA密鑰對生成XML簽名的方法,實例分析了java使用DSA密鑰對生成XML簽名的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

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

MainClass.java代碼如下:

復制代碼 代碼如下:
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è)計有所幫助。

相關(guān)文章

  • redis深入淺出分布式鎖實現(xiàn)下篇

    redis深入淺出分布式鎖實現(xiàn)下篇

    在單體應用中,如果我們對共享數(shù)據(jù)不進行加鎖操作,會出現(xiàn)數(shù)據(jù)一致性問題,我們的解決辦法通常是加鎖。下面我們一起聊聊使用redis來實現(xiàn)分布式鎖
    2022-08-08
  • Springboot實現(xiàn)過濾器的兩種方式

    Springboot實現(xiàn)過濾器的兩種方式

    今天通過本文給大家分享Springboot實現(xiàn)過濾器的兩種方式,第一種是spring容器注冊filter,第二種方式是通過@WebFilter 注解來配置,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2023-10-10
  • vue+springboot+shiro+jwt實現(xiàn)登錄功能

    vue+springboot+shiro+jwt實現(xiàn)登錄功能

    這篇文章主要介紹了vue+springboot+shiro+jwt實現(xiàn)登錄功能,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • springboot整合mybatis的超詳細過程(配置模式+注解模式)

    springboot整合mybatis的超詳細過程(配置模式+注解模式)

    這篇文章主要介紹了springboot整合mybatis的詳細過程(配置模式+注解模式),這里我使用的是配置模式+注解模式所以需要配置全局文件,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • SQL返回Map集合或者對象的操作

    SQL返回Map集合或者對象的操作

    這篇文章主要介紹了SQL返回Map集合或者對象的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • idea離線使用jrebel的超詳細教程

    idea離線使用jrebel的超詳細教程

    IDEA上原生是不支持熱部署的,一般更新了 Java 文件后要手動重啟 Tomcat 服務(wù)器,才能生效,下面通過本文給大家分享idea離線使用jrebel的超詳細教程(親測有效),感興趣的朋友一起看看吧
    2020-12-12
  • 淺談Java線程Thread之interrupt中斷解析

    淺談Java線程Thread之interrupt中斷解析

    這篇文章主要介紹了Java線程Thread之interrupt中斷解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • mybatis in查詢傳入String方式

    mybatis in查詢傳入String方式

    這篇文章主要介紹了mybatis in查詢傳入String方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java Spring事務(wù)使用及驗證過程詳解

    Java Spring事務(wù)使用及驗證過程詳解

    這篇文章主要介紹了Java Spring事務(wù)使用及驗證過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • 利用Spring AOP記錄方法的執(zhí)行時間

    利用Spring AOP記錄方法的執(zhí)行時間

    這篇文章給大家介紹的是spring的aop來實現(xiàn)方法級的執(zhí)行時間的記錄監(jiān)控,以此來評估方法的性能以及針對性的對已存在的方法進行優(yōu)化。對于監(jiān)控,我們比較關(guān)注監(jiān)控的可靠性和性能,準確,高效,這才能在不影響整體性能的情況下對我們的系統(tǒng)性能有個較準確的認識。
    2016-09-09

最新評論