Maartin,

On 10/14/20 09:07, Maarten van den Broek wrote:
> Op 14-10-2020 om 14:10 schreef Rémy Maucherat:
>> On Wed, Oct 14, 2020 at 11:38 AM Maarten van den Broek <
>> mbr...@messagedesign.nl> wrote:
>>
>>> I use tomcat 9.0.33 with windows10 home and amazon corretto
>>> jdk1.8.0_212.
>>>
>>> Below a snapshot of two different Connector definitions in server.xml
>>>
>>>       <Connector port="443" connectionTimeout="20000" acceptCount="100"
>>>                  maxThreads="150" SSLEnabled="true" scheme="https"
>>> secure="true"
>>> protocol="nl.messagedesign.tomcatlib.EncryptedPassword_Http11Nio2Protocol"
>>>
>>>                  clientAuth="false" sslEnabledProtocols="TLSv1.2"
>>>                  minSpareThreads="5"
>>>                  enableLookups="true" disableUploadTimeout="true"
>>> keystoreFile="C:/Users/Maarten/Certificaten/gm_messagedesign_nl2020.jks"
>>> keystorePass="ZURV/6aoh/mLRxJGFhnvEpVZ7PoL72h3"
>>>                  />
>>>
>>>       <Connector acceptCount="100" connectionTimeout="20000"
>>> disableUploadTimeout="true" enableLookups="true" maxThreads="150"
>>> minSpareThreads="5" port="443"
>>> protocol="nl.messagedesign.tomcatlib.EncryptedPassword_Http11Nio2Protocol"
>>>
>>> SSLEnabled="true" scheme="https" secure="true">
>>>           <SSLHostConfig protocols="TLSv1.2">
>>>               <Certificate
>>> certificateKeystoreFile="C:/Users/Maarten/Certificaten/gm_messagedesign_nl2020.jks"
>>>
>>>
>>> certificateKeystorePassword="ZURV/6aoh/mLRxJGFhnvEpVZ7PoL72h3"
>>> certificateKeystoreType="JKS"/>
>>>           </SSLHostConfig>
>>>       </Connector>
>>>
>>> Using the first Connector everything is working fine. Debugging the
>>> setKeystorePass method of the class
>>> nl.messagedesign.tomcatlib.EncryptedPassword_Http11Nio2Protocol in the
>>> protocol attribute shows that the encrypted password gets decrypted.
>>>
>>> Using the second connector with the SSLHostConfig element instead of the
>>> deprecated attributes debugging shows that the setKeystorePass method is
>>> not called and I get errors for the incorrect password of the keystore.
>>>
>>> What am I doing wrong in migrating to the configuration with the
>>> SSLHostConfig element?
>>>
>>> Sincerely yours,    Maarten van den Broek
>>>
>> If you simply want to obfuscate server.xml attributes, you should look
>> into
>> the digester property sources instead of engaging in this sort of stuff.
>> One such property source out there:
>> https://github.com/web-servers/tomcat-vault
>>
>> Note: This capability is not included directly into Tomcat itself because
>> it provides no actual extra security.
>>
>> Rémy
> 
> Dear Rémy,
> 
> Thank you for your swift response.
> 
> Customers are happy with this solution because they only need to provide
> these passwords during the first installation and it can be done by the
> owner of the certificate. The key for the en/decryption is in a keystore
> with a password, that can only be obtained by debugging the code.

So you have the password for the keystore hard-coded into your Java
code? Doesn't that mean it's in revision-control?

> In a production environment this is in most cases impossible. This
> mechanism is also used to encrypt columns in the database and it is
> easy to reuse for the encryption of the keystore passwords. I prefer
> this over the use of a tomcat vault, because there is increased
> complexity installing tomcat. Alas, it may break with major releases
> and then you have to fix it again, but with your swift help it is no
> problem.

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to