[ 
https://issues.apache.org/jira/browse/ARTEMIS-3081?focusedWorklogId=543690&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-543690
 ]

ASF GitHub Bot logged work on ARTEMIS-3081:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 28/Jan/21 15:17
            Start Date: 28/Jan/21 15:17
    Worklog Time Spent: 10m 
      Work Description: gemmellr commented on pull request #3416:
URL: https://github.com/apache/activemq-artemis/pull/3416#issuecomment-769155367


   I think this proposal is actually somewhat different than the previous ones 
and warrants further consideration.
   
   Previous proposals were primarily aiming for the more traditional behaviour 
of URI settings overriding System Properties, whereas this one does not and is 
just specific to behaviour of using the latter. In particular around the fact 
that if you set both the javax.ssl.* and org.apache.activemq.ssl.* system 
properties currently, the latter will surprisingly be ignored and not do 
anything. That makes those properties useless a lot of the time since folks 
using system properties for TLS config also seem likely be using javax.ssl.* as 
well for other components. The main reason to want to ever set both is to use 
different values, which would clearly suggest the Artemis ones should have 
higher precedence or else you cant do that and neednt bother ever setting the 
Artemis one.
   
   As @brusdev noted, the order handling of these system properties was 
originally that the Artemis ones took precedence. That only looks to have 
changed in Artemis 2.5.0 during a config handling rewrite while adding OpenSSL 
support in https://issues.apache.org/jira/browse/ARTEMIS-1649. Its not clear to 
me that was a deliberate change, it was seemingly not mentioned or documented 
at the time, and per above makes little sense since there is a good chance it 
removes the ability to even use the system property. I think the change may 
have been an error in the port to using Stream handling for the config values.
   
   The test that needs changed here only looks to be present because Chris 
added tests of the by-then-current wider behaviour of the TLS config handling 
whilst adding the override flag in Artemis 2.7.0 to allow the desired URI 
option precedence.
   
   I think it makes sense to restore the more useful and original Artemis 1.0.0 
- 2.4.0 behaviour for these system properties, rather than leaving the somewhat 
useless 2.5.0+ behaviour.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 543690)
    Time Spent: 1h 20m  (was: 1h 10m)

> Cannot override the default Java key/truststore properties
> ----------------------------------------------------------
>
>                 Key: ARTEMIS-3081
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3081
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 2.15.0, 2.17.0
>         Environment: In our case the application uses the default Java 
> truststore location at {{$JAVA_HOME/lib/security/jssecacerts}}, and only 
> supplies its password in {{javax.net.ssl.trustStorePassword}}, and then uses 
> a dedicated truststore for Artemis. Defining both 
> {{org.apache.activemq.ssl.trustStore}} and 
> {{org.apache.activemq.ssl.trustStorePassword}} now makes Artemis use the 
> dedicated truststore ({{javax.net.ssl.trustStore}} is not set as we use the
>  default location, so the second choice 
> {{org.apache.activemq.ssl.trustStore}} applies), but with the Java default 
> truststore password (first choice {{javax.net.ssl.trustStorePassword}} 
> applies  instead of the second choice because it is set for the default 
> truststore). Obviously, this does  not work unless both passwords are 
> identical!
>            Reporter: Ingo Karkat
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> If an application wants to use a special key/truststore for Artemis but have 
> the remainder of the application use the default Java store, the
> {code:java}
> org.apache.activemq.ssl.keyStore{code}
> needs to take precedence over Java's
> {code:java}
> javax.net.ssl.keyStore{code}
> However, the current implementation takes the first non-null value from
> {code:java}
> System.getProperty(JAVAX_KEYSTORE_PATH_PROP_NAME)
> System.getProperty(ACTIVEMQ_KEYSTORE_PATH_PROP_NAME)
> keyStorePath{code}
> So if the default Java property is set, no override is possible.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to