Author: markt
Date: Wed Sep 12 18:49:31 2018
New Revision: 1840737
URL: http://svn.apache.org/viewvc?rev=1840737&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=62712
Correct NPE in Manager application when attempting to view configured
certificates for an APR/native TLS connector.
Modified:
tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java
tomcat/trunk/webapps/docs/changelog.xml
Modified: tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=1840737&r1=1840736&r2=1840737&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java (original)
+++ tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java Wed Sep
12 18:49:31 2018
@@ -1806,25 +1806,33 @@ public class ManagerServlet extends Http
if (Boolean.TRUE.equals(connector.getProperty("SSLEnabled"))) {
SSLHostConfig[] sslHostConfigs =
connector.getProtocolHandler().findSslHostConfigs();
for (SSLHostConfig sslHostConfig : sslHostConfigs) {
- Set<SSLHostConfigCertificate> sslHostConfigCerts =
- sslHostConfig.getCertificates();
- for (SSLHostConfigCertificate sslHostConfigCert :
sslHostConfigCerts) {
- String name = connector.toString() + "-" +
sslHostConfig.getHostName() +
- "-" + sslHostConfigCert.getType();
- List<String> certList = new ArrayList<>();
- SSLContext sslContext =
sslHostConfigCert.getSslContext();
- String alias =
sslHostConfigCert.getCertificateKeyAlias();
- if (alias == null) {
- alias = "tomcat";
- }
- X509Certificate[] certs =
sslContext.getCertificateChain(alias);
- if (certs == null) {
-
certList.add(sm.getString("managerServlet.certsNotAvailable"));
- } else {
- for (Certificate cert : certs) {
- certList.add(cert.toString());
+ if (sslHostConfig.getOpenSslContext().longValue() == 0) {
+ // Not set. Must be JSSE based.
+ Set<SSLHostConfigCertificate> sslHostConfigCerts =
+ sslHostConfig.getCertificates();
+ for (SSLHostConfigCertificate sslHostConfigCert :
sslHostConfigCerts) {
+ String name = connector.toString() + "-" +
sslHostConfig.getHostName() +
+ "-" + sslHostConfigCert.getType();
+ List<String> certList = new ArrayList<>();
+ SSLContext sslContext =
sslHostConfigCert.getSslContext();
+ String alias =
sslHostConfigCert.getCertificateKeyAlias();
+ if (alias == null) {
+ alias = "tomcat";
}
+ X509Certificate[] certs =
sslContext.getCertificateChain(alias);
+ if (certs == null) {
+
certList.add(sm.getString("managerServlet.certsNotAvailable"));
+ } else {
+ for (Certificate cert : certs) {
+ certList.add(cert.toString());
+ }
+ }
+ result.put(name, certList);
}
+ } else {
+ List<String> certList = new ArrayList<>();
+
certList.add(sm.getString("managerServlet.certsNotAvailable"));
+ String name = connector.toString() + "-" +
sslHostConfig.getHostName();
result.put(name, certList);
}
}
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1840737&r1=1840736&r2=1840737&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Sep 12 18:49:31 2018
@@ -70,6 +70,14 @@
</fix>
</changelog>
</subsection>
+ <subsection name="Web applications">
+ <changelog>
+ <fix>
+ <bug>62712</bug>: Correct NPE in Manager application when attempting to
+ view configured certificates for an APR/native TLS connector. (markt)
+ </fix>
+ </changelog>
+ </subsection>
<subsection name="Other">
<changelog>
<fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]