Hi Chris,

Just attached the outputs logs and my server.xml including my ecdsa cert.
in keystoreand s_client outputs.txt file i have attached all the required
cert and keystore outputs.

What client are you using to attempt the handshake? i am using openssl
command line utility to test

What error(s) do you get with the handshake?  secure negotiation not
supported

If you configure *only* ESDSA, can you handshake? Or does ECDSA never
work?   correct ECDSA never work for me.
here in my case on port 443 i hosted only ECDSA keystore and on 8443 i have
hosted RSA keystore.
8443 works like charm and 443 is down

Thanks,
Madhan.

On Thu, Jun 11, 2020 at 1:47 PM Christopher Schultz <
ch...@christopherschultz.net> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Madhan,
>
> On 6/10/20 22:08, Madhan Raj wrote:
> > Any insights please .
>
> How did you create your certificate?
>
> What are the details of your certificate and key? For example, which
> curve are you using? How many key bits? What type of signature on the
> certificate? What is the alias for that certificate in your keystore?
> Does it match what you have configured in Tomcat? Do you have a
> password on your keystore? Are you setting that correctly in your
> <Certificate> element? (I see no password in your posted config.)
>
> What client are you using to attempt the handshake?
>
> What error(s) do you get with the handshake?
>
> If you configure *only* ESDSA, can you handshake? Or does ECDSA never
> work?
>
> You haven't give us much to go on, other than "I can't get ESDSA to
> work" when it's pretty clear others can get it to work.
>
> - -chris
>
> > On Thu, 4 Jun, 2020, 11:12 pm Madhan Raj, <madhanra...@gmail.com
> > <mailto:madhanra...@gmail.com>> wrote:
> >
> > Hi Christopher,
> >
> > Yes you correct I can only complete a handshake with RSA cert, not
> > ECDSA cert. when i try to connect with ECDSA ciphers using
> > s_client negotiation fails. Madhan
> >
> > On Thu, Jun 4, 2020 at 12:41 PM Christopher Schultz
> > <ch...@christopherschultz.net
> > <mailto:ch...@christopherschultz.net>> wrote:
> >
> > Madhan,
> >
> > On 6/3/20 21:08, Madhan Raj wrote:
> >> OS - CentOS 7.6.1810( Core)
> >
> >> Below connector doesn't load my EC keystore whereas it works
> >> with RSA . Any insights please .
> >
> > When you say "doesn't load", what do you mean? Possible reasonable
> > responses are:
> >
> > 1. I can only complete a handshake with RSA cert, not ECDSA cert 2.
> > Error message (please post) 3. JVM crashes 4. OS crashes 5.
> > Universe ends (possible, but unlikely to be reproducible)
> >
> >> this is my connector tag  in server.xml <Connector
> >> SSLEnabled="true" URIEncoding="UTF-8"  maxThreads="200"
> >> port="443" scheme="https" secure="true"
> >> protocol="org.apache.coyote.http11.Http11NioProtocol"
> >
> > sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementat
> >
> >
> ion"
> >
> >
> > disableUploadTimeout="true" enableLookups="false"
> > maxHttpHeaderSize="819 2"
> >> minSpareThreads="25"> <SSLHostConfig sslProtocol="TLS"
> >> certificateVerification="none" sessionTimeout="1800"
> >> protocols="TLSv1,TLSv1.1,TLSv1.2,TLSv1.3"
> >
> > ciphers="ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECD
> >
> >
> HE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:AES256-SHA:DHE-DS
> > S-AES256-SHA:AES128-SHA:DHE-RSA-AES128-SHA"
> >
> >
> > sessionCacheSize="10000">
> >> <Certificate certificateKeyAlias="tomcat-ecdsa"
> >
> > certificateKeystoreFile="/usr/local/platform/.security/tomcat-ECDSA/ce
> >
> >
> rts/tomcat-ECDSA.keystore"
> >
> >
> > certificateKeystorePassword="8o8yeAH2qSJbJ2sn"
> >> certificateKeystoreType="PKCS12" type="EC"/> </SSLHostConfig>
> >> </Connector>
> >
> >> tomcat start up command used :- /home/tomcat/tomcat -user tomcat
> >> -home /usr/local/thirdparty/java/j2sdk -pidfile
> >> /usr/local/thirdparty/jakarta-tomcat/conf/tomcat.pid -procname
> >> /home/tomcat/tomcat -outfile
> >> /usr/local/thirdparty/jakarta-tomcat/logs/catalina.out -errfile
> >> &1 -Djdk.tls.ephemeralDHKeySize=2048
> >> -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
> >> -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
> >
> > -Djava.util.logging.config.file=/usr/local/thirdparty/jakarta-tomcat/c
> >
> >
> onf/logging.properties
> >
> >
> > -
> > -agentlib:jdwp=transport=dt_socket,address=localhost:8000,server=y,sus
> pe
> >
> >
> nd=n
> >> -XX:+UseParallelGC -XX:GCTimeRatio=99 -XX:MaxGCPauseMillis=80
> >> -Xmx1824m -Xms256m
> >> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
> >>
> >>
> - -cp
> >
> > /usr/local/thirdparty/jakarta-tomcat/bin/bootstrap.jar:/usr/local/thir
> >
> >
> dparty/jakarta-tomcat/bin/tomcat-juli.jar
> >
> >
> > -
> > -Djava.security.policy==/usr/local/thirdparty/jakarta-tomcat/conf/cata
> li
> >
> >
> na.policy
> >> -Dcatalina.base=/usr/local/thirdparty/jakarta-tomcat
> >> -Dcatalina.home=/usr/local/thirdparty/jakarta-tomcat
> >> -Djava.io.tmpdir=/usr/local/thirdparty/jakarta-tomcat/temp
> >> org.apache.catalina.startup.Bootstrap start'
> >
> >> JAVA_OPTS= -Djava.library.path=$LD_LIBRARY_PATH
> >> -Djavax.net.ssl.sessionCacheSize=10000
> >
> > -Djavax.net.ssl.trustStore=/usr/local/platform/.security/tomcat/trust-
> >
> >
> certs/tomcat-trust.keystore
> >
> >
> > -Djavax.net.ssl.trustStorePassword=$TRUST_STORE_PASSWORD
> >
> > -XX:ErrorFile=$CATALINA_HOME/logs/diagnostic-info.jvm-crash.%p.tomcat.
> >
> >
> txt
> >
> >
> > -Dsun.zip.disableMemoryMapping=true
> >> -XX:OnOutOfMemoryError=/home/tomcat/tomcat_diagnostics.sh
> >> -XX:OnError=/home/tomcat/tomcat_diagnostics.sh $TOMCAT_JAVA_OPTS
> >
> >> Also can i have both RSA and ECDSA in a single keystore. Will
> >> that work in tomcat 9?
> >
> > Yes. You have to use two <Certificate> elements each with a
> > different "type" and "certificateKeyAlias"
> >
> >> it used to work with tomat 7
> >
> > It still works with Tomcat 9.
> >
> > -chris
> >
> -----BEGIN PGP SIGNATURE-----
> Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/
>
> iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAl7ibjkACgkQHPApP6U8
> pFheVg//akO4QY2HP7S7zfseHqH3lb1ZsU4JxjGkCXNCGhX1lju3tAaGEqAEb/VG
> ecnGaf/lvdhKlcNfI26ZdRjb0QM6CWwrhIvrnkRe8Yf5kYHFMRkIkllMMF27hhGd
> aJV2urneiP8S2vHVVqyVnR+lZklIkm/TyC5h31E1lE/J0urE/ZE/hzB9IEPly9Bc
> x7dbI22pA40ZpQgj+1vLRvdvjziQCo9I1erpy3IJhjsx9Ro30GBY+UZ3gNKtrOID
> HEi5+gQO2TdKV+k3D41fF5t0GJY119T98O4Hat1/R49XgHOPw290PP2i4eswhXG1
> kGfTeRpTB7WI2X050RNWJL80Mb4HShi0VwtYhLdPaelR/0aqefFHGu03VB33+vRm
> FxMoKpKyHo1DqnaKuTBxFCdLHpwjGP2GWWC9zRyBPc5WIuClf9xgIkagCENs3UvG
> CDVjtG5qhOw681rGSAO/zYa+DnKahyc+xar44xlfewxbtuMpI47vYilH4vehnEsl
> /BawOct37LFauSY8sp0Rbr2CGgmjoCI4M1TvIN9xVrXhSpsu8RHXAzj0fEWmKh+u
> Is3Jpy/4tQtMC5QAtiPjxPHVfy8WvU15ZkGBhGgsfTXaZ+FushdMYRCUHc2sR3dX
> cchXIjQjHg7b1/Lvp3/TbLXhbRMjcdSpiJgdH1ZxOHbJT+JroZs=
> =p/97
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>
Keystore contents:- 
====================
[root@sapphire-69 conf]# keytool -list -v -keystore 
/usr/local/platform/.security/tomcat-ECDSA/certs/tomcat-ECDSA.keystore 
-storepass iY4VjgcxNrTLp57b  -storetype PKCS12        log4j:WARN No appenders 
could be found for logger (com.cisco.ciscossl.provider.ciscojce.CiscoJEnv).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more 
info.
Keystore type: PKCS12
Keystore provider: JsafeJCE

Your keystore contains 1 entry

Alias name: tomcat-ecdsa
Creation date: Jun 12, 2020
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: L=blr, ST=kr, CN=sapphire-69-EC, OU=cisco, O=infy, C=IN
Issuer: L=blr, ST=kr, CN=sapphire-69-EC, OU=cisco, O=infy, C=IN
Serial number: 703207837aaf6435a4fe54255a7e7e40
Valid from: Tue Jun 09 07:16:59 IST 2020 until: Sun Jun 08 07:16:58 IST 2025
Certificate fingerprints:
         MD5:  5B:9A:A7:77:47:B7:76:B4:78:28:C1:BB:28:C5:89:05
         SHA1: DC:66:1F:30:96:DF:0E:6B:CD:33:DA:EA:10:8D:76:BA:05:45:B8:C7
         SHA256: 
5E:71:71:91:0C:B9:32:B6:89:9F:F3:78:76:8E:DB:E1:E0:8A:15:B4:68:5C:A4:49:87:75:F2:CE:2A:2A:45:2E
Signature algorithm name: SHA384withECDSA
Subject Public Key Algorithm: 384-bit EC key
Version: 3


*******************************************
*******************************************



PEM file output:-
==================
[root@sapphire-69 certs]# openssl x509 -in tomcat-ECDSA.pem -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            70:32:07:83:7a:af:64:35:a4:fe:54:25:5a:7e:7e:40
    Signature Algorithm: ecdsa-with-SHA384
        Issuer: C=IN, O=infy, OU=cisco, CN=sapphire-69-EC, ST=kr, L=blr
        Validity
            Not Before: Jun  9 01:46:59 2020 GMT
            Not After : Jun  8 01:46:58 2025 GMT
        Subject: C=IN, O=infy, OU=cisco, CN=sapphire-69-EC, ST=kr, L=blr
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (384 bit)
                pub:
                    04:39:7d:6a:49:a9:87:69:0e:25:ec:a2:8a:8b:23:
                    35:0f:f3:b1:31:1f:d1:4d:9c:76:d1:31:09:43:9b:
                    25:25:2e:df:bb:ca:ba:f7:b3:37:38:65:75:a9:6b:
                    ed:83:8b:be:64:92:f1:2d:63:20:4a:27:83:98:ea:
                    2a:8d:06:7b:45:9a:e4:52:cb:13:b9:38:22:3f:a0:
                    20:cd:fb:9d:6c:c2:3c:04:dd:e9:af:f6:0a:9e:0b:
                    1e:e3:e6:ee:c7:33:8b
                ASN1 OID: secp384r1
                NIST CURVE: P-384
        X509v3 extensions:
            X509v3 Key Usage:
                Digital Signature, Key Encipherment, Data Encipherment, 
Certificate Sign
            X509v3 Extended Key Usage:
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Subject Key Identifier:
                79:B4:AF:61:3A:92:A6:A9:EA:48:2B:90:EC:C1:39:0B:44:C9:82:94
            X509v3 Basic Constraints: critical
                CA:TRUE, pathlen:0
            X509v3 Subject Alternative Name:
                DNS:sapphire-69
    Signature Algorithm: ecdsa-with-SHA384
         30:64:02:30:45:19:e4:32:d4:70:86:35:a6:05:17:3b:88:7a:
         b5:0c:e9:9e:24:86:d2:6d:cc:f2:02:2f:36:72:1c:dd:a3:f6:
         d3:d7:00:ad:30:17:59:92:57:00:e7:80:58:ed:0a:cd:02:30:
         30:2c:5d:ed:14:97:40:0a:83:c5:06:15:63:ea:03:39:b8:5d:
         fc:f5:47:ea:30:26:c3:3c:5e:59:a5:43:c3:a8:e0:6f:32:27:
         b4:ab:b2:4a:4e:fb:02:d0:3b:64:0b:02
-----BEGIN CERTIFICATE-----
MIICczCCAfqgAwIBAgIQcDIHg3qvZDWk/lQlWn5+QDAKBggqhkjOPQQDAzBgMQsw
CQYDVQQGEwJJTjENMAsGA1UECgwEaW5meTEOMAwGA1UECwwFY2lzY28xFzAVBgNV
BAMMDnNhcHBoaXJlLTY5LUVDMQswCQYDVQQIDAJrcjEMMAoGA1UEBwwDYmxyMB4X
DTIwMDYwOTAxNDY1OVoXDTI1MDYwODAxNDY1OFowYDELMAkGA1UEBhMCSU4xDTAL
BgNVBAoMBGluZnkxDjAMBgNVBAsMBWNpc2NvMRcwFQYDVQQDDA5zYXBwaGlyZS02
OS1FQzELMAkGA1UECAwCa3IxDDAKBgNVBAcMA2JscjB2MBAGByqGSM49AgEGBSuB
BAAiA2IABDl9akmph2kOJeyiiosjNQ/zsTEf0U2cdtExCUObJSUu37vKuvezNzhl
dalr7YOLvmSS8S1jIEong5jqKo0Ge0Wa5FLLE7k4Ij+gIM37nWzCPATd6a/2Cp4L
HuPm7sczi6N5MHcwCwYDVR0PBAQDAgK0MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
BgEFBQcDAjAdBgNVHQ4EFgQUebSvYTqSpqnqSCuQ7ME5C0TJgpQwEgYDVR0TAQH/
BAgwBgEB/wIBADAWBgNVHREEDzANggtzYXBwaGlyZS02OTAKBggqhkjOPQQDAwNn
ADBkAjBFGeQy1HCGNaYFFzuIerUM6Z4khtJtzPICLzZyHN2j9tPXAK0wF1mSVwDn
gFjtCs0CMDAsXe0Ul0AKg8UGFWPqAzm4Xfz1R+owJsM8XlmlQ8Oo4G8yJ7SrskpO
+wLQO2QLAg==
-----END CERTIFICATE-----


S_client outputs:- 
======================

[root@sapphire-69 certs]# openssl s_client -connect localhost:443
CONNECTED(00000003)
139656609052336:error:140790E5:SSL routines:ssl23_write:ssl handshake 
failure:s23_lib.c:177:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 247 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1591935501
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
[root@sapphire-69 certs]# openssl s_client -connect localhost:443 -cipher ECDSA
CONNECTED(00000003)
139663331243696:error:140790E5:SSL routines:ssl23_write:ssl handshake 
failure:s23_lib.c:177:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 135 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1591935508
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
on 8443  with RSA it works:- 
=============================
[root@sapphire-69 certs]# openssl s_client -connect localhost:8443 -cipher RSA
CONNECTED(00000003)
depth=0 C = IN, O = infy, OU = cisco, CN = sapphire-69, ST = kr, L = blr
verify error:num=18:self signed certificate
verify return:1
depth=0 C = IN, O = infy, OU = cisco, CN = sapphire-69, ST = kr, L = blr
verify return:1
---
Certificate chain
 0 s:/C=IN/O=infy/OU=cisco/CN=sapphire-69/ST=kr/L=blr
   i:/C=IN/O=infy/OU=cisco/CN=sapphire-69/ST=kr/L=blr
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDpTCCAo2gAwIBAgIQWBuvsdi2MyFX0H+MgqopRzANBgkqhkiG9w0BAQsFADBd
MQswCQYDVQQGEwJJTjENMAsGA1UECgwEaW5meTEOMAwGA1UECwwFY2lzY28xFDAS
BgNVBAMMC3NhcHBoaXJlLTY5MQswCQYDVQQIDAJrcjEMMAoGA1UEBwwDYmxyMB4X
DTIwMDYwOTAxNDY1M1oXDTI1MDYwODAxNDY1MlowXTELMAkGA1UEBhMCSU4xDTAL
BgNVBAoMBGluZnkxDjAMBgNVBAsMBWNpc2NvMRQwEgYDVQQDDAtzYXBwaGlyZS02
OTELMAkGA1UECAwCa3IxDDAKBgNVBAcMA2JscjCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBANHHSjwoZYPZbnz4jEJr3xuaBmHbV+DM4o9sGVLWgOfBgDVJ
NcxGf+oFo4X1kDrgJeAsuVEztefL6+j/daKSNOVPvvviCbmaY3ju8qN/zmvy2vIh
ljZuAdh5kINi0u+tQa/P8vVfP6lGVQ2Lf9FLNG5e4wQ3gLWGQyl1WJ62QToNz0Bf
gKCtzn0Q4t/YOSugFTLppexNy925L0ivx5RUPea09i1cYiM9AD7iWABdc0KRyU09
6FEyUbVBZ5EJSPCCUiTlbOgZ5clztVd978Bm4qCsHYPSiRWobA9pOIRH90KAJoeB
pQNvC/kOIqfIyoZyB5hcTGz5mzsaI1VPSpKel/0CAwEAAaNhMF8wCwYDVR0PBAQD
AgK0MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUy+rX
MAF0ylx4VZKAlaQO1t+tPPYwEgYDVR0TAQH/BAgwBgEB/wIBADANBgkqhkiG9w0B
AQsFAAOCAQEAnYTJcwwK9bBk6nRFuLj9izL/3gDS72VMLxfpvGEGSXtb+a8Pcjmu
KgvM+xHdGTFXlAQbN6aZAVwbZPSlruqCAaNyTw+8hC5U1MYK/DbXAGRYc1CsH5Q+
0CczpOChOnZsMPxr8hLmWeU59NtFEP81bGOauSWhRpTZtCbJVmSMGjoBakKya1+D
SBMtXqZ8+npChvBoooD87a/eOKbjQq05LjloLjPpIvFQFzThjdyMoS9d30detDCt
M41Tjc89qkbHOK703cyC+q1BMuasyfVPtJEWvYfC9p3X/LqnDPkG4b1HVarGS6eS
AkXvfvzeWXuSinCf69xu+aHAnwEBy5EWjw==
-----END CERTIFICATE-----
subject=/C=IN/O=infy/OU=cisco/CN=sapphire-69/ST=kr/L=blr
issuer=/C=IN/O=infy/OU=cisco/CN=sapphire-69/ST=kr/L=blr
---
No client certificate CA names sent
---
SSL handshake has read 1127 bytes and written 465 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : AES256-SHA
    Session-ID: 6B1FC412E0F2825351F85549EDE11F5BF84E9CDD276BBADCE3A13DC2AABEB9AA
    Session-ID-ctx:
    Master-Key: 
2653C3280423B52309DC8ED5D8A17E7659584D44605282DE62FB2A7B1712C003D689CFA75E497ED691167C6B9A629C4E
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1591935521
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
^X^C
<?xml version="1.0" ?><!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
--><!-- Note:  A "Server" is not itself a "Container", so you may not
     define subcomponents such as "Valves" at this level.
     Documentation at /docs/config/server.html
 --><Server port="8005" shutdown="988651714066593">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />
  -->
  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

  <!-- Global JNDI resources
       Documentation at /docs/jndi-resources-howto.html
  -->
  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
  </GlobalNamingResources>

  <!-- A "Service" is a collection of one or more "Connectors" that share
       a single "Container" Note:  A "Service" is not itself a "Container",
       so you may not define subcomponents such as "Valves" at this level.
       Documentation at /docs/config/service.html
   -->
  <Service name="Catalina">

    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
    <!--
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="150" minSpareThreads="4"/>
    -->


    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
    -->
    <Connector URIEncoding="UTF-8" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxParameterCount="12000" maxSpareThreads="150" maxThreads="150" minSpareThreads="25" port="80" protocol="HTTP/1.1" redirectPort="443" server=" "/>
    <Connector URIEncoding="UTF-8" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxParameterCount="12000" maxSpareThreads="150" maxThreads="150" minSpareThreads="25" port="8080" protocol="HTTP/1.1" redirectPort="443" server=" "/>
    <!-- A "Connector" using the shared thread pool-->
    <!--
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->
    <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443
         This connector uses the NIO implementation. The default
         SSLImplementation will depend on the presence of the APR/native
         library and the useOpenSSL attribute of the
         AprLifecycleListener.
         Either JSSE or OpenSSL style configuration may be used regardless of
         the SSLImplementation selected. JSSE style configuration is used below.
    -->
    <!--
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>
    -->
    <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443 with HTTP/2
         This connector uses the APR/native implementation which always uses
         OpenSSL for TLS.
         Either JSSE or OpenSSL style configuration may be used. OpenSSL style
         configuration is used below.
    -->
<Connector SSLEnabled="true" URIEncoding="UTF-8" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxThreads="200" minSpareThreads="25" port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation">
<SSLHostConfig certificateVerification="none" ciphers="ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:AES256-SHA:DHE-DSS-AES256-SHA:AES128-SHA:DHE-RSA-AES128-SHA" protocols="TLSv1,TLSv1.1,TLSv1.2" sessionCacheSize="10000" sessionTimeout="1800" sslProtocol="TLS" truststoreType="PKCS12">
<Certificate certificateKeyAlias="tomcat-ecdsa" certificateKeystoreFile="/usr/local/platform/.security/tomcat-ECDSA/certs/tomcat-ECDSA.keystore" certificateKeystorePassword="iY4VjgcxNrTLp57b" certificateKeystoreType="PKCS12" type="EC"/>
</SSLHostConfig>
</Connector>

<Connector SSLEnabled="true" URIEncoding="UTF-8" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxThreads="200" minSpareThreads="25" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation">
<SSLHostConfig certificateVerification="none" ciphers="ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:AES256-SHA:DHE-DSS-AES256-SHA:AES128-SHA:DHE-RSA-AES128-SHA" protocols="TLSv1,TLSv1.1,TLSv1.2" sessionCacheSize="10000" sessionTimeout="1800" sslProtocol="TLS" truststoreType="PKCS12">
<Certificate certificateKeyAlias="tomcat" certificateKeystoreFile="/usr/local/platform/.security/tomcat/certs/tomcat.keystore" certificateKeystorePassword="edBeTtBYiqoMWlQ3" certificateKeystoreType="PKCS12" type="RSA"/>
</SSLHostConfig>
</Connector>

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!--
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    -->


    <!-- An Engine represents the entry point (within Catalina) that processes
         every request.  The Engine implementation for Tomcat stand alone
         analyzes the HTTP headers included with the request, and passes them
         on to the appropriate Host (virtual host).
         Documentation at /docs/config/engine.html -->

    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <Engine defaultHost="localhost" name="Catalina">

      <!--For clustering, please take a look at documentation at:
          /docs/cluster-howto.html  (simple how to)
          /docs/config/cluster.html (reference documentation) -->
      <!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
      -->

      <!-- Use the LockOutRealm to prevent attempts to guess user passwords
           via a brute-force attack -->
      <Realm className="org.apache.catalina.realm.LockOutRealm" transportGuaranteeRedirectStatus="301">
        <!-- This Realm uses the UserDatabase configured in the global JNDI
             resources under the key "UserDatabase".  Any edits
             that are performed against this UserDatabase are immediately
             available for use by the Realm.  -->
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" transportGuaranteeRedirectStatus="301"/>
      </Realm>

      <Host appBase="webapps" autoDeploy="true" deployOnStartup="false" errorReportValveClass="com.cisco.vos.platform.tomcat.valves.CiscoErrorReportValve" name="localhost" unpackWARs="true">
      <Context className="org.apache.catalina.core.StandardContext" debug="0" docBase="." path="" privileged="false" reloadable="false">
      </Context>

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <Valve className="org.apache.catalina.authenticator.SingleSignOn"/>

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%t %a %h %u %l %p %m %U %H %s %b %D" prefix="localhost_access_log" rotatable="false" suffix=".txt"/>

      </Host>
    <Realm className="com.cisco.platform.realm.Realm" realmPluginClass="com.cisco.ccm.realm.CCMRealmPlugin" transportGuaranteeRedirectStatus="301"/></Engine>
  </Service>
</Server>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to