code: private SICoreConnection createConnection(Certificate[] certificate) throws SIAuthenticationException, SIResourceException, SINotAuthorizedException {
          if (TraceComponent.isAnyTracingEnabled()
              && CoreSPIConnFactory.tc.isEntryEnabled()) {
              SibTr.entry(CoreSPIConnFactory.tc, "createConnection", certificate);
          }
  
          // Check that the Messaging Engine is started
          checkStarted();
  
          Subject subject = null;
  
          try {
              subject = _authentication.login(certificate);
          } catch (MessagingAuthenticationException e) {
              throw new SIAuthenticationException(e.getMessage());
          }
          SICoreConnection connection = createConnection(subject, null);
          if (TraceComponent.isAnyTracingEnabled()
              && CoreSPIConnFactory.tc.isEntryEnabled())
              SibTr.exit(CoreSPIConnFactory.tc, "createConnection", connection);
          return connection;
      }
docs: Create Connection using the certificate (used for SSL)
  
  @param certificate
  @return Connection
  @throws SIAuthenticationException
  @throws SIResourceException
  @throws SINotAuthorizedException