You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2018/09/12 18:49:32 UTC
svn commit: r1840737 - in /tomcat/trunk:
java/org/apache/catalina/manager/ManagerServlet.java
webapps/docs/changelog.xml
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: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org