Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [%OAuth2] >  [JWKS]
Private  Storage   

class %OAuth2.JWKS extends %RegisteredObject

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
4


Summary

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
AddOct AddRSA AddX509


Methods

• classmethod AddOct(Alg As %String, ClientSecret As %String, ByRef RemotePublic As %String) as %Status
This method adds a new shared symmetric key to a JSON Web Key Set (JWKS).

Alg - The algorithm for which the key is intended for use.
Supported options for signature:
"HS256", HMAC with SHA-256
"HS384", HMAC with SHA-384
"HS512", HMAC with SHA-512
Supported options for key management:
"A128KW", AES Key Wrap with 128-bit key
"A192KW", AES Key Wrap with 192-bit key
"A256KW", AES Key Wrap with 256-bit key

ClientSecret - Secret shared between a client and a server. This must have sufficient entropy to support the specified algorithm.

Output Parameter:

RemotePublic - The Remote Public JWKS to which the shared symmetric key will be added. If it does not already exist it will be created.
• classmethod AddRSA(Alg As %String, ByRef LocalPrivate As %String, ByRef LocalPublic As %String) as %Status
This algorithm adds a new RSA private and public key pair to JSON Web Key Sets (JWKS).

Input parameter:

Alg - The algorithm with which the keys are intended for use.
Supported options for signature:
"RS256", RSASSA-PKCS1-V1_5 using SHA-256
"RS384", RSASSA-PKCS1-V1_5 using SHA-384
"RS512", RSASSA-PKCS1-V1_5 using SHA-512
Supported options for key management:
"RSA1_5", Encryption with RSAES-PKCS1-V1_5
"RSA-OAEP", Encryption with RSAES-OAEP


Output parameters:

LocalPrivate - The Local Private JWKS to which the RSA private key will be added. If it does not already exist it will be created.

Local Public - The Local Public JWKS to which the RSA public key will be added. If it does not already exist it will be created.
• classmethod AddX509(Alg As %String, X509 As %SYS.X509Credentials, ByRef LocalPrivate As %String, ByRef Public As %String) as %Status
This method adds the RSA keys contained in a %SYS.X509Credentials object to JSON Web Key Sets (JWKS).

Input parameters:

Alg - The algorithm with which the keys are intended for use.
Supported options for signature:
"RS256", RSASSA-PKCS1-V1_5 using SHA-256
"RS384", RSASSA-PKCS1-V1_5 using SHA-384
"RS512", RSASSA-PKCS1-V1_5 using SHA-512
Supported options for key encryption:
"RSA1_5", Encryption with RSAES-PKCS1-V1_5
"RSA-OAEP", Encryption with RSAES-OAEP


Output parameters:

If the %SYS.X509Credentials object PrivateKey property is set:

LocalPrivate - The Local Private JWKS to which the RSA private key will be added. If it does not already exist it will be created.

Public - The Local Public JWKS to which the RSA public key will be added. If it does not already exist it will be created.

If the %SYS.X509Credentials object PrivateKey property is null:

Public - The Remote Public JWKS to which the RSA public key will be added. If it does not already exist it will be created.


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.