8210448: Copy Java XML Digital Signature API Specification into java.xml.crypto javadocs

Reviewed-by: weijun
This commit is contained in:
Sean Mullan 2018-10-18 10:08:35 -04:00
parent d75f70d91c
commit 417d396b54
15 changed files with 460 additions and 366 deletions

View File

@ -0,0 +1,47 @@
/*
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* DOM-specific classes for the {@link javax.xml.crypto} package.
* Only users who are using DOM-based XML cryptographic implementations (ex:
* {@link javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory} or
* {@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory})
* should need to make direct use of this package.
*
* <h2>Package Specification</h2>
*
* <ul>
* <li>
* <a href="http://www.w3.org/TR/xmldsig-core/">
* XML-Signature Syntax and Processing: W3C Recommendation</a>
* <li>
* <a href="http://www.ietf.org/rfc/rfc3275.txt">
* RFC 3275: XML-Signature Syntax and Processing</a>
* </ul>
*
* @since 1.6
*/
package javax.xml.crypto.dom;

View File

@ -1,50 +0,0 @@
<html>
<head>
<!--
Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body>
DOM-specific classes for the {@link javax.xml.crypto} package.
Only users who are using a DOM-based XML cryptographic implementations (ex:
{@link javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory} or
{@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory})
should need to make direct use of this package.
<h2>Package Specification</h2>
<ul>
<li>
<a href="http://www.w3.org/TR/xmldsig-core/">
XML-Signature Syntax and Processing: W3C Recommendation</a>
<li>
<a href="http://www.ietf.org/rfc/rfc3275.txt">
RFC 3275: XML-Signature Syntax and Processing</a>
</ul>
@since 1.6
</body>
</html>

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -68,11 +68,11 @@ import javax.xml.crypto.dsig.spec.TransformParameterSpec;
* </pre>
* <code>TransformService</code> implementations that support the DOM
* mechanism type must abide by the DOM interoperability requirements defined
* in the
* {@extLink security_guide_xmldsig_rqmts DOM Mechanism Requirements} section
* of the API overview. See the
* {@extLink security_guide_xmldsig_provider Service Providers} section of
* the API overview for a list of standard mechanism types.
* in the <a href="package-summary.html#dom_req">DOM Mechanism
* Requirements</a>. See the {@code TransformService} section in the <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
* Java Security Standard Algorithm Names Specification</a> for a list of
* standard algorithm URIs and mechanism types.
* <p>
* Once a <code>TransformService</code> has been created, it can be used
* to process <code>Transform</code> or <code>CanonicalizationMethod</code>

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -66,10 +66,11 @@ import java.util.List;
*
* <p>The objects that this factory produces will be based
* on DOM and abide by the DOM interoperability requirements as defined in the
* {@extLink security_guide_xmldsig_rqmts DOM Mechanism Requirements} section
* of the API overview. See the
* {@extLink security_guide_xmldsig_provider Service Providers} section of
* the API overview for a list of standard mechanism types.
* <a href="package-summary.html#dom_req">DOM Mechanism Requirements</a>.
* See the {@code XMLSignatureFactory} section in the <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
* Java Security Standard Algorithm Names Specification</a> for a list of
* standard mechanism types.
*
* <p><code>XMLSignatureFactory</code> implementations are registered and loaded
* using the {@link java.security.Provider} mechanism.
@ -180,8 +181,10 @@ public abstract class XMLSignatureFactory {
* {@link Security#getProviders() Security.getProviders()}.
*
* @param mechanismType the type of the XML processing mechanism and
* representation. See the {@extLink security_guide_xmldsig_provider
* Service Providers} section of the API overview for a list of
* representation. See the {@code XMLSignatureFactory} section in the
* <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
* Java Security Standard Algorithm Names Specification</a> for a list of
* standard mechanism types.
* @return a new <code>XMLSignatureFactory</code>
* @throws NullPointerException if <code>mechanismType</code> is
@ -225,8 +228,10 @@ public abstract class XMLSignatureFactory {
* provider list.
*
* @param mechanismType the type of the XML processing mechanism and
* representation. See the {@extLink security_guide_xmldsig_provider
* Service Providers} section of the API overview for a list of
* representation. See the {@code XMLSignatureFactory} section in the
* <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
* Java Security Standard Algorithm Names Specification</a> for a list of
* standard mechanism types.
* @param provider the <code>Provider</code> object
* @return a new <code>XMLSignatureFactory</code>
@ -276,8 +281,10 @@ public abstract class XMLSignatureFactory {
* the {@link Security#getProviders() Security.getProviders()} method.
*
* @param mechanismType the type of the XML processing mechanism and
* representation. See the {@extLink security_guide_xmldsig_provider
* Service Providers} section of the API overview for a list of
* representation. See the {@code XMLSignatureFactory} section in the
* <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
* Java Security Standard Algorithm Names Specification</a> for a list of
* standard mechanism types.
* @param provider the string name of the provider
* @return a new <code>XMLSignatureFactory</code>

View File

@ -0,0 +1,47 @@
/*
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* DOM-specific classes for the {@link javax.xml.crypto.dsig} package.
* Only users who are using a DOM-based {@link
* javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory} or
* {@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory}
* should need to make direct use of this package.
*
* <h2>Package Specification</h2>
*
* <ul>
* <li>
* <a href="http://www.w3.org/TR/xmldsig-core/">
* XML-Signature Syntax and Processing: W3C Recommendation</a>
* <li>
* <a href="http://www.ietf.org/rfc/rfc3275.txt">
* RFC 3275: XML-Signature Syntax and Processing</a>
* </ul>
*
* @since 1.6
*/
package javax.xml.crypto.dsig.dom;

View File

@ -1,50 +0,0 @@
<html>
<head>
<!--
Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body>
DOM-specific classes for the {@link javax.xml.crypto.dsig} package.
Only users who are using a DOM-based {@link
javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory} or
{@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory}
should need to make direct use of this package.
<h2>Package Specification</h2>
<ul>
<li>
<a href="http://www.w3.org/TR/xmldsig-core/">
XML-Signature Syntax and Processing: W3C Recommendation</a>
<li>
<a href="http://www.ietf.org/rfc/rfc3275.txt">
RFC 3275: XML-Signature Syntax and Processing</a>
</ul>
@since 1.6
</body>
</html>

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -61,11 +61,11 @@ import javax.xml.crypto.dsig.*;
*
* <p>The objects that this factory produces will be based
* on DOM and abide by the DOM interoperability requirements as defined in the
* {@extLink security_guide_xmldsig_rqmts DOM Mechanism Requirements} section
* of the API overview. See the <a href=
* <a href="../package-summary.html#dom_req">DOM Mechanism Requirements</a>.
* See the {@code KeyInfoFactory} section in the <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
* Java Security Standard Algorithm Names</a> document
* for more information.
* Java Security Standard Algorithm Names Specification</a> for a list of
* standard mechanism types.
*
* <p><code>KeyInfoFactory</code> implementations are registered and loaded
* using the {@link java.security.Provider} mechanism.
@ -137,10 +137,11 @@ public abstract class KeyInfoFactory {
* {@link Security#getProviders() Security.getProviders()}.
*
* @param mechanismType the type of the XML processing mechanism and
* representation. See the <a href=
* representation. See the {@code KeyInfoFactory} section in the
* <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
* Java Security Standard Algorithm Names</a> document
* for more information.
* Java Security Standard Algorithm Names Specification</a> for a list
* of standard mechanism types.
* @return a new <code>KeyInfoFactory</code>
* @throws NullPointerException if <code>mechanismType</code> is
* <code>null</code>
@ -182,10 +183,11 @@ public abstract class KeyInfoFactory {
* provider list.
*
* @param mechanismType the type of the XML processing mechanism and
* representation. See the <a href=
* representation. See the {@code KeyInfoFactory} section in the
* <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
* Java Security Standard Algorithm Names</a> document
* for more information.
* Java Security Standard Algorithm Names Specification</a> for a list
* of standard mechanism types.
* @param provider the <code>Provider</code> object
* @return a new <code>KeyInfoFactory</code>
* @throws NullPointerException if <code>mechanismType</code> or
@ -233,10 +235,11 @@ public abstract class KeyInfoFactory {
* the {@link Security#getProviders() Security.getProviders()} method.
*
* @param mechanismType the type of the XML processing mechanism and
* representation. See the <a href=
* representation. See the {@code KeyInfoFactory} section in the
* <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
* Java Security Standard Algorithm Names</a> document
* for more information.
* Java Security Standard Algorithm Names Specification</a> for a list
* of standard mechanism types.
* @param provider the string name of the provider
* @return a new <code>KeyInfoFactory</code>
* @throws NoSuchProviderException if the specified provider is not

View File

@ -0,0 +1,59 @@
/*
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Classes for parsing and processing {@link
* javax.xml.crypto.dsig.keyinfo.KeyInfo KeyInfo} elements and structures.
* <code>KeyInfo</code> is an optional element that enables the recipient(s) to
* obtain the key needed to validate an {@link
* javax.xml.crypto.dsig.XMLSignature XMLSignature}. <code>KeyInfo</code> may
* contain keys, names, certificates and other public key management
* information, such as in-band key distribution or key agreement data. This
* package contains classes representing types defined in the W3C specification
* for XML Signatures, such as
* {@link javax.xml.crypto.dsig.keyinfo.KeyName KeyName},
* {@link javax.xml.crypto.dsig.keyinfo.KeyValue KeyValue},
* {@link javax.xml.crypto.dsig.keyinfo.RetrievalMethod RetrievalMethod},
* {@link javax.xml.crypto.dsig.keyinfo.X509Data X509Data},
* {@link javax.xml.crypto.dsig.keyinfo.X509IssuerSerial X509IssuerSerial}, and
* {@link javax.xml.crypto.dsig.keyinfo.PGPData PGPData}.
* {@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory KeyInfoFactory} is an
* abstract factory that creates <code>KeyInfo</code> objects from scratch.
*
* <h2>Package Specification</h2>
*
* <ul>
* <li>
* <a href="http://www.w3.org/TR/xmldsig-core/">
* XML-Signature Syntax and Processing: W3C Recommendation</a>
* <li>
* <a href="http://www.ietf.org/rfc/rfc3275.txt">
* RFC 3275: XML-Signature Syntax and Processing</a>
* </ul>
*
* @since 1.6
*/
package javax.xml.crypto.dsig.keyinfo;

View File

@ -1,61 +0,0 @@
<html>
<head>
<!--
Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body>
Classes for parsing and processing {@link javax.xml.crypto.dsig.keyinfo.KeyInfo
KeyInfo} elements and structures. <code>KeyInfo</code> is an optional element
that enables the recipient(s) to obtain the key needed to validate an
{@link javax.xml.crypto.dsig.XMLSignature XMLSignature}. <code>KeyInfo</code>
may contain keys, names, certificates and other public key management
information, such as in-band key distribution or key agreement data. This
package contains classes representing types defined in the W3C specification
for XML Signatures, such as
{@link javax.xml.crypto.dsig.keyinfo.KeyName KeyName},
{@link javax.xml.crypto.dsig.keyinfo.KeyValue KeyValue},
{@link javax.xml.crypto.dsig.keyinfo.RetrievalMethod RetrievalMethod},
{@link javax.xml.crypto.dsig.keyinfo.X509Data X509Data},
{@link javax.xml.crypto.dsig.keyinfo.X509IssuerSerial X509IssuerSerial}, and
{@link javax.xml.crypto.dsig.keyinfo.PGPData PGPData}.
{@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory KeyInfoFactory}
is an abstract factory that creates <code>KeyInfo</code> objects from scratch.
<h2>Package Specification</h2>
<ul>
<li>
<a href="http://www.w3.org/TR/xmldsig-core/">
XML-Signature Syntax and Processing: W3C Recommendation</a>
<li>
<a href="http://www.ietf.org/rfc/rfc3275.txt">
RFC 3275: XML-Signature Syntax and Processing</a>
</ul>
@since 1.6
</body>
</html>

View File

@ -0,0 +1,169 @@
/*
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Classes for generating and validating XML digital
* signatures. This package includes classes that represent the core elements
* defined in the W3C XML digital signature specification:
* {@link javax.xml.crypto.dsig.XMLSignature XMLSignature},
* {@link javax.xml.crypto.dsig.SignedInfo SignedInfo},
* {@link javax.xml.crypto.dsig.CanonicalizationMethod CanonicalizationMethod},
* {@link javax.xml.crypto.dsig.SignatureMethod SignatureMethod},
* {@link javax.xml.crypto.dsig.Reference Reference},
* {@link javax.xml.crypto.dsig.DigestMethod DigestMethod},
* {@link javax.xml.crypto.dsig.XMLObject XMLObject},
* {@link javax.xml.crypto.dsig.Manifest Manifest},
* {@link javax.xml.crypto.dsig.SignatureProperties SignatureProperties}, and
* {@link javax.xml.crypto.dsig.SignatureProperty SignatureProperty}.
* {@code KeyInfo} types are defined in the
* {@link javax.xml.crypto.dsig.keyinfo} subpackage.
* {@link javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory}
* is an abstract factory that creates
* {@link javax.xml.crypto.dsig.XMLSignature XMLSignature} objects from scratch
* or from a pre-existing XML representation, such as a DOM node.
* {@link javax.xml.crypto.dsig.TransformService} is a service provider
* interface for creating and plugging in implementations of
* transform and canonicalization algorithms.
*
* <p>Of primary significance in this package is the
* {@link javax.xml.crypto.dsig.XMLSignature XMLSignature} class,
* which allows you to sign and validate an XML digital signature.
*
* <h2><a id="service_providers"></a>Service Providers</h2>
* A service provider is a concrete implementation of the abstract
* {@link javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory} and
* {@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory KeyInfoFactory} classes
* and is responsible for creating objects and algorithms that parse, generate
* and validate XML Signatures and KeyInfo structures. A concrete implementation
* of {@code XMLSignatureFactory} MUST provide support for each of the REQUIRED
* algorithms as specified by the W3C recommendation for XML Signatures. It MAY
* support other algorithms as defined by the W3C recommendation or other
* specifications.
*
* <p>The API leverages the JCA provider model (see
* {@link java.security.Provider the Provider class}) for registering and
* loading {@code XMLSignatureFactory} and {@code KeyInfoFactory}
* implementations.
*
* <p>Each concrete {@code XMLSignatureFactory} or {@code KeyInfoFactory}
* implementation supports a specific XML mechanism type that identifies the XML
* processing mechanism that an implementation uses internally to parse and
* generate XML signature and KeyInfo structures.
*
* <p>A service provider implementation SHOULD use underlying JCA engine
* classes, such as {@link java.security.Signature} and
* {@link java.security.MessageDigest} to perform cryptographic operations.
*
* <p>In addition to the {@code XMLSignatureFactory} and {@code KeyInfoFactory}
* classes, the API supports a service provider interface for transform and
* canonicalization algorithms. The {@link
* javax.xml.crypto.dsig.TransformService TransformService} class allows you to
* develop and plug in an implementation of a specific transform or
* canonicalization algorithm for a particular XML mechanism type. The {@code
* TransformService} class uses the standard JCA provider model for registering
* and loading implementations. Each service provider implementation SHOULD use
* the {@code TransformService} class to find a provider that supports transform
* and canonicalization algorithms in XML Signatures that it is generating or
* validating.
*
* <h3><a id="dom_req"></a>DOM Mechanism Requirements</h3>
* The following requirements MUST be abided by when implementing a DOM-based
* {@code XMLSignatureFactory}, {@code KeyInfoFactory} or {@code
* TransformService} in order to minimize interoperability problems:
* <ol>
* <li>The {@code unmarshalXMLSignature} method of {@code XMLSignatureFactory}
* MUST support {@code DOMValidateContext} types. If the type is
* {@code DOMValidateContext}, it SHOULD contain an {@code Element} of type
* Signature. Additionally, the {@code unmarshalXMLSignature} method MAY
* populate the Id/Element mappings of the passed-in {@code DOMValidateContext}.
* </li>
*
* <li>The {@code sign} method of {@code XMLSignature}s produced by
* {@code XMLSignatureFactory} MUST support {@code DOMSignContext} types and the
* {@code validate} method MUST support {@code DOMValidateContext} types. This
* requirement also applies to the {@code validate} method of {@code
* SignatureValue} and the {@code validate} method of {@code Reference}.</li>
*
* <li>The implementation MUST support {@code DOMStructure}s as the mechanism
* for the application to specify extensible content (any elements or mixed
* content).</li>
*
* <li>If the {@code dereference} method of user-specified {@code
* URIDereferencer}s returns {@code NodeSetData} objects, the {@code iterator}
* method MUST return an iteration over objects of type {@code
* org.w3c.dom.Node}.</li>
*
* <li>{@code URIReference} objects passed to the {@code dereference} method of
* user-specified {@code URIDereferencer}s MUST be of type {@code
* DOMURIReference} and {@code XMLCryptoContext} objects MUST implement {@code
* DOMCryptoContext}.</li>
*
* <li>The previous 2 requirements also apply to {@code URIDereferencer}s
* returned by the {@code getURIDereferencer} method of {@code
* XMLSignatureFactory} and {@code KeyInfoFactory}.</li>
*
* <li>The {@code unmarshalKeyInfo} method of {@code KeyInfoFactory} MUST
* support {@code DOMStructure} types. If the type is {@code DOMStructure}, it
* SHOULD contain an {@code Element} of type {@code KeyInfo}.</li>
*
* <li>The {@code transform} method of {@code Transform} MUST support
* {@code DOMCryptoContext} context parameter types.</li>
*
* <li>The {@code newtransform} and {@code newCanonicalizationMethod} methods of
* {@code XMLSignatureFactory} MUST support {@code DOMStructure} parameter
* types.</li>
*
* <li>The {@code init}, and {@code marshalParams} methods of
* {@code TransformService} MUST support {@code DOMStructure} and
* {@code DOMCryptoContext} types.</li>
*
* <li>The {@code unmarshalXMLSignature} method of {@code XMLSignatureFactory}
* MUST support {@code DOMStructure} types. If the type is {@code DOMStructure},
* it SHOULD contain an {@code Element} of type {@code Signature}.</li>
*
* <li>The {@code marshal} method of {@code KeyInfo} MUST support
* {@code DOMStructure} and {@code DOMCryptoContext} parameter types.</li>
* </ol>
*
* <p>Note that a DOM implementation MAY internally use other XML parsing APIs
* other than DOM as long as it doesn't affect interoperability. For example, a
* DOM implementation of {@code XMLSignatureFactory} might use a SAX parser
* internally to canonicalize data.
*
* <h2>Package Specification</h2>
*
* <ul>
* <li>
* <a href="http://www.w3.org/TR/xmldsig-core/">
* XML-Signature Syntax and Processing: W3C Recommendation</a>
* <li>
* <a href="http://www.ietf.org/rfc/rfc3275.txt">
* RFC 3275: XML-Signature Syntax and Processing</a>
* </ul>
*
* @since 1.6
*/
package javax.xml.crypto.dsig;

View File

@ -1,71 +0,0 @@
<html>
<head>
<!--
Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body>
Classes for generating and validating XML digital
signatures. This package includes classes that represent the core elements
defined in the W3C XML digital signature specification:
{@link javax.xml.crypto.dsig.XMLSignature XMLSignature},
{@link javax.xml.crypto.dsig.SignedInfo SignedInfo},
{@link javax.xml.crypto.dsig.CanonicalizationMethod CanonicalizationMethod},
{@link javax.xml.crypto.dsig.SignatureMethod SignatureMethod},
{@link javax.xml.crypto.dsig.Reference Reference},
{@link javax.xml.crypto.dsig.DigestMethod DigestMethod},
{@link javax.xml.crypto.dsig.XMLObject XMLObject},
{@link javax.xml.crypto.dsig.Manifest Manifest},
{@link javax.xml.crypto.dsig.SignatureProperties SignatureProperties}, and
{@link javax.xml.crypto.dsig.SignatureProperty SignatureProperty}.
<code>KeyInfo</code> types
are defined in the {@link javax.xml.crypto.dsig.keyinfo} subpackage.
{@link javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory}
is an abstract factory that creates
{@link javax.xml.crypto.dsig.XMLSignature XMLSignature} objects from scratch
or from a pre-existing XML representation, such as a DOM node.
{@link javax.xml.crypto.dsig.TransformService} is a service provider
interface for creating and plugging in implementations of
transform and canonicalization algorithms.
<p>Of primary significance in this package is the
{@link javax.xml.crypto.dsig.XMLSignature XMLSignature} class,
which allows you to sign and validate an XML digital signature.
<h2>Package Specification</h2>
<ul>
<li>
<a href="http://www.w3.org/TR/xmldsig-core/">
XML-Signature Syntax and Processing: W3C Recommendation</a>
<li>
<a href="http://www.ietf.org/rfc/rfc3275.txt">
RFC 3275: XML-Signature Syntax and Processing</a>
</ul>
@since 1.6
</body>
</html>

View File

@ -0,0 +1,52 @@
/*
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Parameter classes for XML digital signatures. This package
* contains interfaces and classes representing input parameters for the
* digest, signature, transform, or canonicalization algorithms used in
* the processing of XML signatures.
*
* <h2>Package Specification</h2>
*
* <ul>
* <li>
* <a href="http://www.w3.org/TR/xmldsig-core/">
* XML-Signature Syntax and Processing: W3C Recommendation</a>
* <li>
* <a href="http://www.ietf.org/rfc/rfc3275.txt">
* RFC 3275: XML-Signature Syntax and Processing</a>
* <li>
* <a href="http://www.w3.org/TR/xml-exc-c14n/">
* Exclusive XML Canonicalization algorithm: W3C Recommendation</a>
* <li>
* <a href="http://www.w3.org/TR/xmldsig-filter2/">
* XPath Filter 2.0 Transform Algorithm: W3C Recommendation</a>
* </ul>
*
* @since 1.6
*/
package javax.xml.crypto.dsig.spec;

View File

@ -1,55 +0,0 @@
<html>
<head>
<!--
Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body>
Parameter classes for XML digital signatures. This package
contains interfaces and classes representing input parameters for the
digest, signature, transform, or canonicalization algorithms used in
the processing of XML signatures.
<h2>Package Specification</h2>
<ul>
<li>
<a href="http://www.w3.org/TR/xmldsig-core/">
XML-Signature Syntax and Processing: W3C Recommendation</a>
<li>
<a href="http://www.ietf.org/rfc/rfc3275.txt">
RFC 3275: XML-Signature Syntax and Processing</a>
<li>
<a href="http://www.w3.org/TR/xml-exc-c14n/">
Exclusive XML Canonicalization algorithm: W3C Recommendation</a>
<li>
<a href="http://www.w3.org/TR/xmldsig-filter2/">
XPath Filter 2.0 Transform Algorithm: W3C Recommendation</a>
</ul>
@since 1.6
</body>
</html>

View File

@ -0,0 +1,45 @@
/*
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Common classes for XML cryptography. This package includes common classes
* that are used to perform XML cryptographic operations, such as generating
* an XML signature or encrypting XML data.
*
* <h2>Package Specification</h2>
*
* <ul>
* <li>
* <a href="http://www.w3.org/TR/xmldsig-core/">
* XML-Signature Syntax and Processing: W3C Recommendation</a>
* <li>
* <a href="http://www.ietf.org/rfc/rfc3275.txt">
* RFC 3275: XML-Signature Syntax and Processing</a>
* </ul>
*
* @since 1.6
*/
package javax.xml.crypto;

View File

@ -1,48 +0,0 @@
<html>
<head>
<!--
Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body>
Common classes for XML cryptography. This package includes common classes that
are used to perform XML cryptographic operations, such as generating
an XML signature or encrypting XML data.
<h2>Package Specification</h2>
<ul>
<li>
<a href="http://www.w3.org/TR/xmldsig-core/">
XML-Signature Syntax and Processing: W3C Recommendation</a>
<li>
<a href="http://www.ietf.org/rfc/rfc3275.txt">
RFC 3275: XML-Signature Syntax and Processing</a>
</ul>
@since 1.6
</body>
</html>