В этой статье описывается метод Java с использованием пар клавиш DSA для генерации сигнатур 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 {
public static void main (string [] args) бросает исключение {
KeyPairGenerator KPG = KeyPairGenerator.getInstance ("DSA");
kpg.initialize (1024, new Securerandom ());
Клавиатура dsakeypair = kpg.generatekeypair ();
XmlSignatureFactory sigFactory = xmlSignatureFactory.getInstance ();
Ссылка ref = sigfactory.newReference ("#body", sigfactory.newdigestmethod (digestmethod.sha1, null));
SignedInfo SignedInfo = sigFactory.newSignedInfo (sigfactory.newcanonicalizationmethod (
Canonicalizationmethod.inclusize_with_comments, (c14nmethodparameterspec) null), sigfactory.newsignatureMethod (signatureMethod.dsa_sha1, null), collections.singletonlist (ref));
KeyInfactory KIF = sigFactory.getKeyInfoFactory ();
Keyvalue kv = kif.newkeyvalue (dsakeypair.getpublic ());
KeyInfo KeyInfo = kif.newKeyInfo (collections.singletonlist (kv));
Xmlsignature xmlsig = sigfactory.newxmlSignature (signedInfo, KeyInfo);
}
}
Я надеюсь, что эта статья будет полезна для всех Java Programming.