changeset 52189:83b78c3c212b

8210448: Copy Java XML Digital Signature API Specification into java.xml.crypto javadocs Reviewed-by: weijun
author mullan
date Thu, 18 Oct 2018 10:08:35 -0400
parents 0fcd1285435e
children 4e04b7ab20a3
files src/java.xml.crypto/share/classes/javax/xml/crypto/dom/package-info.java src/java.xml.crypto/share/classes/javax/xml/crypto/dom/package.html src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/TransformService.java src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/package-info.java src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/package.html src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/package-info.java src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/package.html src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/package-info.java src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/package.html src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/spec/package-info.java src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/spec/package.html src/java.xml.crypto/share/classes/javax/xml/crypto/package-info.java src/java.xml.crypto/share/classes/javax/xml/crypto/package.html
diffstat 15 files changed, 460 insertions(+), 366 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dom/package-info.java	Thu Oct 18 10:08:35 2018 -0400
@@ -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;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dom/package.html	Thu Oct 18 11:23:54 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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>
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/TransformService.java	Thu Oct 18 11:23:54 2018 +0200
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/TransformService.java	Thu Oct 18 10:08:35 2018 -0400
@@ -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 @@
  * </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>
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java	Thu Oct 18 11:23:54 2018 +0200
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java	Thu Oct 18 10:08:35 2018 -0400
@@ -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 @@
  *
  * <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 @@
      * {@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 @@
      * 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 @@
      * 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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/package-info.java	Thu Oct 18 10:08:35 2018 -0400
@@ -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;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/package.html	Thu Oct 18 11:23:54 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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>
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java	Thu Oct 18 11:23:54 2018 +0200
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java	Thu Oct 18 10:08:35 2018 -0400
@@ -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 @@
  *
  * <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 @@
      * {@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 @@
      * 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 @@
      * 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/package-info.java	Thu Oct 18 10:08:35 2018 -0400
@@ -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;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/package.html	Thu Oct 18 11:23:54 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/package-info.java	Thu Oct 18 10:08:35 2018 -0400
@@ -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;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/package.html	Thu Oct 18 11:23:54 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/spec/package-info.java	Thu Oct 18 10:08:35 2018 -0400
@@ -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;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/spec/package.html	Thu Oct 18 11:23:54 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/package-info.java	Thu Oct 18 10:08:35 2018 -0400
@@ -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;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/package.html	Thu Oct 18 11:23:54 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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>