|
Tighten Data Security with the Java XML Digital Signature API
by Leonard Anghel
Before the release of Java Mustang, the Java XML Digital Signature API was known as JSR 105. This important security feature not only provides data integrity and security for XML data and binary data, it also allows you to generate and validate XML document XML signatures.
This article will demonstrate how to use this API by walking you through these tasks:
- Generate an enveloped XML signature using KeyPairGenerator class
- Generate an enveloped XML signature using X509 certificates
- Generate an detached XML signature using KeyPairGenerator class
- Generate an enveloping XML signature using KeyPairGenerator class
- Validate an XML signature
Let's begin!
Java XML Digital Signature API Packages
It's beyond the scope of this article to provide a detailed presentation of all the classes directly implied when you generate or validate XML signatures. What follows is a description of the packages involved with this API (for more details, consult the official Java documentation):
-
javax.xml.crypto: This package contains the fundamental classes for XML cryptographic operations.
-
javax.xml.crypto.dsig.dom: This package contains DOM-specific classes for the javax.xml.crypto.dsig package. You will need this package because you will use its XMLSignatureFactory and KeyInfoFactory classes.
-
javax.xml.crypto.dom: This package contains DOM-specific classes for the javax.xml.crypto package. You'll the examples in this package with the XMLSignatureFactory and KeyInfoFactory classes.
-
javax.xml.crypto.disg: Many of the XML Digital Signature API's classes are from this package. The most important classes are: XMLSignature, SignedInfo, CanonicalizationMethod, SignatureMethod, Reference, DigestMethod, XMLObject, Manifest, SignatureProperties, and SignatureProperty.
-
javax.xml.crypto.dsig.keyinfo: This package contains classes for parsing and processing KeyInfo structures.
-
javax.xml.crypto.dsig.spec: This package contains classes representing input parameters for XML signatures.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|