Hi,
I have enabled authentication for message-vpn to be client-certificate by following the instruction on the docs page.
# commands used
enable
configure
message-vpn <vpn_name>
authentication
client-certificate
validate-certificate-date
allow-api-provided-username
no shutdown
While using SDK Perf to test the SSL connectivity, seeing below error:
JAVA: /bin/java
SOLACE_VM_ARGS: -Xms512m -Xmx1024m
Run Info: CPU usage currently disabled.
Client naming used:
logging ID = router generated.
username = perf_client000001
vpn = default
client names = sdk generated.
> VM Name: OpenJDK 64-Bit Server VM
Run Info: Using Java Nanosecond Timer for Timing
> Timing Package Clock Speed (Hz): 1000000000
> Getting ready to init clients
E: Initialization error: client creation failed.
com.solacesystems.pubsub.sdkperf.core.PubSubException: Error while connecting.
at com.solacesystems.pubsub.sdkperf.core.AbstractClientCollection.connect(AbstractClientCollection.java:449)
at com.solacesystems.pubsub.sdkperf.SDKPerf_java.run(SDKPerf_java.java:183)
at com.solacesystems.pubsub.sdkperf.SDKPerf_java.main(SDKPerf_java.java:117)
Caused by: com.solacesystems.jcsmp.InvalidPropertiesException: Client Certificate Authenticate is supported only for SSL secured schemes
at com.solacesystems.jcsmp.secure.SecureProperties.<init>(SecureProperties.java:237)
at com.solacesystems.jcsmp.JCSMPFactory.createSession(JCSMPFactory.java:163)
at com.solacesystems.pubsub.sdkperf.jcsmpcore.JcsmpClient.connect(JcsmpClient.java:1084)
at com.solacesystems.pubsub.sdkperf.core.AbstractClientCollection.connect(AbstractClientCollection.java:447)
... 2 more
Am I missing something, could someone please help?
The line with “Client Certificate Authenticate is supported only for SSL secured schemes” indicates, that you are not connecting to a SSL port (eg SMF over TLS or MQTT over TLS).
What is your sdkperf-commandline ?
What is the output of
“show service” ?
And always a good idea: Have a look at the broker event.log for any errors.
Hi @rdesoju, looks like you’re making progress, which is good. @uherbst has it right - you’re connecting to the unencrypted broker port. By default, if you specify just the broker address with the -cip option to sdkperf, it connects to port 55555 - the unencrypted broker port. Try -cip :55443 which is the default encrypted port.
Also, I tried with and without port number in -cip switch. Default and non-default port numbers both throw the same error.
Here is the show service command output:
Msg-Backbone: Enabled
VRF: management
SMF: Enabled
Web-Transport: Enabled
REST Incoming: Enabled
REST Outgoing: Enabled
MQTT: Enabled
AMQP: Enabled
Health-check: Enabled
Mate-link: Enabled
Redundancy: Enabled
Max Incoming Connections: 100
Service SMF: 100
Service Web-Transport: 100
Service REST: 100
Service MQTT: 100
Service AMQP: 100
Max Outgoing Connections:
Service REST: 100
Max SSL Connections: 100
Event Threshold Set Value Clear Value
---------------------------------- ---------------- ----------------
Incoming Connections 80%(80) 60%(60)
Service SMF 80%(80) 60%(60)
Outgoing Connections
Service REST 80%(80) 60%(60)
SSL Connections 80%(80) 60%(60)
Flags Legend:
TP - Transport
T+U - TCP and UDP
---Press any key to continue, or `q' to quit---
S - SSL (Y=Yes, N=No, -=not-applicable)
C - Compressed (Y=Yes, N=No, -=not-applicable)
R - Routing Ctrl (Y=Yes, N=No, -=not-applicable)
VRF - VRF (Mgmt=management, MsgBB=msg-backbone)
A - Admin State (U=Up, D=Down, -=not-applicable)
O - Oper State (U=Up, D=Down, -=not-applicable)
Status
Service TP S C R VRF MsgVpn Port A O Failed Reason
---------- --- ----- ----- --------------- ----- --- --------------------------
SEMP TCP N - - Mgmt 8080 U U
SEMP TCP Y - - Mgmt 943 U U
SMF TCP N N N Mgmt 55555 U U
SMF TCP N Y N Mgmt 55003 U U
SMF TCP N N Y Mgmt 55556 U D
SMF TCP Y N N Mgmt 55443 U U
SMF WEB N - - Mgmt 80 U U
SMF WEB Y - - Mgmt 443 U U
MQTT TCP N - - Mgmt default 1883 U U
MQTT TCP Y - - Mgmt default 8883 U U
MQTT WEB N - - Mgmt default 8000 U U
MQTT WEB Y - - Mgmt default 8443 U U
AMQP TCP N - - MsgBB default 5672 U U
AMQP TCP Y - - MsgBB default 5671 U U
REST WEB N - - Mgmt default 9000 U U
REST WEB Y - - Mgmt default 9443 U U
MATELINK TCP N N N Mgmt 8741 U U
HEALTHCHK TCP N N N Mgmt 5550 U U
REDUNDANCY TCP Y N N Mgmt 8300 U U
REDUNDANCY T+U Y N N Mgmt 8301 U U
REDUNDANCY T+U Y N N Mgmt 8302 U U
Above mentioned SDK Perf command is working when the -cip switch is proivided with only one IP Address and port number broker_hosts=<ip1>:55443.
However, if I give two ips and ports as mentioned initially it is still failing with the same error.
Also, when I add below properties in my java smf code, it is still failing with same error as mentioned above: