Skip to main content

PKI.CAClient

Class PKI.CAClient Extends %Persistent [ Deprecated ]

Certificate Authority client. Use with PKI.CAServer.

Properties

Name

Property Name As %String [ InitialExpression = "IRIS CA", Required ];

The default Certificate Authority client has the name "IRIS CA". There is at most one per InterSystems IRIS instance.

Server

Property Server As %String(MAXLEN = 100) [ Required ];

DNS hostname used to access the PKI.CAServer Web service

Port

Property Port As %Integer [ Required ];

TCP port used to access the PKI.CAServer Web service

Path

Property Path As %String [ InitialExpression = "/isc/pki/PKI.CAServer.cls", Required ];

Path used to access the PKI.CAServer Web service

AttributePrompt

Property AttributePrompt As %String(MAXLEN = 100) [ InitialExpression = "Country,State or Province,Locality,Organization,Organizational Unit,Common Name" ];

Prompts to use when building a %List for constructing a Subject Distinguished Name.

AttributeType

Property AttributeType As %String [ InitialExpression = "C,ST,L,O,OU,CN" ];

Attribute type keywords to use when building the "-subject" argument to the "openssl req" command

ContactName

Property ContactName As %String [ Required ];

Name of the local technical contact for this Certificate Authority client. This is the person who will be contacted by the Certificate Authority server's administrator to verify the validity of Certificate Signing Requests from this client.

ContactPhone

Property ContactPhone As %String;

Phone number of the local technical contact for this Certificate Authority client.

ContactEmail

Property ContactEmail As %String;

Email address of the local technical contact for this Certificate Authority client. Email notification will be sent to this address when an X.509 Certificate is issued for a Certificate Signing Request from this Certificate Authority client.

UseTLS

Property UseTLS As %Boolean;

TLSConfiguration

Property TLSConfiguration As %String(MAXLEN = 64);

Methods

BuildSubject

Method BuildSubject(values As %List) As %String

Build the "-subject" argument to the "openssl req" command or the "-dname" argument to the "keytool -genkeypair" command from a %List

SubmitCSR

Method SubmitCSR(filename As %String, attrList As %List, password As %String, ByRef st As %Status) As %String

Generate and submit a Certificate Signing Request to the Certificate Authority server. This method creates Certificate Signing Request (.csr) and Private Key (.key) files, creates a PKI.CSR object, and submits that object to the Certificate Authority server.
Parameters:
filename - Name to use for created Certificate Signing Request (.csr) and Private Key (.key) files
attrList - %List containing attribute values to be used in constructing this Certificate Signing Request's Subject Distinguished Name
password - Password used to protect Private Key file (optional)
st - On return, contains a status code or SOAP fault
Return value:
String describing successful submission, or error

ListCertificates

Method ListCertificates(hostname As %String = "", instance As %String = "", ByRef st As %Status) As %XML.DataSet

Get a list of X.509 Certificates issued by the Certificate Authority server.
Parameters:
hostname - Hostname from which signing requests for certificates was received
instance - InterSystems IRIS instance from which signing requests for certificates were received
Note: If both hostname and instance are not specified, all issued certificates are listed. st - On return, contains a status code
Return value:
An %XML.DataSet object

GetCertificate

Method GetCertificate(number As %String, ByRef st As %Status) As %String

Get an X.509 Certificate issued by the Certificate Authority server. This method retrieves a PKI.Certificate object and saves the contents in a Certificate (.cer) file.
Parameter:
number - serial number of the X.509 Certificate requested, or 0 to request the Certificate Authority server's X.509 Certificate
st - On return, contains a status code
Return value:
String describing saved Certificate file, or error

Configure

ClassMethod Configure(client As PKI.CAClient, ByRef st As %Status) As %String

Configure this Certificate Authority client. Must be called before Certificate Signing Requests can be submitted. Creates the OpenSSL configuration file "openssl.cnf" if it does not exist. Parameter:
client - PKI.CAClient object, with all required properties set
st - On return, contains a status code
Return value:
String describing successful configuration, or error

ConfigureData

Method ConfigureData() [ ProcedureBlock = 0 ]