Artikel ini menjelaskan metode Java menggunakan pasangan kunci DSA untuk menghasilkan tanda tangan XML. Bagikan untuk referensi Anda. Metode implementasi spesifik adalah sebagai berikut:
Kode MainClass.java adalah sebagai berikut:
Salinan kode adalah sebagai berikut: impor java.security.keypair;
impor java.security.keypairgenerator;
impor java.security.securerandom;
impor java.util.collections;
impor javax.xml.crypto.dsig.canonicalizationMethod;
impor javax.xml.crypto.dsig.digestmethod;
impor javax.xml.crypto.dsig.reference;
impor javax.xml.crypto.dsig.signatureMethod;
impor javax.xml.crypto.dsig.signedinfo;
impor javax.xml.crypto.dsig.xmlSignature;
impor javax.xml.crypto.dsig.xmlsignaturefactory;
impor javax.xml.crypto.dsig.keyinfo.keyinfo;
impor javax.xml.crypto.dsig.keyinfo.keyinfofactory;
impor javax.xml.crypto.dsig.keyinfo.keyValue;
impor javax.xml.crypto.dsig.spec.c14nmethodparameterspec;
Kelas Publik MainClass {
public static void main (string [] args) melempar pengecualian {
Keypairgenerator kpg = keypairgenerator.getInstance ("DSA");
kpg.initialize (1024, SecureRandom baru ());
Keypair dsakeypair = kpg.generatePeyPair ();
XmlSignatureFactory sigfactory = xmlSignatureFactory.getInstance ();
Referensi 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);
}
}
Saya harap artikel ini akan membantu pemrograman Java semua orang.