What are the correct SSL binder properties for Solace Micro integration message processor?

TomC
TomC Member Posts: 9 ✭✭

The application.yaml properties for the Solace Micro integration message processor in the User Guide don't list the exact property names and hierarchy for SSL connections. In particular, I want to configure the ca cert for the server that the message processor is connecting to.

Some of the properties listed in the user guide seem to differ from past versions of the same property e.g. msg-vpn as opposed to msgVpn for solace spring-boot products.

This much is listed in the Solace User Guide:

(I guess for SSL, it should be tcps://localhost:55443)

solace:
java:
host: tcp://localhost:55555
msg-vpn: default
client-username: default
client-password: default
??? api-properties || ssl ???

Tagged:

Best Answer

  • mpatel
    mpatel Member, Employee Posts: 7 Solace Employee
    edited November 8 #2 Answer ✓

    For the name of properties like msg-vpn vs msgVpn, The properties defined in SolaceJavaProperties.java, you could use spring-boot pattern (i.e. camelCase or kebab-case).

    However if you notice the apiProperties it is a Map of key/value pair. List of properties names/key are defined here.
    The key names can be in upper case or lower case. So you can either use SSL_TRUST_STORE or ssl_trust_store, but cannot use ssl-trust-store or sslTrustStore for the keys.


    FYI, here is an example configuration under tests.

Answers

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 959 admin

    Hey @TomC,

    For connection to Solace brokers the micro-integrations use our Spring Cloud Stream Binder, which in turns use our Solace Java Spring Boot Starter.

    You can find the different properties to connect here:

    https://github.com/SolaceProducts/solace-spring-boot/tree/master/solace-spring-boot-starters/solace-java-spring-boot-starter#configure-the-application-to-use-your-solace-pubsub-service-credentials

    I think the truststore option is what you'll want?

    solace.java.apiProperties.ssl_trust_store=/path/to/truststore

    Hope that helps!

  • TomC
    TomC Member Posts: 9 ✭✭

    Thanks for the quick response. I'd seen that source page already but the different property names made me suspicious. I'm wondering if the properties in a yaml file are named differently e.g. msg-vpn (in User Guide, which is working) vs msgVpn.

    So in my application.yaml, should I write apiProperties or api-properties ? And should I use ssl_trust_store or ssl-trust-store ?

  • mpatel
    mpatel Member, Employee Posts: 7 Solace Employee
    edited November 8 #5 Answer ✓

    For the name of properties like msg-vpn vs msgVpn, The properties defined in SolaceJavaProperties.java, you could use spring-boot pattern (i.e. camelCase or kebab-case).

    However if you notice the apiProperties it is a Map of key/value pair. List of properties names/key are defined here.
    The key names can be in upper case or lower case. So you can either use SSL_TRUST_STORE or ssl_trust_store, but cannot use ssl-trust-store or sslTrustStore for the keys.


    FYI, here is an example configuration under tests.

  • TomC
    TomC Member Posts: 9 ✭✭

    Thank you. Good answer.