บทความนี้อธิบายวิธีการของ Java โดยใช้ DSA Key คู่เพื่อสร้างลายเซ็น XML แบ่งปันสำหรับการอ้างอิงของคุณ วิธีการใช้งานเฉพาะมีดังนี้:
รหัส mainclass.java มีดังนี้:
การคัดลอกรหัสมีดังนี้: นำเข้า java.security.keypair;
นำเข้า java.security.keypairgenerator;
นำเข้า Java.security.Securerandom;
นำเข้า Java.util.Collections;
นำเข้า javax.xml.crypto.dsig.canonicalizationmethod;
นำเข้า javax.xml.crypto.dsig.digestmethod;
นำเข้า javax.xml.crypto.dsig.reference;
นำเข้า javax.xml.crypto.dsig.signaturemethod;
นำเข้า Javax.xml.crypto.dsig.signedInfo;
นำเข้า javax.xml.crypto.dsig.xmlsignature;
นำเข้า javax.xml.crypto.dsig.xmlsignaturefactory;
นำเข้า javax.xml.crypto.dsig.keyinfo.keyinfo;
นำเข้า javax.xml.crypto.dsig.keyinfo.keyinfofactory;
นำเข้า javax.xml.crypto.dsig.keyinfo.keyvalue;
นำเข้า javax.xml.crypto.dsig.spec.c14nmethodparameterspec;
ชั้นเรียนสาธารณะ MainClass {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) โยนข้อยกเว้น {
KEYPAIRENERATOR KPG = KYPAIRGENERATOR.GETINSTANCE ("DSA");
kpg.initialize (1024, ใหม่ securerandom ());
Keypair dsakeypair = kpg.generatekeypair ();
xmlsignaturefactory sigfactory = xmlsignaturefactory.getInstance ();
อ้างอิง ref = sigfactory.newreference ("#body", sigfactory.newdigestmethod (digestmethod.sha1, null));
SignEdInfo SignEdInfo = sigfactory.newsignedInfo (sigfactory.newcanonicalizationmethod (
CanonicalizationMethod.inclusive_with_Comments, (C14NMETHODPARAMETERSPEC) NULL), SIGFACTORY.NEWSIGNATUREMETHOD
keyinfofactory kif = sigfactory.getKeyInFofactory ();
KeyValue KV = kif.newkeyValue (dsakeypair.getPublic ());
keyinfo keyinfo = kif.newkeyinfo (collections.singletonlist (kv));
XMLSignature XMLSIG = SIGFACTORY.NEWXMLSIGNATURE (SIGNEDINFO, KEYINFO);
-
-
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน