# PasswordCredentialsPolicyType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Supertype: CredentialPolicyType

Structure that specifies policy for password management. It is in fact only a simple reference to a password policy.

This is a credential policy. Which means that it controls how credentials are set (stored). It does not control how credentials are used for authentication. That is controlled by the authentication module setting - and in fact this may even be out of our control completely, e.g. in case that external authentication is used (SSO).

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property string | [0,1] | Unique name of the credential.
description | property string | [0,1] | Free form description of the credential (administrator comment).
storageMethod | container CredentialsStorageMethodType | [0,1] | Method used to store the values of this credential (encrypted, hashed, .
resetMethod | container CredentialsResetMethodType | [0,1] | Specifies the method of resetting the credential.
propagationUserControl | property CredentialsPropagationUserControlType | [0,1] |
minOccurs | property string | [0,1] |
maxOccurs | property string | [0,1] |
maxAge | property duration | [0,1] |
minAge | property duration | [0,1] |
warningBeforeExpirationDuration | property duration | [0,1] |
lockoutMaxFailedAttempts | property int | [0,1] |
lockoutFailedAttemptsDuration | property duration | [0,1] |
lockoutDuration | property duration | [0,1] |
valuePolicyRef | reference ObjectReferenceType | [0,1] | Reference to the value policy for the credential.
historyLength | property int | [0,1] |
historyStorageMethod | container CredentialsStorageMethodType | [0,1] | Method used to store historical values of the credential (encrypted, hashed, .
passwordChangeSecurity | property PasswordChangeSecurityType | [0,1] |

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Unique name of the credential. This name is fact a short identifier. It is supposed to give some idea about purpose of the credential to system administrator. It is also used for referencing the credential when needed (e.g. from authentication modules, credential reset specs, etc.) The name may be stored in the user object together with the credential. But it is not supposed to be used as a user-friendly label for credential. Credential name must be unique.

    Credential name is optional, mostly due to historical/compatibility reasons.

    This is a credential policy. Which means that it controls how credentials are set (stored). It does not control how credentials are used for authentication. That is controlled by the authentication module setting - and in fact this may even be out of our control completely, e.g. in case that external authentication is used (SSO).

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Free form description of the credential (administrator comment).

  - #### storageMethod

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Method used to store the values of this credential (encrypted, hashed, ...) If storage method is not specified it defaults to encryption (due to compatibility and convenience reasons).

  - #### resetMethod

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Specifies the method of resetting the credential. This usually applies to a self-service credential reset.

  - #### propagationUserControl

    Flags: RAM,runtime,AVals:2

    Multiplicity: [0,1]

  - #### minOccurs

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### maxOccurs

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### maxAge

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### minAge

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### warningBeforeExpirationDuration

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### lockoutMaxFailedAttempts

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### lockoutFailedAttemptsDuration

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### lockoutDuration

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### valuePolicyRef

    Flags: RAM

    Multiplicity: [0,1]

    Reference to the value policy for the credential.

  - #### historyLength

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### historyStorageMethod

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Method used to store historical values of the credential (encrypted, hashed, ...) If storage type is not specified then it defaults to hashing.

  - #### passwordChangeSecurity

    Flags: RAM,runtime,AVals:2

    Multiplicity: [0,1]