===== Parameters ===== API needs some parameters for signature creation and verification operations which differ according to the signature type. The following table lists basic parameters and their usage. For the complete list, see ''EParameters''. | **P_EXTERNAL_CONTENT** | The content that is signed. It must be an object of ''ISignable'' | | **P_CONTENT_TYPE** | The content type. By default, it is "1, 2, 840, 113549, 1, 7, 1" which means "data".| | **P_CERT_VALIDATION_POLICY** | Certificate Validation Policy to be used in validation of signing certificate. If the parameter ''P_CERT_VALIDATION_POLICIES'' is used or the parameter ''P_VALIDATE_CERTIFICATE_BEFORE_SIGNING'' has the value ''false'' then this parameter is not necessary. | | **P_CERT_VALIDATION_POLICIES** | Certificate Validation Policies for different types of certificates. By using this parameter, several types of certificates (i.e. qualified certificates, timestamp certificate etc.) can be validated together. | | **P_SIGNING_TIME** | Signing time. It is used only if the signature does not have timestamp. For example, a BES signature was received at a certain time. This time can be stored at somewhere and used in this parameter upon future validations. This parameter has no legal meaning. | | **P_TRUST_SIGNINGTIMEATTR** | It is used for verification which indicates if the stated time information in the signing time attribute is trusted. It is ''boolean'' and has the default value ''true''. If the signing time information stated by the user is not trusted then this parameter must be ''false''. | | **P_TSS_INFO** | Timestamp server settings used for EST and more advanced signatures. | | **P_POLICY_ID** | Two independent party may agree on how to verify a signature by complying a common policy. In this case, they should specify the policy in the signed document via ''SignaturePolicyIdentifierAttr''. ''P_POLICY_ID'' stores the id of this policy. | | **P_POLICY_VALUE** | Like ''P_POLICY_ID '', it is used when a signature policy is used. Stores the value of the policy. | | **P_POLICY_DIGEST_ALGORITHM** | It is used when a policy is used. It specifies the digest algorithm used for taking digest of the value of ''SignaturePolicyIdentifierAttr'' before it is signed, which is by default SHA-256. | | **P_INITIAL_CERTIFICATES** | Stores the certificates used in signature verification. | | **P_INITIAL_CRLS** | Stores the CRLs used in signature verification. | | **P_INITIAL_OCSP_RESPONSES** | Stores the OCSP Responses used in signature verification. | | **P_VALIDATE_CERTIFICATE_BEFORE_SIGNING** | By default, the signing certificate is validated during signature verification.When creating BES or EST signatures certificate validation can be omitted by setting this parameter to ''false'',which is not suggested. | | **P_REFERENCE_DIGEST_ALG** | Specifies the digest algorithm used for taking digests of SigningCertificateV1/V2, CompleteCertificateReferences, CompleteRevocationReferences attributes. | |** P_GRACE_PERIOD** | Grace period for the certificate validation, which is by default 86400 seconds(1 day). | |** P_REVOCINFO_PERIOD** | Specifies the interval in which the certificate validation data is collected. For example, when this parameter is 2 days, then only the validation data which is valid between the signature time and the time 2 days after the signature time is used in certificate validation. This parameter must be set at least the grace period. If no value is specified then it is considered as long as possible which does not couse any problem in determining revoked certificates. Setting this parameter to a short value increases the chance of detecting any certificates on hold. | | **P_FORCE_STRICT_REFERENCE_USE** | Indicates that the use of the validation data included in the signed document is mandatory and no other validation data not included in the signed document can be used. Besides setting this parameter to ''true'' also forces the signature to have validation data is in the same order as the certificate references. | | **P_VALIDATE_TIMESTAMP_WHILE_SIGNING** | Indicates that the timestamp in the signed document (if exists) must also be verified. |