Hey Lucas,

I tried that on a development VM this morning and that (the namedGroups)
worked perfectly!   For my requirements, I only need FIPS-approved and
384-bit or better, so something as simple as:

export ACTIVEMQ_OPTS='-Djdk.tls.namedGroups=secp384r1'

Covers the requirement.   Reading around the net regarding EC, I think I'll
also include secp521r1 but that's about it.   At least until FIPS 140-3
kicks in.

Thanks!

-Frank


On Wed, Nov 16, 2022 at 1:04 PM Frank Crow <fjcrow2...@gmail.com> wrote:

> Hey Lucas,
>
> I'll definitely give that a try.   Thanks!
>
> -Frank
>
>
> On Wed, Nov 16, 2022 at 12:14 PM Tetreault, Lucas
> <tetlu...@amazon.com.invalid> wrote:
>
>> Hey Frank,
>>
>> There are loads of configuration options available, e.g.:
>> https://www.java.com/en/configure_crypto.html
>>
>> You should be able to enable only specific curves (
>> https://www.java.com/en/configure_crypto.html#DisablenonNIST) using
>> something like:
>>
>> export ACTIVEMQ_OPTS='-Djdk.tls.namedGroups="secp256r1, secp384r1,
>> secp521r1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1,
>> sect571r1, secp256k1, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144,
>> ffdhe8192"'
>>
>> Hopefully that helps!
>>
>> Lucas
>>
>> On 2022-11-16, 9:31 AM, "Justin Bertram" <jbert...@apache.org> wrote:
>>
>>     CAUTION: This email originated from outside of the organization. Do
>> not click links or open attachments unless you can confirm the sender and
>> know the content is safe.
>>
>>
>>
>>     Do you have a clear idea of what you would change if you forked
>> ActiveMQ
>>     "Classic"? If so, you could send that change as a PR, and it could
>>     potentially be incorporated into the next release. Given what you've
>>     observed regarding Java's SSLServerSocket and SSLParameters it seems
>> like
>>     the JDK doesn't provide applications with any options here. It's not
>> clear
>>     what the broker might do to support your use-case.
>>
>>     If BouncyCastle provides the configuration you need can you not
>> integrate
>>     BouncyCastle with the broker's JVM as the security provider?
>>
>>     If using ActiveMQ Artemis is an option for you it provides
>> integration with
>>     OpenSSL so if you can configure what you need in OpenSSL then that
>> also may
>>     be a possibility for you.
>>
>>
>>     Justin
>>
>>     On Wed, Nov 16, 2022 at 9:42 AM Frank Crow <fjcrow2...@gmail.com>
>> wrote:
>>
>>     > Yeah, I'm pretty familiar with the javax.net.ssl package, related
>> system
>>     > properties, security providers and their configurations.   I'm also
>>     > familiar with other middleware products that offer a specific
>> configuration
>>     > item for elliptic curves (e.g., PostgreSQL, OpenSSL, etc.).   I'm
>> fairly
>>     > confident that, unless I fork ActiveMQ and implement that myself,
>> there is
>>     > no external configuration, property or even bean that I could add
>> to make
>>     > it happen.
>>     >
>>     > Looking at the ActiveMQ "SSL Transport Reference" we see that such
>>     > *transport
>>     > *options are passed to SSLServerSocket which, if you read through
>> the
>>     > Javadoc, is really handled by the SSLParameters and even that has
>> zero
>>     > provision for ECDH parameters.   Many products that support very
>> granular
>>     > encryption configuration do so via 3rd party libraries such as
>>     > BouncyCastle.
>>     >
>>     > So, I think that, unless anyone knows differently, ActiveMQ does not
>>     > support what I'm looking for by any means.
>>     >
>>     > Thanks,
>>     > Frank
>>     >
>>     >
>>     > On Tue, Nov 15, 2022 at 7:07 PM Justin Bertram <jbert...@apache.org
>> >
>>     > wrote:
>>     >
>>     > > The broker delegates all this work to the JVM in the first place
>> so I
>>     > think
>>     > > you're more likely to find what you're looking for in the JVM
>> directly.
>>     > > Even the value for the "transport.enabledCipherSuites" parameter
>> is
>>     > passed
>>     > > through to the underlying SSL implementation provided by the JVM.
>>     > >
>>     > > Have you investigated this from the JVM's perspective?
>>     > >
>>     > >
>>     > > Justin
>>     > >
>>     > > On Tue, Nov 15, 2022 at 3:33 PM Frank Crow <fjcrow2...@gmail.com>
>> wrote:
>>     > >
>>     > > > No because, the ability to specify cipher suites does not
>> include any
>>     > way
>>     > > > to specify the specific type of elliptic curve.
>>     > > >
>>     > > > At the moment, the configuration that is in place is using the
>>     > > > ECDHE-RSA-AES256-GCM-SHA384 cipher.
>>     > > >
>>     > > > The ECDHE key exchange is apparently using P-256 by default.
>>  I need
>>     > it
>>     > > to
>>     > > > be stronger or I need to document that I am unable to change
>> that
>>     > > > configuration item.
>>     > > >
>>     > > >
>>     > > > Thanks,
>>     > > > Frank
>>     > > >
>>     > > >
>>     > > > On Tue, Nov 15, 2022 at 4:21 PM Justin Bertram <
>> jbert...@apache.org>
>>     > > > wrote:
>>     > > >
>>     > > > > Did you try using the "transport.enabledCipherSuites"
>> parameter
>>     > > mentioned
>>     > > > > here [1]?
>>     > > > >
>>     > > > >
>>     > > > > Justin
>>     > > > >
>>     > > > > [1] https://activemq.apache.org/ssl-transport-reference
>>     > > > >
>>     > > > > On Tue, Nov 15, 2022 at 2:16 PM Frank Crow <
>> fjcrow2...@gmail.com>
>>     > > wrote:
>>     > > > >
>>     > > > > > Hello all,
>>     > > > > >
>>     > > > > > Does anyone know if it is possible to specify which
>> elliptic curve
>>     > > will
>>     > > > > be
>>     > > > > > used by the broker for ECDHE key exchanges?  Currently I
>> have TLS
>>     > > > enabled
>>     > > > > > and I'm seeing that it is using a 256-bit (P-256) elliptic
>> curve.
>>     >  I
>>     > > > > have
>>     > > > > > requirements for 384-bit elliptic curves or better.
>>     > > > > >
>>     > > > > > Is there some transport.option that I can use or is there
>> some
>>     > other
>>     > > > > method
>>     > > > > > to configure the elliptic curve that ActiveMQ uses?
>>     > > > > >
>>     > > > > >
>>     > > > > > Thanks,
>>     > > > > > --
>>     > > > > > Frank
>>     > > > > >
>>     > > > >
>>     > > >
>>     > > >
>>     > > > --
>>     > > > Frank
>>     > > >
>>     > >
>>     >
>>     >
>>     > --
>>     > Frank
>>     >
>>
>>
>
> --
> Frank
>


-- 
Frank

Reply via email to