changeset 17270:e6c4f6ef717d jdk-9+175

8178114: Fix guide links in security APIs Reviewed-by: xuelei, mullan, weijun
author wetmore
date Tue, 20 Jun 2017 12:57:42 -0700
parents b252dd92a359
children f3cf7fd26baa
files src/java.base/share/classes/java/lang/SecurityManager.java src/java.base/share/classes/java/security/AlgorithmParameterGenerator.java src/java.base/share/classes/java/security/AlgorithmParameterGeneratorSpi.java src/java.base/share/classes/java/security/Key.java src/java.base/share/classes/java/security/KeyPairGenerator.java src/java.base/share/classes/java/security/KeyPairGeneratorSpi.java src/java.base/share/classes/java/security/Provider.java src/java.base/share/classes/java/security/Security.java src/java.base/share/classes/java/security/cert/CRL.java src/java.base/share/classes/java/security/cert/package-info.java src/java.base/share/classes/java/security/interfaces/package-info.java src/java.base/share/classes/java/security/package-info.java src/java.base/share/classes/java/security/spec/package-info.java src/java.base/share/classes/javax/crypto/Cipher.java src/java.base/share/classes/javax/crypto/EncryptedPrivateKeyInfo.java src/java.base/share/classes/javax/crypto/KeyGenerator.java src/java.base/share/classes/javax/crypto/KeyGeneratorSpi.java src/java.base/share/classes/javax/crypto/interfaces/package-info.java src/java.base/share/classes/javax/crypto/package-info.java src/java.base/share/classes/javax/crypto/spec/SecretKeySpec.java src/java.base/share/classes/javax/crypto/spec/package-info.java src/java.base/share/classes/javax/net/ssl/ExtendedSSLSession.java src/java.base/share/classes/javax/net/ssl/KeyManagerFactory.java src/java.base/share/classes/javax/net/ssl/SSLParameters.java src/java.base/share/classes/javax/net/ssl/TrustManagerFactory.java src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java src/java.security.jgss/share/classes/org/ietf/jgss/package.html src/java.security.sasl/share/classes/javax/security/sasl/Sasl.java src/java.security.sasl/share/classes/javax/security/sasl/package-info.java 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/keyinfo/KeyInfoFactory.java
diffstat 32 files changed, 164 insertions(+), 243 deletions(-) [+]
line wrap: on
line diff
--- a/src/java.base/share/classes/java/lang/SecurityManager.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/lang/SecurityManager.java	Tue Jun 20 12:57:42 2017 -0700
@@ -194,18 +194,15 @@
  * of system administrators who might need to perform multiple
  * tasks that require all (or numerous) permissions.
  * <p>
- * See <a href ="../../../technotes/guides/security/permissions.html">
- * Permissions in the JDK</a> for permission-related information.
+ * See {@extLink security_guide_permissions
+ * Permissions in the Java Development Kit (JDK)}
+ * for permission-related information.
  * This document includes, for example, a table listing the various SecurityManager
  * <code>check</code> methods and the permission(s) the default
  * implementation of each such method requires.
  * It also contains a table of all the version 1.2 methods
  * that require permissions, and for each such method tells
  * which permission it requires.
- * <p>
- * For more information about <code>SecurityManager</code> changes made in
- * the JDK and advice regarding porting of 1.1-style security managers,
- * see the <a href="../../../technotes/guides/security/index.html">security documentation</a>.
  *
  * @author  Arthur van Hoff
  * @author  Roland Schemers
--- a/src/java.base/share/classes/java/security/AlgorithmParameterGenerator.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/AlgorithmParameterGenerator.java	Tue Jun 20 12:57:42 2017 -0700
@@ -64,8 +64,7 @@
  * AlgorithmParameterGenerator (via a call to an {@code init} method),
  * each provider must supply (and document) a default initialization.
  * See the Keysize Restriction sections of the
- * <a href="{@docRoot}/../technotes/guides/security/SunProviders.html">
- * JDK Providers</a>
+ * {@extLink security_guide_jdk_providers JDK Providers}
  * document for information on the AlgorithmParameterGenerator defaults
  * used by JDK providers.
  * However, note that defaults may vary across different providers.
--- a/src/java.base/share/classes/java/security/AlgorithmParameterGeneratorSpi.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/AlgorithmParameterGeneratorSpi.java	Tue Jun 20 12:57:42 2017 -0700
@@ -40,8 +40,7 @@
  * AlgorithmParameterGenerator (via a call to an {@code engineInit}
  * method), each provider must supply (and document) a default initialization.
  * See the Keysize Restriction sections of the
- * <a href="{@docRoot}/../technotes/guides/security/SunProviders.html">
- * JDK Providers</a>
+ * {@extLink security_guide_jdk_providers JDK Providers}
  * document for information on the AlgorithmParameterGenerator defaults
  * used by JDK providers.
  * However, note that defaults may vary across different providers.
--- a/src/java.base/share/classes/java/security/Key.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/Key.java	Tue Jun 20 12:57:42 2017 -0700
@@ -114,10 +114,10 @@
     /**
      * Returns the standard algorithm name for this key. For
      * example, "DSA" would indicate that this key is a DSA key.
-     * See Appendix A in the <a href=
-     * "../../../technotes/guides/security/crypto/CryptoSpec.html#AppA">
-     * Java Cryptography Architecture API Specification &amp; Reference </a>
-     * for information about standard algorithm names.
+     * See the <a href=
+     * "{@docRoot}/../specs/security/standard-names.html">
+     * Java Security Standard Algorithm Names</a> document
+     * for more information.
      *
      * @return the name of the algorithm associated with this key.
      */
--- a/src/java.base/share/classes/java/security/KeyPairGenerator.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/KeyPairGenerator.java	Tue Jun 20 12:57:42 2017 -0700
@@ -96,8 +96,7 @@
  * (via a call to an {@code initialize} method), each provider must
  * supply (and document) a default initialization.
  * See the Keysize Restriction sections of the
- * <a href="{@docRoot}/../technotes/guides/security/SunProviders.html">
- * JDK Providers</a>
+ * {@extLink security_guide_jdk_providers JDK Providers}
  * document for information on the KeyPairGenerator defaults used by
  * JDK providers.
  * However, note that defaults may vary across different providers.
--- a/src/java.base/share/classes/java/security/KeyPairGeneratorSpi.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/KeyPairGeneratorSpi.java	Tue Jun 20 12:57:42 2017 -0700
@@ -40,8 +40,7 @@
  * (via a call to an {@code initialize} method), each provider must
  * supply (and document) a default initialization.
  * See the Keysize Restriction sections of the
- * <a href="{@docRoot}/../technotes/guides/security/SunProviders.html">
- * JDK Providers</a>
+ * {@extLink security_guide_jdk_providers JDK Providers}
  * document for information on the KeyPairGenerator defaults used by
  * JDK providers.
  * However, note that defaults may vary across different providers.
--- a/src/java.base/share/classes/java/security/Provider.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/Provider.java	Tue Jun 20 12:57:42 2017 -0700
@@ -94,9 +94,9 @@
  * The JDK implementation supports static registration of the security
  * providers via the {@code conf/security/java.security} file in the Java
  * installation directory. These providers are automatically installed by
- * the JDK runtime, see <a href =
- * "../../../technotes/guides/security/crypto/CryptoSpec.html#Provider">The Provider Class</a>
- * in the "Java Cryptography Architecture API Specification &amp; Reference"
+ * the JDK runtime, see {@extLink security_guide_jca_provider
+ * The Provider Class}
+ * in the Java Cryptography Architecture (JCA) Reference Guide
  * for information about how a particular type of provider, the cryptographic
  * service provider, works and is installed.
  *
@@ -1310,8 +1310,8 @@
      * it is replaced by the new service.
      * This method also places information about this service
      * in the provider's Hashtable values in the format described in the
-     * <a href="../../../technotes/guides/security/crypto/CryptoSpec.html">
-     * Java Cryptography Architecture API Specification &amp; Reference </a>.
+     * {@extLink security_guide_jca
+     * Java Cryptography Architecture (JCA) Reference Guide}.
      *
      * <p>Also, if there is a security manager, its
      * {@code checkSecurityAccess} method is called with the string
@@ -1593,8 +1593,8 @@
      * suitable services and instantiates them. The valid arguments to those
      * methods depend on the type of service. For the service types defined
      * within Java SE, see the
-     * <a href="../../../technotes/guides/security/crypto/CryptoSpec.html">
-     * Java Cryptography Architecture API Specification &amp; Reference </a>
+     * {@extLink security_guide_jca
+     * Java Cryptography Architecture (JCA) Reference Guide}
      * for the valid values.
      * Note that components outside of Java SE can define additional types of
      * services and their behavior.
@@ -1769,9 +1769,8 @@
          * instantiation in a different way.
          * For details and the values of constructorParameter that are
          * valid for the various types of services see the
-         * <a href="../../../technotes/guides/security/crypto/CryptoSpec.html">
-         * Java Cryptography Architecture API Specification &amp;
-         * Reference</a>.
+         * {@extLink security_guide_jca
+         * Java Cryptography Architecture (JCA) Reference Guide}.
          *
          * @param constructorParameter the value to pass to the constructor,
          * or null if this type of service does not use a constructorParameter.
@@ -1878,9 +1877,8 @@
          *
          * <p>For details and the values of parameter that are valid for the
          * various types of services see the top of this class and the
-         * <a href="../../../technotes/guides/security/crypto/CryptoSpec.html">
-         * Java Cryptography Architecture API Specification &amp;
-         * Reference</a>.
+         * {@extLink security_guide_jca
+         * Java Cryptography Architecture (JCA) Reference Guide}.
          * Security providers can override it to implement their own test.
          *
          * @param parameter the parameter to test
--- a/src/java.base/share/classes/java/security/Security.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/Security.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1041,8 +1041,8 @@
      * an empty Set if there is no provider that supports the
      * specified service or if serviceName is null. For a complete list
      * of Java cryptographic services, please see the
-     * <a href="../../../technotes/guides/security/crypto/CryptoSpec.html">Java
-     * Cryptography Architecture API Specification &amp; Reference</a>.
+     * {@extLink security_guide_jca
+     * Java Cryptography Architecture (JCA) Reference Guide}.
      * Note: the returned set is immutable.
      *
      * @param serviceName the name of the Java cryptographic
--- a/src/java.base/share/classes/java/security/cert/CRL.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/cert/CRL.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2017, 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
@@ -52,9 +52,9 @@
      * Creates a CRL of the specified type.
      *
      * @param type the standard name of the CRL type.
-     * See Appendix A in the <a href=
-     * "../../../../technotes/guides/security/crypto/CryptoSpec.html#AppA">
-     * Java Cryptography Architecture API Specification &amp; Reference </a>
+     * See the <a href=
+     * "{@docRoot}/../specs/security/standard-names.html">
+     * Java Security Standard Algorithm Names</a> document
      * for information about standard CRL types.
      */
     protected CRL(String type) {
--- a/src/java.base/share/classes/java/security/cert/package-info.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/cert/package-info.java	Tue Jun 20 12:57:42 2017 -0700
@@ -32,15 +32,14 @@
  * <h2>Package Specification</h2>
  *
  * <ul>
- *   <li><a href="{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
- *     <b>Java&trade;
- *     Cryptography Architecture (JCA) Reference Guide</b></a>
+ *   <li>{@extLink security_guide_jca
+ *     Java Cryptography Architecture (JCA) Reference Guide}
  *   <li>RFC 5280: Internet X.509 Public Key Infrastructure Certificate and
  *     Certificate Revocation List (CRL) Profile
  *   <li>RFC 2560: X.509 Internet Public Key Infrastructure Online Certificate
  *     Status Protocol - OCSP
  *   <li><a href="{@docRoot}/../specs/security/standard-names.html">
- *     <b>Java&trade; Security Standard Algorithm Names Specification
+ *     <b>Java Security Standard Algorithm Names Specification
  *     </b></a></li>
  * </ul>
  *
@@ -50,12 +49,7 @@
  * <ul>
  *   <li><a href="http://www.ietf.org/rfc/rfc5280.txt">
  *     http://www.ietf.org/rfc/rfc5280.txt</a>
- *   <li><a href=
- *     "{@docRoot}/../technotes/guides/security/certpath/CertPathProgGuide.html">
- *     <b>Java&trade;
- *     PKI Programmer's Guide</b></a>
- *   <li><a href="{@docRoot}/../technotes/guides/security/cert3.html">
- *     <b>X.509 Certificates and Certificate Revocation Lists (CRLs)</b></a>
+ *   <li> {@extLink security_guide_pki Java PKI Programmer's Guide}
  * </ul>
  *
  * @since 1.2
--- a/src/java.base/share/classes/java/security/interfaces/package-info.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/interfaces/package-info.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2017, 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
@@ -42,11 +42,10 @@
  * {@code Key} classes for hardware devices, please refer
  * to these cryptographic provider developer guides:
  * <ul>
- *   <li><a href=
- *     "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
- *     <b>How to Implement a Provider for the
- *     Java&trade; Cryptography Architecture
- *     </b></a></li>
+ *   <li>
+ *     {@extLink security_guide_impl_provider
+ *       How to Implement a Provider in the Java Cryptography Architecture}
+ *   </li>
  * </ul>
  *
  * <h2>Package Specification</h2>
@@ -61,12 +60,8 @@
  *
  * For further documentation, please see:
  * <ul>
- *   <li>
- *     <a href=
- *       "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
- *       <b>Java&trade;
- *       Cryptography Architecture API Specification and Reference
- *       </b></a></li>
+ *   <li> {extLink security_guide_jca
+ *       Java Cryptography Architecture Reference Guide}</li>
  * </ul>
  *
  * @since 1.1
--- a/src/java.base/share/classes/java/security/package-info.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/package-info.java	Tue Jun 20 12:57:42 2017 -0700
@@ -46,63 +46,36 @@
  * <h2>Package Specification</h2>
  *
  * <ul>
- *   <li><a href="{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
- *     <b>Java&trade;
- *     Cryptography Architecture (JCA) Reference Guide</b></a></li>
+ *   <li> {@extLink security_guide_jca
+ *     Java Cryptography Architecture (JCA) Reference Guide}</li>
  *
  *   <li>PKCS #8: Private-Key Information Syntax Standard, Version 1.2,
  *     November 1993</li>
  *
  *   <li><a href="{@docRoot}/../specs/security/standard-names.html">
- *     <b>Java&trade; Security Standard Algorithm Names Specification
- *     </b></a></li>
+ *     Java Security Standard Algorithm Names Specification
+ *     </a></li>
  * </ul>
  *
  * <h2>Related Documentation</h2>
  *
  * For further documentation, please see:
  * <ul>
- *   <li><a href=
- *     "{@docRoot}/../technotes/guides/security/spec/security-spec.doc.html">
- *     <b>Java&trade;
- *     SE Platform Security Architecture</b></a></li>
+ *   <li> {@extLink security_guide_overview
+ *     Java Security Overview} </li>
  *
- *   <li><a href=
- *     "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
- *     <b>How to Implement a Provider in the
- *     Java&trade; Cryptography Architecture
- *     </b></a></li>
+ *   <li> {@extLink security_guide_impl_provider
+ *     How to Implement a Provider in the Java Cryptography Architecture}</li>
  *
- *   <li><a href=
- *     "{@docRoot}/../technotes/guides/security/PolicyFiles.html"><b>
- *     Default Policy Implementation and Policy File Syntax
- *     </b></a></li>
+ *   <li> {@extLink security_guide_default_policy
+ *     Default Policy Implementation and Policy File Syntax}</li>
  *
- *   <li><a href=
- *     "{@docRoot}/../technotes/guides/security/permissions.html"><b>
- *     Permissions in the
- *     Java&trade; SE Development Kit (JDK)
- *     </b></a></li>
+ *   <li> {@extLink security_guide_permissions
+ *     Permissions in the Java Development Kit (JDK)}</li>
  *
- *   <li><a href=
- *     "{@docRoot}/../technotes/guides/security/SecurityToolsSummary.html"><b>
- *     Summary of Tools for
- *     Java&trade; Platform Security
- *     </b></a></li>
- *
- *   <li><b>keytool</b>
- *     (<a href="{@docRoot}/../technotes/tools/unix/keytool.html">
- *       for Solaris/Linux</a>)
- *     (<a href="{@docRoot}/../technotes/tools/windows/keytool.html">
- *       for Windows</a>)
- *     </li>
- *
- *   <li><b>jarsigner</b>
- *     (<a href="{@docRoot}/../technotes/tools/unix/jarsigner.html">
- *       for Solaris/Linux</a>)
- *     (<a href="{@docRoot}/../technotes/tools/windows/jarsigner.html">
- *       for Windows</a>)
- *     </li>
+ *   <li> {@extLink security_guide_tools
+ *     Summary of Tools for Java Platform Security}
+ *     (for example {@code keytool} and {@code jarsigner}),</li>
  *
  * </ul>
  *
--- a/src/java.base/share/classes/java/security/spec/package-info.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/java/security/spec/package-info.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2017, 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
@@ -54,18 +54,10 @@
  * For documentation that includes information about algorithm parameter
  * and key specifications, please see:
  * <ul>
- *   <li>
- *     <a href=
- *       "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
- *       <b>Java&trade;
- *       Cryptography Architecture API Specification and Reference
- *       </b></a></li>
- *   <li>
- *     <a href=
- *       "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
- *       <b>How to Implement a Provider for the
- *       Java&trade; Cryptography Architecture
- *       </b></a></li>
+ *   <li> {@extLink security_guide_jca
+ *       Java Cryptography Architecture (JCA) Reference Guide}</li>
+ *   <li> {@extLink security_guide_impl_provider
+ *       How to Implement a Provider in the Java Cryptography Architecture}</li>
  * </ul>
  *
  * @since 1.2
--- a/src/java.base/share/classes/javax/crypto/Cipher.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/crypto/Cipher.java	Tue Jun 20 12:57:42 2017 -0700
@@ -2616,11 +2616,9 @@
      * according to the installed JCE jurisdiction policy files. If
      * JCE unlimited strength jurisdiction policy files are installed,
      * Integer.MAX_VALUE will be returned.
-     * For more information on default key size in JCE jurisdiction
-     * policy files, please see Appendix E in the
-     * <a href=
-     *   "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppC">
-     * Java Cryptography Architecture Reference Guide</a>.
+     * For more information on the default key sizes and the JCE jurisdiction
+     * policy files, please see the Cryptographic defaults and limitations in
+     * the {@extLink security_guide_jdk_providers JDK Providers Documentation}.
      *
      * @param transformation the cipher transformation.
      * @return the maximum key length in bits or Integer.MAX_VALUE.
--- a/src/java.base/share/classes/javax/crypto/EncryptedPrivateKeyInfo.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/crypto/EncryptedPrivateKeyInfo.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2017, 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
@@ -116,10 +116,9 @@
      * e.g. EncryptedPrivateKeyInfo(AlgorithmParameters, byte[]),
      * should be used.
      *
-     * @param algName encryption algorithm name. See Appendix A in the
-     * <a href=
-     *   "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppA">
-     * Java Cryptography Architecture Reference Guide</a>
+     * @param algName encryption algorithm name. See the
+     * <a href="{@docRoot}/../specs/security/standard-names.html">
+     * Java Security Standard Algorithm Names</a> document
      * for information about standard Cipher algorithm names.
      * @param encryptedData encrypted data. The contents of
      * <code>encrypedData</code> are copied to protect against subsequent
@@ -199,10 +198,8 @@
      * Returns the encryption algorithm.
      * <p>Note: Standard name is returned instead of the specified one
      * in the constructor when such mapping is available.
-     * See Appendix A in the
-     * <a href=
-     *   "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppA">
-     * Java Cryptography Architecture Reference Guide</a>
+     * See the <a href="{@docRoot}/../specs/security/standard-names.html">
+     * Java Security Standard Algorithm Names</a> document
      * for information about standard Cipher algorithm names.
      *
      * @return the encryption algorithm name.
--- a/src/java.base/share/classes/javax/crypto/KeyGenerator.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/crypto/KeyGenerator.java	Tue Jun 20 12:57:42 2017 -0700
@@ -84,8 +84,7 @@
  * (via a call to an {@code init} method), each provider must
  * supply (and document) a default initialization.
  * See the Keysize Restriction sections of the
- * <a href="{@docRoot}/../technotes/guides/security/SunProviders.html">
- * JDK Providers</a>
+ * {@extLink security_guide_jdk_providers JDK Providers}
  * document for information on the KeyGenerator defaults used by
  * JDK providers.
  * However, note that defaults may vary across different providers.
--- a/src/java.base/share/classes/javax/crypto/KeyGeneratorSpi.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/crypto/KeyGeneratorSpi.java	Tue Jun 20 12:57:42 2017 -0700
@@ -39,8 +39,7 @@
  * (via a call to an {@code init} method), each provider must
  * supply (and document) a default initialization.
  * See the Keysize Restriction sections of the
- * <a href="{@docRoot}/../technotes/guides/security/SunProviders.html">
- * JDK Providers</a>
+ * {@extLink security_guide_jdk_providers JDK Providers}
  * document for information on the KeyGenerator defaults used by
  * JDK providers.
  * However, note that defaults may vary across different providers.
--- a/src/java.base/share/classes/javax/crypto/interfaces/package-info.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/crypto/interfaces/package-info.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2017, 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
@@ -39,10 +39,8 @@
  * developer guide:
  *
  * <ul>
- *   <li><a href=
- *     "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
- *     <b>How to Implement a Provider for the Java&trade; Cryptography Architecture
- *     </b></a></li>
+ *   <li> {@extLink security_guide_impl_provider
+ *     How to Implement a Provider in the Java Cryptography Architecture}</li>
  * </ul>
  *
  * <h2>Package Specification</h2>
@@ -57,10 +55,8 @@
  * For further documentation, please see:
  * <ul>
  *   <li>
- *     <a href=
- *       "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
- *       <b>Java&trade; Cryptography Architecture API Specification and Reference
- *       </b></a></li>
+ *     {@extLink security_guide_jca
+ *       Java Cryptography Architecture (JCA) Reference Guide}</li>
  * </ul>
  *
  * @since 1.4
--- a/src/java.base/share/classes/javax/crypto/package-info.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/crypto/package-info.java	Tue Jun 20 12:57:42 2017 -0700
@@ -43,7 +43,7 @@
  *
  * <ul>
  *   <li><a href="{@docRoot}/../specs/security/standard-names.html">
- *     <b>Java&trade; Security Standard Algorithm Names Specification
+ *     <b>Java Security Standard Algorithm Names Specification
  *     </b></a></li>
  * </ul>
  *
@@ -52,15 +52,11 @@
  * For further documentation, please see:
  * <ul>
  *   <li>
- *     <a href=
- *       "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
- *       <b>Java&trade; Cryptography Architecture (JCA) Reference Guide
- *       </b></a></li>
+ *     {@extLink security_guide_jca
+ *       Java Cryptography Architecture (JCA) Reference Guide}</li>
  *   <li>
- *     <a href=
- *       "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
- *       <b>How to Implement a Provider in the Java&trade; Cryptography
- *          Architecture </b></a></li>
+ *     {@extLink security_guide_impl_provider
+ *       How to Implement a Provider in the Java Cryptography Architecture}</li>
  * </ul>
  *
  * @since 1.4
--- a/src/java.base/share/classes/javax/crypto/spec/SecretKeySpec.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/crypto/spec/SecretKeySpec.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2017, 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
@@ -81,9 +81,8 @@
      * the array are copied to protect against subsequent modification.
      * @param algorithm the name of the secret-key algorithm to be associated
      * with the given key material.
-     * See Appendix A in the <a href=
-     *   "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppA">
-     * Java Cryptography Architecture Reference Guide</a>
+     * See the <a href="{@docRoot}/../specs/security/standard-names.html">
+     * Java Security Standard Algorithm Names</a> document
      * for information about standard algorithm names.
      * @exception IllegalArgumentException if <code>algorithm</code>
      * is null or <code>key</code> is null or empty.
@@ -126,9 +125,8 @@
      * @param len the length of the key material.
      * @param algorithm the name of the secret-key algorithm to be associated
      * with the given key material.
-     * See Appendix A in the <a href=
-     *   "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppA">
-     * Java Cryptography Architecture Reference Guide</a>
+     * See the <a href="{@docRoot}/../specs/security/standard-names.html">
+     * Java Security Standard Algorithm Names</a> document
      * for information about standard algorithm names.
      * @exception IllegalArgumentException if <code>algorithm</code>
      * is null or <code>key</code> is null, empty, or too short,
--- a/src/java.base/share/classes/javax/crypto/spec/package-info.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/crypto/spec/package-info.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2017, 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
@@ -57,16 +57,11 @@
  *
  * <ul>
  * <li>
- *  <a href=
- *    "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
- *    <b>Java&trade; Cryptography Architecture API Specification and Reference
- *    </b></a></li>
+ *    {@extLink security_guide_jca
+ *      Java Cryptography Architecture (JCA) Reference Guide} </li>
  * <li>
- *  <a href=
- *    "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
- *    <b>How to Implement a Provider for the
- *    Java&trade; Cryptography Architecture
- *    </b></a></li>
+ *    {@extLink security_guide_impl_provider
+ *      How to Implement a Provider in the Java Cryptography Architecture}</li>
  * </ul>
  *
  * @since 1.4
--- a/src/java.base/share/classes/javax/net/ssl/ExtendedSSLSession.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/net/ssl/ExtendedSSLSession.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2017, 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
@@ -44,9 +44,9 @@
      * <p>
      * The signature algorithm name must be a standard Java Security
      * name (such as "SHA1withRSA", "SHA256withECDSA", and so on).
-     * See Appendix A in the <a href=
-     * "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppA">
-     * Java Cryptography Architecture API Specification &amp; Reference </a>
+     * See the <a href=
+     * "{@docRoot}/../specs/security/standard-names.html">
+     * Java Security Standard Algorithm Names</a> document
      * for information about standard algorithm names.
      * <p>
      * Note: the local supported signature algorithms should conform to
@@ -72,9 +72,9 @@
      * <p>
      * The signature algorithm name must be a standard Java Security
      * name (such as "SHA1withRSA", "SHA256withECDSA", and so on).
-     * See Appendix A in the <a href=
-     * "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppA">
-     * Java Cryptography Architecture API Specification &amp; Reference </a>
+     * See the <a href=
+     * "{@docRoot}/../specs/security/standard-names.html">
+     * Java Security Standard Algorithm Names</a> document
      * for information about standard algorithm names.
      *
      * @return An array of supported signature algorithms, in descending
--- a/src/java.base/share/classes/javax/net/ssl/KeyManagerFactory.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/net/ssl/KeyManagerFactory.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2017, 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
@@ -127,8 +127,8 @@
      *
      * @param algorithm the standard name of the requested algorithm.
      *          See the <a href=
-     *  "{@docRoot}/../technotes/guides/security/jsse/JSSERefGuide.html">
-     *          Java Secure Socket Extension Reference Guide </a>
+     *          "{@docRoot}/../specs/security/standard-names.html">
+     *          Java Security Standard Algorithm Names</a> document
      *          for information about standard algorithm names.
      *
      * @return the new {@code KeyManagerFactory} object
@@ -165,8 +165,8 @@
 
      * @param algorithm the standard name of the requested algorithm.
      *          See the <a href=
-     *  "{@docRoot}/../technotes/guides/security/jsse/JSSERefGuide.html">
-     *          Java Secure Socket Extension Reference Guide </a>
+     *          "{@docRoot}/../specs/security/standard-names.html">
+     *          Java Security Standard Algorithm Names</a> document
      *          for information about standard algorithm names.
      *
      * @param provider the name of the provider.
@@ -209,8 +209,8 @@
      *
      * @param algorithm the standard name of the requested algorithm.
      *          See the <a href=
-     *  "{@docRoot}/../technotes/guides/security/jsse/JSSERefGuide.html">
-     *          Java Secure Socket Extension Reference Guide </a>
+     *          "{@docRoot}/../specs/security/standard-names.html">
+     *          Java Security Standard Algorithm Names</a> document
      *          for information about standard algorithm names.
      *
      * @param provider an instance of the provider.
--- a/src/java.base/share/classes/javax/net/ssl/SSLParameters.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/net/ssl/SSLParameters.java	Tue Jun 20 12:57:42 2017 -0700
@@ -294,9 +294,10 @@
      * SSL/TLS/DTLS handshaking.  This is to prevent man-in-the-middle attacks.
      *
      * @param algorithm The standard string name of the endpoint
-     *     identification algorithm (or null).  See Appendix A in the <a href=
-     *   "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppA">
-     *     Java Cryptography Architecture API Specification &amp; Reference </a>
+     *     identification algorithm (or null).
+     *     See the <a href=
+     *     "{@docRoot}/../specs/security/standard-names.html">
+     *     Java Security Standard Algorithm Names</a> document
      *     for information about standard algorithm names.
      *
      * @see X509ExtendedTrustManager
--- a/src/java.base/share/classes/javax/net/ssl/TrustManagerFactory.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.base/share/classes/javax/net/ssl/TrustManagerFactory.java	Tue Jun 20 12:57:42 2017 -0700
@@ -141,8 +141,8 @@
      *
      * @param algorithm the standard name of the requested trust management
      *          algorithm.  See the <a href=
-     *  "{@docRoot}/../technotes/guides/security/jsse/JSSERefGuide.html">
-     *          Java Secure Socket Extension Reference Guide </a>
+     *          "{@docRoot}/../specs/security/standard-names.html">
+     *          Java Security Standard Algorithm Names</a> document
      *          for information about standard algorithm names.
      *
      * @return the new {@code TrustManagerFactory} object
@@ -179,8 +179,8 @@
      *
      * @param algorithm the standard name of the requested trust management
      *          algorithm.  See the <a href=
-     *  "{@docRoot}/../technotes/guides/security/jsse/JSSERefGuide.html">
-     *          Java Secure Socket Extension Reference Guide </a>
+     *          "{@docRoot}/../specs/security/standard-names.html">
+     *          Java Security Standard Algorithm Names</a> document
      *          for information about standard algorithm names.
      *
      * @param provider the name of the provider.
@@ -223,8 +223,8 @@
      *
      * @param algorithm the standard name of the requested trust management
      *          algorithm.  See the <a href=
-     *  "{@docRoot}/../technotes/guides/security/jsse/JSSERefGuide.html">
-     *          Java Secure Socket Extension Reference Guide </a>
+     *          "{@docRoot}/../specs/security/standard-names.html">
+     *          Java Security Standard Algorithm Names</a> document
      *          for information about standard algorithm names.
      *
      * @param provider an instance of the provider.
--- a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2017, 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
@@ -100,9 +100,9 @@
      * <p>If the input name does not contain a realm, the default realm
      * is used. The default realm can be specified either in a Kerberos
      * configuration file or via the java.security.krb5.realm
-     * system property. For more information, see
-     * <a href="../../../../../technotes/guides/security/jgss/tutorials/index.html">
-     * Kerberos Requirements</a>. Additionally, if a security manager is
+     * system property. For more information, see the
+     * {@extLink security_guide_jgss_tutorial Kerberos Requirements}.
+     * Additionally, if a security manager is
      * installed, a {@link ServicePermission} must be granted and the service
      * principal of the permission must minimally be inside the
      * {@code KerberosPrincipal}'s realm. For example, if the result of
@@ -140,9 +140,9 @@
      * <p>If the input name does not contain a realm, the default realm
      * is used. The default realm can be specified either in a Kerberos
      * configuration file or via the java.security.krb5.realm
-     * system property. For more information, see
-     * <a href="../../../../../technotes/guides/security/jgss/tutorials/index.html">
-     * Kerberos Requirements</a>. Additionally, if a security manager is
+     * system property. For more information, see the
+     * {@extLink security_guide_jgss_tutorial Kerberos Requirements}.
+     * Additionally, if a security manager is
      * installed, a {@link ServicePermission} must be granted and the service
      * principal of the permission must minimally be inside the
      * {@code KerberosPrincipal}'s realm. For example, if the result of
--- a/src/java.security.jgss/share/classes/org/ietf/jgss/package.html	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.security.jgss/share/classes/org/ietf/jgss/package.html	Tue Jun 20 12:57:42 2017 -0700
@@ -100,7 +100,8 @@
 <h2>Related Documentation</h2>
 <p>
 For an online tutorial on using Java GSS-API, please see
-<a href="../../../../technotes/guides/security/jgss/tutorials/index.html">Introduction to JAAS and Java GSS-API</a>.
+{@extLink security_guide_jgss_tutorial
+Introduction to JAAS and Java GSS-API}.
 </p>
 
 <!--
--- a/src/java.security.sasl/share/classes/javax/security/sasl/Sasl.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.security.sasl/share/classes/javax/security/sasl/Sasl.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2017, 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
@@ -280,8 +280,9 @@
      * Creates a {@code SaslClient} using the parameters supplied.
      *
      * This method uses the
-<a href="{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#Provider">JCA Security Provider Framework</a>, described in the
-     * "Java Cryptography Architecture API Specification &amp; Reference", for
+     * {@extLink security_guide_jca JCA Security Provider Framework},
+     * described in the
+     * "Java Cryptography Architecture (JCA) Reference Guide", for
      * locating and selecting a {@code SaslClient} implementation.
      *
      * First, it
@@ -429,10 +430,10 @@
      * Creates a {@code SaslServer} for the specified mechanism.
      *
      * This method uses the
-<a href="{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#Provider">JCA Security Provider Framework</a>,
+     * {@extLink security_guide_jca JCA Security Provider Framework},
      * described in the
-     * "Java Cryptography Architecture API Specification &amp; Reference", for
-     * locating and selecting a {@code SaslServer} implementation.
+     * "Java Cryptography Architecture (JCA) Reference Guide", for
+     * locating and selecting a {@code SaslClient} implementation.
      *
      * First, it
      * obtains an ordered list of {@code SaslServerFactory} instances from
--- a/src/java.security.sasl/share/classes/javax/security/sasl/package-info.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.security.sasl/share/classes/javax/security/sasl/package-info.java	Tue Jun 20 12:57:42 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2017, 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
@@ -95,8 +95,8 @@
  * <h2>Related Documentation</h2>
  *
  * Please refer to the
- * <a href="../../../../technotes/guides/security/sasl/sasl-refguide.html">Java
- * SASL Programming Guide</a> for information on how to use this API.
+ * {@extLink security_guide_sasl Java SASL Programming Guide}
+ * for information on how to use this API.
  *
  * @since 1.5
  */
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/TransformService.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/TransformService.java	Tue Jun 20 12:57:42 2017 -0700
@@ -69,11 +69,10 @@
  * <code>TransformService</code> implementations that support the DOM
  * mechanism type must abide by the DOM interoperability requirements defined
  * in the
- * <a href="../../../../../technotes/guides/security/xmldsig/overview.html#DOM%20Mechanism%20Requirements">
- * DOM Mechanism Requirements</a> section of the API overview. See the
- * <a href="../../../../../technotes/guides/security/xmldsig/overview.html#Service%20Provider">
- * Service Providers</a> section of the API overview for a list of standard
- * mechanism types.
+ * {@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.
  * <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	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java	Tue Jun 20 12:57:42 2017 -0700
@@ -66,11 +66,10 @@
  *
  * <p>The objects that this factory produces will be based
  * on DOM and abide by the DOM interoperability requirements as defined in the
- * <a href="../../../../../technotes/guides/security/xmldsig/overview.html#DOM%20Mechanism%20Requirements">
- * DOM Mechanism Requirements</a> section of the API overview. See the
- * <a href="../../../../../technotes/guides/security/xmldsig/overview.html#Service%20Provider">
- * Service Providers</a> section of the API overview for a list of standard
- * mechanism types.
+ * {@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.
  *
  * <p><code>XMLSignatureFactory</code> implementations are registered and loaded
  * using the {@link java.security.Provider} mechanism.
@@ -181,9 +180,8 @@
      * {@link Security#getProviders() Security.getProviders()}.
      *
      * @param mechanismType the type of the XML processing mechanism and
-     *    representation. See the <a
-     *    href="../../../../../technotes/guides/security/xmldsig/overview.html#Service%20Provider">
-     *    Service Providers</a> section of the API overview for a list of
+     *    representation. See the {@extLink security_guide_xmldsig_provider
+     *    Service Providers} section of the API overview for a list of
      *    standard mechanism types.
      * @return a new <code>XMLSignatureFactory</code>
      * @throws NullPointerException if <code>mechanismType</code> is
@@ -227,9 +225,8 @@
      * provider list.
      *
      * @param mechanismType the type of the XML processing mechanism and
-     *    representation. See the <a
-     *    href="../../../../../technotes/guides/security/xmldsig/overview.html#Service%20Provider">
-     *    Service Providers</a> section of the API overview for a list of
+     *    representation. See the {@extLink security_guide_xmldsig_provider
+     *    Service Providers} section of the API overview for a list of
      *    standard mechanism types.
      * @param provider the <code>Provider</code> object
      * @return a new <code>XMLSignatureFactory</code>
@@ -279,9 +276,8 @@
      * the {@link Security#getProviders() Security.getProviders()} method.
      *
      * @param mechanismType the type of the XML processing mechanism and
-     *    representation. See the <a
-     *    href="../../../../../technotes/guides/security/xmldsig/overview.html#Service%20Provider">
-     *    Service Providers</a> section of the API overview for a list of
+     *    representation. See the {@extLink security_guide_xmldsig_provider
+     *    Service Providers} section of the API overview for a list of
      *    standard mechanism types.
      * @param provider the string name of the provider
      * @return a new <code>XMLSignatureFactory</code>
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java	Tue Jun 20 14:11:20 2017 -0400
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java	Tue Jun 20 12:57:42 2017 -0700
@@ -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
- * <a href="../../../../../../technotes/guides/security/xmldsig/overview.html#DOM%20Mechanism%20Requirements">
- * DOM Mechanism Requirements</a> section of the API overview. See the
- * <a href="../../../../../../technotes/guides/security/xmldsig/overview.html#Service%20Provider">
- * Service Providers</a> section of the API overview for a list of standard
- * mechanism types.
+ * {@extLink security_guide_xmldsig_rqmts DOM Mechanism Requirements} section
+ * of the API overview.  See the <a href=
+ * "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
+ * Java Security Standard Algorithm Names</a> document
+ * for more information.
  *
  * <p><code>KeyInfoFactory</code> implementations are registered and loaded
  * using the {@link java.security.Provider} mechanism.
@@ -137,10 +137,10 @@
      * {@link Security#getProviders() Security.getProviders()}.
      *
      * @param mechanismType the type of the XML processing mechanism and
-     *    representation. See the <a
-     *    href="../../../../../../technotes/guides/security/xmldsig/overview.html#Service%20Provider">
-     *    Service Providers</a> section of the API overview for a list of
-     *    standard mechanism types.
+     *    representation.  See the <a href=
+     *    "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
+     *    Java Security Standard Algorithm Names</a> document
+     * for more information.
      * @return a new <code>KeyInfoFactory</code>
      * @throws NullPointerException if <code>mechanismType</code> is
      *    <code>null</code>
@@ -182,10 +182,10 @@
      * provider list.
      *
      * @param mechanismType the type of the XML processing mechanism and
-     *    representation. See the <a
-     *    href="../../../../../../technotes/guides/security/xmldsig/overview.html#Service%20Provider">
-     *    Service Providers</a> section of the API overview for a list of
-     *    standard mechanism types.
+     *    representation.  See the <a href=
+     *    "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
+     *    Java Security Standard Algorithm Names</a> document
+     *    for more information.
      * @param provider the <code>Provider</code> object
      * @return a new <code>KeyInfoFactory</code>
      * @throws NullPointerException if <code>mechanismType</code> or
@@ -233,10 +233,10 @@
      * the {@link Security#getProviders() Security.getProviders()} method.
      *
      * @param mechanismType the type of the XML processing mechanism and
-     *    representation. See the <a
-     *    href="../../../../../../technotes/guides/security/xmldsig/overview.html#Service%20Provider">
-     *    Service Providers</a> section of the API overview for a list of
-     *    standard mechanism types.
+     *    representation.  See the <a href=
+     *    "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
+     *    Java Security Standard Algorithm Names</a> document
+     *    for more information.
      * @param provider the string name of the provider
      * @return a new <code>KeyInfoFactory</code>
      * @throws NoSuchProviderException if the specified provider is not