How to Create SSL Configuration Programmatically?

Hi Community!

How do you create SSL Configuration for InterSystems IRIS programmatically? E.g. for installation or deployment case?

E.g. if I need to create a very simple "default" SSL client configuration to let HTPPS Get requests to an arbitrary server?

  • 0
  • 0
  • 163
  • 2
  • 3

Answers

ClassMethod GetSSLConfiguration(host) As %String
{
  NEW $NAMESPACE
  SET $NAMESPACE = "%SYS"
  
  IF '##class(Security.SSLConfigs).Exists(host) {
    DO ##class(Security.SSLConfigs).Create(host)
  }
  QUIT host
}

Set tRequest = ##class(%Net.HttpRequest).%New()
Set tRequest.Server = "community.intersystems.com"
Set tRequest.Https = 1
Set tRequest.SSLConfiguration = ..GetSSLConfiguration(tRequest.Server)
....

 

This is only example and yes, for client, where community.intersystems.com is a server for request to. To simplify I just create ssl config with server's name

The class Security.SSLConfigs can give you an API to create SSL configurations.
Look at the "Create" classmethod. 

 

As mentioned earlier, you can use the Security.SSLConfigs class.  You'll also want to think about how to deliver the CA certificate.  That's needed to verify you're connecting to the right server and not someone impersonating the server.   Possibly you could add it to your installer?