# PGP Verify

> PGP Verify activity for verifying a PGP signature or clearsignature, or validating a public key file.

`UiPath.Cryptography.Activities.PgpVerify`

## Description

Verifies a PGP signature, a clearsignature, or the structural validity of a public key file. The **Verification Type** property selects which check is performed and which inputs are required.

This activity does not throw an error on a verification mismatch. Instead, it returns `False` in the **Result** output. A `False` result means that verification failed because of a wrong key, a tampered payload, or a malformed file.

## Project compatibility

**Windows** | **Cross-platform**

## Windows, Cross-platform configuration

* **Verification Type** - The check to perform. The following options are available:
  * **Signed File (Binary)** (default) - Verifies a binary-signed file produced by the **PGP Sign File** activity. Requires **Signed File Path** and **Public Key File Path**.
  * **ClearSigned File (Text)** - Verifies a clear-text signed file produced by the **PGP ClearSign File** activity. Requires **Signed File Path** and **Public Key File Path**.
  * **Validate Public Key** - Validates that a file is a well-formed public key. Requires **Public Key File Path** only; **Signed File Path** is ignored and its field is hidden.
* **Signed File Path** - The path to the signed file to verify. Required for the **Signed File (Binary)** and **ClearSigned File (Text)** types; ignored for **Validate Public Key**. This field supports only strings and `String` variables. To use a project resource instead of a path, select the field's input menu and switch to the **Signed File** input (an `IResource`).
* **Public Key File Path** - The path to the signer's PGP public key file. For **Validate Public Key**, this is the key being validated. This field supports only strings and `String` variables. To use a project resource instead of a path, select the field's input menu and switch to the **Public Key File** input (an `IResource`).

### Advanced options

#### Options
* **Continue On Error** - Specifies if the automation should continue even when the activity throws an error. This field only supports Boolean values (`True`, `False`). The default value is `False`. As a result, if the field is blank and an error is thrown, the execution of the project stops. If the value is set to `True`, the execution of the project continues regardless of any error.
  :::note
  If this activity is included in **Try Catch** and the value of the **Continue On Error** property is `True`, no error is caught when the project is executed.
  :::

#### Output
* **Result** - The verification outcome, stored in a `Boolean` variable for use in other activities. The value is `True` if verification succeeded, and `False` otherwise.
