getProfileSyntax
Returns the complete data dictionary of all the possible EntryTemplates. The data dictionary is returned as a syntax which is a limited scope XML schema. See the following sub-section “Syntax Per Credential Type” for more information.
This method supports the importation of the security question/answer, the updating of initial passwords and security question/answer credentials, and profiles for credentials of the following type:
CRED_ELEMENT_TYPE_PASSWORD
For Java:
String getProfileSyntax(ConfigurationId credProfileId)
throws NoSuchSessionException, ManagementException, LocalizedRemoteException;
For C++:
TString getProfileSyntax(ConfigurationId *credProfileId)
Parameters:
-
credProfileId—Credential profile to be examined.
The ProfileId should always be retrieved using getCredentialProfileIds().
Returns:
The complete data dictionary, as a syntax, of all the possible EntryTemplates for a CredentialProfileTemplate.
Exceptions:
-
SessionException—if there is no valid session (such as session not opened or timed out).
-
ManagementException—if an internal failure occurs.
-
If the ConfigurationId passed is not a legacy profile ID, then a ManagementException is thrown. This protects you from getting entries that cannot possibly be used and ensures that the workflow is terminated as promptly as possible.
-
NoSuchConfigException—if the credential profile addressed by the profileId attribute for any of passed Credential instances is not found.
-
LocalizedRemoteException— (thrown by the Web service layer) only when the most severe, unexpected, SOAP-level failures occur.
Syntax Per Credential Type:
The following sample syntax definitions are those that will change on a per policy basis and which serve as examples. Each syntax is an XML schema definition where only the <xsd:attribute> definition is used.
Within this attribute, constraints such as minimum length, maximum length, regular expressions, and type definitions (for example, integer or float), can be defined. In addition, each syntax attribute carries an optional annotation that can describe the attribute. This typically is used as a tool tip in the UI along with the EntryTemplate.label field (used to label the text field in the UI).
Example: CRED_ELEMENT_TYPE_PASSWORD credential type syntax
The following example shows a password that is limited to a minimum length of four and a maximum length of twelve characters (where all characters in the password must be numeric).
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:attribute name="password">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="^[0-9]{4,12}$"/>
<xsd:minLength value="4"/>
<xsd:maxLength value="12"/>
<xsd:allowWeakPin value="false"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:schema>
The following example shows a password that is limited to a minimum length of eight and a maximum length of twelve characters, with at least one letter and one digit.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:attribute name="password">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="^(?=.*[0-9])(?=.*[a-zA-Z]).{8,12}$"/>
<xsd:minLength value="8"/>
<xsd:maxLength value="12"/>
<xsd:allowWeakPin value="false"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:schema>
Example: CRED_ELEMENT_TYPE_SQ credential type syntax
The following example shows a security question/answer syntax with three questions.
No validation is applied other than a maximum length which should be in place to protect the underlying data storage maximums (it is not derived from policy).
While there is an entry template that indicates the minimum answers (minAnswers), no syntax validation is needed (this is not a required response because it is read-only).
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:attribute name="1">
<xsd:annotation>
<xsd:documentation>Fathers Middle Name
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="25"/>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="2">
<xsd:annotation>
<xsd:documentation>Mothers Maiden Name
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="25"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="3">
<xsd:annotation>
<xsd:documentation>Place of Birth
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="12"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="minAnswers" type="xsd:integer">
</xsd:attribute>
</xsd:schema>