Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [%SYS] >  [%XML] >  [Security] >  [EncryptedKey]
Private  Storage   

class %XML.Security.EncryptedKey extends %XML.Security.KeyInfoClause, %XML.Security.EncryptedType

XML Encryption element.


Parameters Properties Methods Queries Indices ForeignKeys Triggers
3 9 13


Algorithm CarriedKeyName CipherData Encoding
EncryptionMethod EncryptionOptions EncryptionProperties Id
KeyInfo KeySize MimeType Recipient
ReferenceList RequireBestEntropy Type UsedAsEncryptionKey

%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
AddReference CreateX509 Equals GetEncryptedKeySHA1
Initialize Reset SetEncryptionMethod XMLDTD
XMLExport XMLExportToStream XMLExportToString XMLNew
XMLSchema XMLSchemaNamespace XMLSchemaType


• parameter ELEMENTQUALIFIED = 1;
ELEMENTQUALIFIED controls the format of exported XML. The ELEMENTQUALIFIED specification should be based on the elementFormDefault attribute of the schema that defines the type. To maintain compatibility, ELEMENTQUALIFIED will default to 1 (true) for literal format export and will default to 0 (false) for encoded or encoded12 format export. These were the values always previously assumed for the elementFormDefault attribute. NOTE: Direct use of XMLExport method does not support the ELEMENTQUALIFIED. The export must be done using %XML.Writer or SOAP support.
• parameter NAMESPACE = "";
NAMESPACE specifies the XML namespace to be used when projecting the class to XML. if NAMESPACE - "", the default namespace is used for the XML schema is used as the namespace for his class.
• parameter XMLFORMAT = "literal";
The XMLFORMAT parameter controls the generation of the XMLExport and XMLImport methods for XML enabled classes to include code for only literal or only encoded format. This allows the generated routines to be significantly smaller since usually both formats are not needed.
If XMLFORMAT="Literal", then only support for literal format import and export is generated.
If XMLFORMAT="Encoded", then only support for SOAP encoded format import and export is generated.
The default is to generate support for both literal and encoded format.


• property CarriedKeyName as %String(MAXLEN="");
• property CipherData as %XML.Security.CipherData(XMLREF=1) [ Required ];
• property EncryptionOptions as %Integer(XMLPROJECTION="none");
EncryptionOptions specifies which parts of the message are to be signed. See definitions of $$$SOAPWSEncrypt.... for possibilities.
• property EncryptionProperties as %XML.Security.EncryptionProperties(XMLREF=1);
• property Recipient as %String(MAXLEN="",XMLPROJECTION="attribute");
• property ReferenceList as %XML.Security.ReferenceList(XMLREF=1);
• property UsedAsEncryptionKey as %Boolean(XMLPROJECTION="none");
UsedAsEncryptionKey is true if this EncryptedKey element was used for encryption
• property UsedAsSigningKey as %Boolean(XMLPROJECTION="none");
UsedAsSigningKey is true if this EncryptedKey element was used for signing


• method AddReference(reference As %XML.Security.DataReference, doNotReuse As %Boolean = 0)
Add a reference to XML element using a %XML.Security.DataReference. The reference may be created by using the ##class(%XML.Security.Reference).Create method. If doNotReuse is true, then this reference will be removed during Reset
• classmethod CreateX509(credentials As %SYS.X509Credentials = "", encryptionOptions As %Integer, referenceOption As %Integer, Output status As %Status) as %XML.Security.EncryptedKey
Create an EncryptedKey element that is to carry a symmetric key which is encrypted using an X.509 certificate's public key.
  • The certificate is specified in the token argument by a %SYS.X509Credentials instance containing the certificate or a BinarySecurityToken containing the X509 certificate.
  • The encryptionOptions argument specifies the parts of the SOAP message to be encrypted. The default is to encrypt the body - $$$SOAPWSEncryptSoapBody. $$$SOAPWSEncryptNoBody means body will not be encrypted, but other parts added using AddReference method. $$$SOAPWSEncryptNone means there will be no ReferenceList in the EncryptedKey element. See definitions of $$$SOAPWSEncrypt.... for possibilities.
  • The referenceOption argument specifies the type of reference to create. See definitions of $$$SOAPWSReference.... The default is to use the Thumbprint if the first argument is a %SYS.X509Credentials instance.
• method Equals(credentials As %XML.Security.EncryptedKey) as %Boolean
Return true if the same Key.
• method GetEncryptedKeySHA1() as %Binary
Get EncryptedKeySHA1 format of this EncryptedKey element. Get EncryptedKeySHA1 format of this EncryptedKey element.
• method Initialize() as %Status
Initialize an EncryptedKey element that is intended for creating EncryptedKey elements which will not be in the Security header. EncryptionMethod, and Algorithm or KeySize are expected to be set or defaulted.
• method Reset()
Reset the element.

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