From be5b2212f72a2e9a83e8af7326a535d335b0b2c0 Mon Sep 17 00:00:00 2001 From: Lee Fine <50836957+leefine02@users.noreply.github.com> Date: Fri, 1 Nov 2024 16:24:55 +0000 Subject: [PATCH] Ab#63477 (#68) * use dual build action release candidate * target completed 3.1.1 workflow --- .../workflows/keyfactor-starter-workflow.yml | 3 +- CHANGELOG.md | 10 + README.md | 1483 +++++++++++++---- RemoteFile/Discovery.cs | 4 +- .../KDB/KDBCertificateStoreSerializer.cs | 8 +- .../OraWltCertificateStoreSerializer.cs | 8 +- .../PEM/PEMCertificateStoreSerializer.cs | 44 +- .../PKCS12CertificateStoreSerializer.cs | 66 +- RemoteFile/InventoryBase.cs | 1 - RemoteFile/ManagementBase.cs | 1 - RemoteFile/Models/SerializedStoreInfo.cs | 2 +- RemoteFile/RemoteCertificateStore.cs | 12 +- RemoteFile/RemoteFile.csproj | 31 +- .../RemoteHandlers/LinuxLocalHandler.cs | 2 +- RemoteFile/RemoteHandlers/SSHHandler.cs | 41 +- RemoteFile/RemoteHandlers/SSHHelper.cs | 151 -- RemoteFile/RemoteHandlers/WinRMHandler.cs | 6 +- docsource/content.md | 222 +++ .../RFDER-advanced-store-type-dialog.png | Bin 0 -> 41690 bytes .../images/RFDER-basic-store-type-dialog.png | Bin 0 -> 50826 bytes .../RFDER-custom-fields-store-type-dialog.png | Bin 0 -> 44281 bytes .../RFJKS-advanced-store-type-dialog.png | Bin 0 -> 41690 bytes .../images/RFJKS-basic-store-type-dialog.png | Bin 0 -> 50940 bytes .../RFJKS-custom-fields-store-type-dialog.png | Bin 0 -> 40605 bytes .../RFKDB-advanced-store-type-dialog.png | Bin 0 -> 41690 bytes .../images/RFKDB-basic-store-type-dialog.png | Bin 0 -> 51066 bytes .../RFKDB-custom-fields-store-type-dialog.png | Bin 0 -> 40605 bytes .../RFORA-advanced-store-type-dialog.png | Bin 0 -> 41690 bytes .../images/RFORA-basic-store-type-dialog.png | Bin 0 -> 51335 bytes .../RFORA-custom-fields-store-type-dialog.png | Bin 0 -> 44469 bytes .../RFPEM-advanced-store-type-dialog.png | Bin 0 -> 41690 bytes .../images/RFPEM-basic-store-type-dialog.png | Bin 0 -> 50797 bytes .../RFPEM-custom-fields-store-type-dialog.png | Bin 0 -> 51959 bytes .../RFPkcs12-advanced-store-type-dialog.png | Bin 0 -> 41690 bytes .../RFPkcs12-basic-store-type-dialog.png | Bin 0 -> 51842 bytes ...Pkcs12-custom-fields-store-type-dialog.png | Bin 0 -> 40605 bytes docsource/rfder.md | 7 + docsource/rfjks.md | 8 + docsource/rfkdb.md | 8 + docsource/rfora.md | 8 + docsource/rfpem.md | 12 + docsource/rfpkcs12.md | 13 + integration-manifest.json | 924 +++++----- readme-src/readme-pam-support.md | 6 - readme-src/store-types-tables.md | 318 ---- readme_source.md | 535 ------ 46 files changed, 2119 insertions(+), 1815 deletions(-) delete mode 100644 RemoteFile/RemoteHandlers/SSHHelper.cs create mode 100644 docsource/content.md create mode 100644 docsource/images/RFDER-advanced-store-type-dialog.png create mode 100644 docsource/images/RFDER-basic-store-type-dialog.png create mode 100644 docsource/images/RFDER-custom-fields-store-type-dialog.png create mode 100644 docsource/images/RFJKS-advanced-store-type-dialog.png create mode 100644 docsource/images/RFJKS-basic-store-type-dialog.png create mode 100644 docsource/images/RFJKS-custom-fields-store-type-dialog.png create mode 100644 docsource/images/RFKDB-advanced-store-type-dialog.png create mode 100644 docsource/images/RFKDB-basic-store-type-dialog.png create mode 100644 docsource/images/RFKDB-custom-fields-store-type-dialog.png create mode 100644 docsource/images/RFORA-advanced-store-type-dialog.png create mode 100644 docsource/images/RFORA-basic-store-type-dialog.png create mode 100644 docsource/images/RFORA-custom-fields-store-type-dialog.png create mode 100644 docsource/images/RFPEM-advanced-store-type-dialog.png create mode 100644 docsource/images/RFPEM-basic-store-type-dialog.png create mode 100644 docsource/images/RFPEM-custom-fields-store-type-dialog.png create mode 100644 docsource/images/RFPkcs12-advanced-store-type-dialog.png create mode 100644 docsource/images/RFPkcs12-basic-store-type-dialog.png create mode 100644 docsource/images/RFPkcs12-custom-fields-store-type-dialog.png create mode 100644 docsource/rfder.md create mode 100644 docsource/rfjks.md create mode 100644 docsource/rfkdb.md create mode 100644 docsource/rfora.md create mode 100644 docsource/rfpem.md create mode 100644 docsource/rfpkcs12.md delete mode 100644 readme-src/readme-pam-support.md delete mode 100644 readme-src/store-types-tables.md delete mode 100644 readme_source.md diff --git a/.github/workflows/keyfactor-starter-workflow.yml b/.github/workflows/keyfactor-starter-workflow.yml index 6d8de532..0093d2cd 100644 --- a/.github/workflows/keyfactor-starter-workflow.yml +++ b/.github/workflows/keyfactor-starter-workflow.yml @@ -11,9 +11,10 @@ on: jobs: call-starter-workflow: - uses: keyfactor/actions/.github/workflows/starter.yml@v2 + uses: keyfactor/actions/.github/workflows/starter.yml@3.1.1 secrets: token: ${{ secrets.V2BUILDTOKEN}} APPROVE_README_PUSH: ${{ secrets.APPROVE_README_PUSH}} gpg_key: ${{ secrets.KF_GPG_PRIVATE_KEY }} gpg_pass: ${{ secrets.KF_GPG_PASSPHRASE }} + scan_token: ${{ secrets.SAST_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 0696ada3..79bf2739 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +v2.9.0 +- Modify Discovery on Linux servers to filter out ignored folders when searching using the Find command rather than eliminating them after. This was done to eliminate permissions errors. +- Deprecated isRSAPrivateKey custom property on RFPEM certificate store type. Integration now reads the existing private key to determin if it is formatted as PKCS#1 or PKCS#8 and, on renewal, keeps the format the same. For new PEM certificate stores/certificates, PKCS#8 will always be used. PLEASE NOTE, for existing certificate stores that already have isRSAPrivateKey defined, this setting will be ignored. +- Modified RFPkcs12 store type to handle single store certificate stores with no friendly name/alias +- Modify to create 2 builds - one for .net6 and one for .net8 +- Update README to new DocTool format + +v2.8.1 +- Fixed issue were sensitive information could be exposed at debug logging level + v2.8.0 - Added new custom field - Remove Root Certificate from Chain - to allow adding certificate entries with the root CA certificate removed from the chain. - Added SSH KeyboardInteractive Authentication support if Password Authentication is not enabled. diff --git a/README.md b/README.md index 0159c24d..01c08d71 100644 --- a/README.md +++ b/README.md @@ -1,135 +1,74 @@ - -# Remote File - -The Remote File Orchestrator allows for the remote management of file-based certificate stores. Discovery, Inventory, and Management functions are supported. The orchestrator performs operations by first converting the certificate store into a BouncyCastle PKCS12Store. - -#### Integration status: Production - Ready for use in production environments. - -## About the Keyfactor Universal Orchestrator Extension - -This repository contains a Universal Orchestrator Extension which is a plugin to the Keyfactor Universal Orchestrator. Within the Keyfactor Platform, Orchestrators are used to manage “certificate stores” — collections of certificates and roots of trust that are found within and used by various applications. - -The Universal Orchestrator is part of the Keyfactor software distribution and is available via the Keyfactor customer portal. For general instructions on installing Extensions, see the “Keyfactor Command Orchestrator Installation and Configuration Guide” section of the Keyfactor documentation. For configuration details of this specific Extension see below in this readme. - -The Universal Orchestrator is the successor to the Windows Orchestrator. This Orchestrator Extension plugin only works with the Universal Orchestrator and does not work with the Windows Orchestrator. - -## Support for Remote File - -Remote File is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket via the Keyfactor Support Portal at https://support.keyfactor.com - -###### To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab. - ---- - - ---- - - - -## Keyfactor Version Supported - -This extension is compiled against Microsoft's .NET6 Framework and must be installed with the Keyfactor v11.5.1 Universal Orchestrator Framework or earlier. This is not compatible with v11.6+ or v12.x of the Keyfactor Universal Orchestrator Framework. - -## Platform Specific Notes - -The Keyfactor Universal Orchestrator may be installed on either Windows or Linux based platforms. The certificate operations supported by a capability may vary based what platform the capability is installed on. The table below indicates what capabilities are supported based on which platform the encompassing Universal Orchestrator is running. -| Operation | Win | Linux | -|-----|-----|------| -|Supports Management Add|✓ |✓ | -|Supports Management Remove|✓ |✓ | -|Supports Create Store|✓ |✓ | -|Supports Discovery|✓ |✓ | -|Supports Reenrollment| | | -|Supports Inventory|✓ |✓ | - - -## PAM Integration - -This orchestrator extension has the ability to connect to a variety of supported PAM providers to allow for the retrieval of various client hosted secrets right from the orchestrator server itself. This eliminates the need to set up the PAM integration on Keyfactor Command which may be in an environment that the client does not want to have access to their PAM provider. - -The secrets that this orchestrator extension supports for use with a PAM Provider are: - -|Name|Description| -|----|-----------| -|ServerUsername|The user id that will be used to authenticate into the server hosting the store| -|ServerPassword|The password that will be used to authenticate into the server hosting the store| -|StorePassword|The optional password used to secure the certificate store being managed| - - -It is not necessary to use a PAM Provider for all of the secrets available above. If a PAM Provider should not be used, simply enter in the actual value to be used, as normal. - -If a PAM Provider will be used for one of the fields above, start by referencing the [Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam). The GitHub repo for the PAM Provider to be used contains important information such as the format of the `json` needed. What follows is an example but does not reflect the `json` values for all PAM Providers as they have different "instance" and "initialization" parameter names and values. - -
General PAM Provider Configuration -

- - - -### Example PAM Provider Setup - -To use a PAM Provider to resolve a field, in this example the __Server Password__ will be resolved by the `Hashicorp-Vault` provider, first install the PAM Provider extension from the [Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam) on the Universal Orchestrator. - -Next, complete configuration of the PAM Provider on the UO by editing the `manifest.json` of the __PAM Provider__ (e.g. located at extensions/Hashicorp-Vault/manifest.json). The "initialization" parameters need to be entered here: - -~~~ json - "Keyfactor:PAMProviders:Hashicorp-Vault:InitializationInfo": { - "Host": "http://127.0.0.1:8200", - "Path": "v1/secret/data", - "Token": "xxxxxx" - } -~~~ - -After these values are entered, the Orchestrator needs to be restarted to pick up the configuration. Now the PAM Provider can be used on other Orchestrator Extensions. - -### Use the PAM Provider -With the PAM Provider configured as an extenion on the UO, a `json` object can be passed instead of an actual value to resolve the field with a PAM Provider. Consult the [Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam) for the specific format of the `json` object. - -To have the __Server Password__ field resolved by the `Hashicorp-Vault` provider, the corresponding `json` object from the `Hashicorp-Vault` extension needs to be copied and filed in with the correct information: - -~~~ json -{"Secret":"my-kv-secret","Key":"myServerPassword"} -~~~ - -This text would be entered in as the value for the __Server Password__, instead of entering in the actual password. The Orchestrator will attempt to use the PAM Provider to retrieve the __Server Password__. If PAM should not be used, just directly enter in the value for the field. +

+ Remote File Universal Orchestrator Extension +

+ +

+ +Integration Status: production +Release +Issues +GitHub Downloads (all assets, all releases)

-
+

+ + + Support + + · + + Installation + + · + + License + + · + + Related Integrations + +

+## Overview +The Remote File Orchestrator Extension is a multi-purpose integration that can remotely manage a variety of file-based certificate stores and can easily be extended to manage others. The certificate store types that can be managed in the current version are: ---- +* RFJKS - Java Keystores of types JKS or PKCS12 +* RFPkcs12 - Certificate stores that follow the PKCS#12 standard +* RFPEM - Files in PEM format +* RFDER - Files in binary DER format +* RFORA - Pkcs#12 formatted Oracle Wallets +* RFKDB - IBM Key Database files +The Keyfactor Univeral Orchestrator (UO) and RemoteFile Extension can be installed on either Windows or Linux operating systems as well as manage certificates residing on servers of both operating systems. A UO service managing certificates on remote servers is considered to be acting as an Orchestrator, while a UO service managing local certificates on the same server running the service is considered an Agent. When acting as an Orchestrator, connectivity from the orchestrator server hosting the RemoteFile extension to the orchestrated server hosting the certificate store(s) being managed is achieved via either an SSH (for Linux and possibly Windows orchestrated servers) or WinRM (for Windows orchestrated servers) connection. When acting as an agent, SSH/WinRM may still be used, OR the certificate store can be configured to bypass these and instead directly access the orchestrator server's file system. - -## Overview -The Remote File Orchestrator Extension is a multi-purpose integration that can remotely manage a variety of file-based certificate stores and can easily be extended to manage others. The certificate store types that can be managed in the current version are: +![](images/orchestrator-agent.png) -
-RFPkcs12 +Please refer to the READMEs for each supported store type for more information on proper configuration and setup for these different architectures. The supported configurations of Universal Orchestrator hosts and managed orchestrated servers are detailed below: -The RFPkcs12 store type can be used to manage any PKCS#12 compliant file format INCLUDING java keystores of type PKCS12. +| | UO Installed on Windows | UO Installed on Linux | +|-----|-----|------| +|Orchestrated Server hosting certificate store(s) on remote Windows server|WinRM connection | SSH connection | +|Orchestrated Server hosting certificate store(s) on remote Linux server| SSH connection | SSH connection | +|Certificate store(s) on same server as orchestrator service (Agent)| WinRM connection or local file system | SSH connection or local file system | -Use cases supported: -1. One-to-many trust entries - A trust entry is considered single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. -2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate identified with a custom alias. -3. A mix of trust and key entries. +The Remote File Universal Orchestrator extension implements 6 Certificate Store Types. Depending on your use case, you may elect to use one, or all of these Certificate Store Types. Descriptions of each are provided below. -
+
RFJKS (RFJKS) -
-RFJKS +### RFJKS The RFJKS store type can be used to manage java keystores of types JKS or PKCS12. If creating a new java keystore and adding a certificate all via Keyfactor Command, the created java keystore will be of type PKCS12, as java keystores of type JKS have been deprecated as of JDK 9. Use cases supported: -1. One-to-many trust entries - A trust entry is considered single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. -2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate identified with a custom alias. +1. One-to-many trust entries - A trust entry is defined as a single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. +2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate is identified with a custom alias. 3. A mix of trust and key entries. -
-
-RFPEM +
RFPEM (RFPEM) + +### RFPEM The RFPEM store type can be used to manage PEM encoded files. @@ -140,66 +79,75 @@ Use cases supported: 4. Single certificate stores with private key in an external file. 5. Single certificate stores with certificate chain in the file and private key in an external file -NOTE: PEM stores may only have one private key (internal or external) associated with the store, as only one certificate/chain/private key combination can be stored in a PEM store supported by RFPEM. +NOTE: PEM stores may only have one private key (internal or external) associated with the store, as only one certificate/chain/private key combination can be stored in a PEM store supported by RFPEM. Private keys will be stored in encrypted or unencrypted PKCS#8 format (BEGIN [ENCRYPTED] PRIVATE KEY) based on the Store Password set on the Keyfactor Command Certificate Store unless managing a PEM store that currently contains a private key in PKCS#1 format (BEGIN RSA PRIVATE KEY). Store password MUST be set to "No Password" if managing a store with a PKCS#1 private key. +
+ +
RFPkcs12 (RFPkcs12) + +### RFPkcs12 + +The RFPkcs12 store type can be used to manage any PKCS#12 compliant file format INCLUDING java keystores of type PKCS12. +Use cases supported: +1. One-to-many trust entries - A trust entry is defined as a single certificate without a private key in a certificate store. Each trust entry MUST BE identified with a custom friendly name/alias. +2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate MUST BE identified with a custom friendly name/alias. +3. A mix of trust and key entries. Each entry MUST BE identified with a custom friendly name/alias. +4. Single certificate stores with a blank/missing friendly name/alias. Any management add job will replace the current certificate entry and will keep the friendly name/alias blank. The Keyfactor Command certificate store will show the current certificate thumbprint as the entry's alias. + +Use cases not supported: +1. Multiple key and/or trust entries with a mix of existing and non existing friendly names/aliases. +2. Multiple key and/or trust entries with blank friendly names/aliases
-
+
RFDER (RFDER) -RFDER +### RFDER The RFDER store type can be used to manage DER encoded files. Use cases supported: 1. Single certificate stores with private key in an external file. -2. Single certificate stores with no private key. - +2. Single certificate stores with no private key.
-
-RFKDB +
RFKDB (RFKDB) + +### RFKDB The RFKDB store type can be used to manage IBM Key Database Files (KDB) files. The IBM utility, GSKCAPICMD, is used to read and write certificates from and to the target store and is therefore required to be installed on the server where each KDB certificate store being managed resides, and its location MUST be in the system $Path. Use cases supported: -1. One-to-many trust entries - A trust entry is considered single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. -2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate identified with a custom alias. +1. One-to-many trust entries - A trust entry is defined as a single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. +2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate is identified with a custom alias. 3. A mix of trust and key entries. -
-
-RFORA +
RFORA (RFORA) + +### RFORA The RFORA store type can be used to manage Pkcs12 Oracle Wallets. Please note that while this should work for Pkcs12 Oracle Wallets installed on both Windows and Linux servers, this has only been tested on wallets installed on Windows. Please note, when entering the Store Path for an Oracle Wallet in Keyfactor Command, make sure to INCLUDE the eWallet.p12 file name that by convention is the name of the Pkcs12 wallet file that gets created. Use cases supported: -1. One-to-many trust entries - A trust entry is considered single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. -2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate identified with a custom alias. +1. One-to-many trust entries - A trust entry is defined as a single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. +2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate is identified with a custom alias. 3. A mix of trust and key entries. -
-The Keyfactor Univeral Orchestrator (UO) and RemoteFile Extension can be installed on either Windows or Linux operating systems as well as manage certificates residing on servers of both operating systems. A UO service managing certificates on remote servers is considered to be acting as an Orchestrator, while a UO service managing local certificates on the same server running the service is considered an Agent. When acting as an Orchestrator, connectivity from the orchestrator server hosting the RemoteFile extension to the orchestrated server hosting the certificate store(s) being managed is achieved via either an SSH (for Linux and possibly Windows orchestrated servers) or WinRM (for Windows orchestrated servers) connection. When acting as an agent, SSH/WinRM may still be used, OR the certificate store can be configured to bypass these and instead directly access the orchestrator server's file system. -![](images/orchestrator-agent.png) +## Compatibility -Please review the [Prerequisites and Security Considerations](#prerequisites-and-security-considerations) and [Certificate Stores and Discovery Jobs](#certificate-stores-and-discovery-jobs) sections for more information on proper configuration and setup for these different architectures. The supported configurations of Universal Orchestrator hosts and managed orchestrated servers are detailed below: +This integration is compatible with Keyfactor Universal Orchestrator version 10.4 and later. -| | UO Installed on Windows | UO Installed on Linux | -|-----|-----|------| -|Orchestrated Server hosting certificate store(s) on remote Windows server|WinRM connection | SSH connection | -|Orchestrated Server hosting certificate store(s) on remote Linux server| SSH connection | SSH connection | -|Certificate store(s) on same server as orchestrator service (Agent)| WinRM connection or local file system | SSH connection or local file system | +## Support +The Remote File Universal Orchestrator extension is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket with your Keyfactor representative. If you have a support issue, please open a support ticket via the Keyfactor Support Portal at https://support.keyfactor.com. + +> To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab. -  -## Versioning +## Requirements & Prerequisites -The version number of a the Remote File Orchestrator Extension can be verified by right clicking on the RemoteFile.dll file in the Extensions/RemoteFile installation folder, selecting Properties, and then clicking on the Details tab. -  -  +Before installing the Remote File Universal Orchestrator extension, we recommend that you install [kfutil](https://github.com/Keyfactor/kfutil). Kfutil is a command-line tool that simplifies the process of creating store types, installing extensions, and instantiating certificate stores in Keyfactor Command. -## Prerequisites and Security Considerations
Certificate stores hosted on Linux servers: @@ -210,7 +158,8 @@ The version number of a the Remote File Orchestrator Extension can be verified b |---|---| |echo|Used to append a newline and terminate all commands sent.| |find|Used by Discovery jobs to locate potential certificate stores on the file system.| -|cp|Used by Inventory and Management Add/Remove jobs to copy the certificate store file to a temporary file (only when an alternate download folder has been configured).| +|cp|Used by Inventory and Management Add/Remove/Create jobs to determine if certificate store file exists.| +|ls|Used by Management Add/Remove jobs to copy the certificate store file to a temporary file (only when an alternate download folder has been configured).| |chown|Used by the Inventory and Management Add/Remove jobs to set the permissions on the temporary file (only when an alternate download folder has been configured).| |tee|Used by Management Add/Remove jobs to copy the temporary uploaded certificate file to the certificate store file (only when an alternate upload folder has been configured).| |rm|Used by Inventory and Management Add/Remove jobs to remove temporary files (only when an alternate upload/download folder has been configured).| @@ -225,7 +174,7 @@ The version number of a the Remote File Orchestrator Extension can be verified b - PKCS#8 (BEGIN PRIVATE KEY) - ECDSA OPENSSH (BEGIN OPENSSH PRIVATE KEY) -Please reference [Configuration File Setup](#configuration-file-setup) for more information on setting up the config.json file and [Certificate Stores and Discovery Jobs](#certificate-stores-and-discovery-jobs) for more information on the items above. +Please reference [Post Installation](#post-installation) for more information on setting up the config.json file and [Defining Certificate Stores](#defining-certificate-stores) and [Discovering Certificate Stores with the Discovery Job](#discovering-certificate-stores-with-the-discovery-job) for more information on defining and configuring certificate stores.
@@ -236,23 +185,467 @@ Please reference [Configuration File Setup](#configuration-file-setup) for more Please consult with your company's system administrator for more information on configuring SSH/SFTP/SCP or WinRM in your environment. - -  -## Remote File Orchestrator Extension Installation -1. Review the [Prerequisites and Security Considerations](#prerequisites-and-security-considerations) section and make sure your environment is set up as required. -2. Refer to the [Creating Certificate Store Types](#creating-certificate-store-types) section to create the certificate store types you wish to manage. -3. Stop the Keyfactor Universal Orchestrator Service on the server you plan to install this extension to run on. -4. In the Keyfactor Orchestrator installation folder (by convention usually C:\Program Files\Keyfactor\Keyfactor Orchestrator for a Windows install or /opt/keyfactor/orchestrator/ for a Linux install), find the "Extensions" folder. Underneath that, create a new folder named "RemoteFile". You may choose to use a different name if you wish. -5. Download the latest version of the RemoteFile orchestrator extension from [GitHub](https://github.com/Keyfactor/remote-file-orchestrator). Click on the "Latest" release link on the right hand side of the main page and download the first zip file. -6. Copy the contents of the download installation zip file to the folder created in step 4. -7. (Optional) If you decide to create one or more certificate store types with short names different than the suggested values, edit the manifest.json file in the folder you created in step 4, and modify each "ShortName" in each "Certstores.{ShortName}.{Operation}" line with the ShortName you used to create the respective certificate store type. -8. Modify the config.json file to use the settings you desire. Please go to [Configuration File Setup](#configuration-file-setup) to learn more. -9. Start the Keyfactor Universal Orchestrator Service. -
+## Create Certificate Store Types + +To use the Remote File Universal Orchestrator extension, you **must** create the Certificate Store Types required for your usecase. This only needs to happen _once_ per Keyfactor Command instance. + +The Remote File Universal Orchestrator extension implements 6 Certificate Store Types. Depending on your use case, you may elect to use one, or all of these Certificate Store Types. + +
RFJKS (RFJKS) + + +* **Create RFJKS using kfutil**: + + ```shell + # RFJKS + kfutil store-types create RFJKS + ``` + +* **Create RFJKS manually in the Command UI**: +
Create RFJKS manually in the Command UI + + Create a store type called `RFJKS` with the attributes in the tables below: + + #### Basic Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Name | RFJKS | Display name for the store type (may be customized) | + | Short Name | RFJKS | Short display name for the store type | + | Capability | RFJKS | Store type name orchestrator will register with. Check the box to allow entry of value | + | Supports Add | ✅ Checked | Check the box. Indicates that the Store Type supports Management Add | + | Supports Remove | ✅ Checked | Check the box. Indicates that the Store Type supports Management Remove | + | Supports Discovery | ✅ Checked | Check the box. Indicates that the Store Type supports Discovery | + | Supports Reenrollment | 🔲 Unchecked | Indicates that the Store Type supports Reenrollment | + | Supports Create | ✅ Checked | Check the box. Indicates that the Store Type supports store creation | + | Needs Server | ✅ Checked | Determines if a target server name is required when creating store | + | Blueprint Allowed | 🔲 Unchecked | Determines if store type may be included in an Orchestrator blueprint | + | Uses PowerShell | 🔲 Unchecked | Determines if underlying implementation is PowerShell | + | Requires Store Password | ✅ Checked | Enables users to optionally specify a store password when defining a Certificate Store. | + | Supports Entry Password | 🔲 Unchecked | Determines if an individual entry within a store can have a password. | + + The Basic tab should look like this: + + ![RFJKS Basic Tab](docsource/images/RFJKS-basic-store-type-dialog.png) + + #### Advanced Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Supports Custom Alias | Required | Determines if an individual entry within a store can have a custom Alias. | + | Private Key Handling | Optional | This determines if Keyfactor can send the private key associated with a certificate to the store. Required because IIS certificates without private keys would be invalid. | + | PFX Password Style | Default | 'Default' - PFX password is randomly generated, 'Custom' - PFX password may be specified when the enrollment job is created (Requires the Allow Custom Password application setting to be enabled.) | + + The Advanced tab should look like this: + + ![RFJKS Advanced Tab](docsource/images/RFJKS-advanced-store-type-dialog.png) + + #### Custom Fields Tab + Custom fields operate at the certificate store level and are used to control how the orchestrator connects to the remote target server containing the certificate store to be managed. The following custom fields should be added to the store type: + + | Name | Display Name | Description | Type | Default Value/Options | Required | + | ---- | ------------ | ---- | --------------------- | -------- | ----------- | + | ServerUsername | Server Username | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | ServerPassword | Server Password | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | LinuxFilePermissionsOnStoreCreation | Linux File Permissions on Store Creation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | String | | 🔲 Unchecked | + | LinuxFileOwnerOnStoreCreation | Linux File Owner on Store Creation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | String | | 🔲 Unchecked | + | SudoImpersonatingUser | Sudo Impersonating User | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | String | | 🔲 Unchecked | + + The Custom Fields tab should look like this: + + ![RFJKS Custom Fields Tab](docsource/images/RFJKS-custom-fields-store-type-dialog.png) + + + +
+
+ +
RFPEM (RFPEM) + + +* **Create RFPEM using kfutil**: + + ```shell + # RFPEM + kfutil store-types create RFPEM + ``` + +* **Create RFPEM manually in the Command UI**: +
Create RFPEM manually in the Command UI + + Create a store type called `RFPEM` with the attributes in the tables below: + + #### Basic Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Name | RFPEM | Display name for the store type (may be customized) | + | Short Name | RFPEM | Short display name for the store type | + | Capability | RFPEM | Store type name orchestrator will register with. Check the box to allow entry of value | + | Supports Add | ✅ Checked | Check the box. Indicates that the Store Type supports Management Add | + | Supports Remove | ✅ Checked | Check the box. Indicates that the Store Type supports Management Remove | + | Supports Discovery | ✅ Checked | Check the box. Indicates that the Store Type supports Discovery | + | Supports Reenrollment | 🔲 Unchecked | Indicates that the Store Type supports Reenrollment | + | Supports Create | ✅ Checked | Check the box. Indicates that the Store Type supports store creation | + | Needs Server | ✅ Checked | Determines if a target server name is required when creating store | + | Blueprint Allowed | 🔲 Unchecked | Determines if store type may be included in an Orchestrator blueprint | + | Uses PowerShell | 🔲 Unchecked | Determines if underlying implementation is PowerShell | + | Requires Store Password | ✅ Checked | Enables users to optionally specify a store password when defining a Certificate Store. | + | Supports Entry Password | 🔲 Unchecked | Determines if an individual entry within a store can have a password. | + + The Basic tab should look like this: + + ![RFPEM Basic Tab](docsource/images/RFPEM-basic-store-type-dialog.png) + + #### Advanced Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Supports Custom Alias | Forbidden | Determines if an individual entry within a store can have a custom Alias. | + | Private Key Handling | Optional | This determines if Keyfactor can send the private key associated with a certificate to the store. Required because IIS certificates without private keys would be invalid. | + | PFX Password Style | Default | 'Default' - PFX password is randomly generated, 'Custom' - PFX password may be specified when the enrollment job is created (Requires the Allow Custom Password application setting to be enabled.) | + + The Advanced tab should look like this: + + ![RFPEM Advanced Tab](docsource/images/RFPEM-advanced-store-type-dialog.png) + + #### Custom Fields Tab + Custom fields operate at the certificate store level and are used to control how the orchestrator connects to the remote target server containing the certificate store to be managed. The following custom fields should be added to the store type: + + | Name | Display Name | Description | Type | Default Value/Options | Required | + | ---- | ------------ | ---- | --------------------- | -------- | ----------- | + | ServerUsername | Server Username | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | ServerPassword | Server Password | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | LinuxFilePermissionsOnStoreCreation | Linux File Permissions on Store Creation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | String | | 🔲 Unchecked | + | LinuxFileOwnerOnStoreCreation | Linux File Owner on Store Creation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | String | | 🔲 Unchecked | + | SudoImpersonatingUser | Sudo Impersonating User | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | String | | 🔲 Unchecked | + | IsTrustStore | Trust Store | The IsTrustStore field should contain a boolean value ('true' or 'false') indicating whether the store will be identified as a trust store, which can hold multiple certificates without private keys. Example: 'true' for a trust store or 'false' for a store with a single certificate and private key. | Bool | false | 🔲 Unchecked | + | IncludesChain | Store Includes Chain | The IncludesChain field should contain a boolean value ('true' or 'false') indicating whether the certificate store includes the full certificate chain along with the end entity certificate. Example: 'true' to include the full chain or 'false' to exclude it. | Bool | false | 🔲 Unchecked | + | SeparatePrivateKeyFilePath | Separate Private Key File Location | The SeparatePrivateKeyFilePath field should contain the full path and file name where the separate private key file will be stored if it is to be kept outside the main certificate file. Example: '/path/to/privatekey.pem'. | String | | 🔲 Unchecked | + | IgnorePrivateKeyOnInventory | Ignore Private Key On Inventory | The IgnorePrivateKeyOnInventory field should contain a boolean value ('true' or 'false') indicating whether to ignore the private key during inventory, which will make the store inventory-only and return all certificates without private key entries. Example: 'true' to ignore the private key or 'false' to include it. | Bool | false | 🔲 Unchecked | + + The Custom Fields tab should look like this: + + ![RFPEM Custom Fields Tab](docsource/images/RFPEM-custom-fields-store-type-dialog.png) + + + +
+
+ +
RFPkcs12 (RFPkcs12) + + +* **Create RFPkcs12 using kfutil**: + + ```shell + # RFPkcs12 + kfutil store-types create RFPkcs12 + ``` + +* **Create RFPkcs12 manually in the Command UI**: +
Create RFPkcs12 manually in the Command UI + + Create a store type called `RFPkcs12` with the attributes in the tables below: + + #### Basic Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Name | RFPkcs12 | Display name for the store type (may be customized) | + | Short Name | RFPkcs12 | Short display name for the store type | + | Capability | RFPkcs12 | Store type name orchestrator will register with. Check the box to allow entry of value | + | Supports Add | ✅ Checked | Check the box. Indicates that the Store Type supports Management Add | + | Supports Remove | ✅ Checked | Check the box. Indicates that the Store Type supports Management Remove | + | Supports Discovery | ✅ Checked | Check the box. Indicates that the Store Type supports Discovery | + | Supports Reenrollment | 🔲 Unchecked | Indicates that the Store Type supports Reenrollment | + | Supports Create | ✅ Checked | Check the box. Indicates that the Store Type supports store creation | + | Needs Server | ✅ Checked | Determines if a target server name is required when creating store | + | Blueprint Allowed | 🔲 Unchecked | Determines if store type may be included in an Orchestrator blueprint | + | Uses PowerShell | 🔲 Unchecked | Determines if underlying implementation is PowerShell | + | Requires Store Password | ✅ Checked | Enables users to optionally specify a store password when defining a Certificate Store. | + | Supports Entry Password | 🔲 Unchecked | Determines if an individual entry within a store can have a password. | + + The Basic tab should look like this: + + ![RFPkcs12 Basic Tab](docsource/images/RFPkcs12-basic-store-type-dialog.png) + + #### Advanced Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Supports Custom Alias | Required | Determines if an individual entry within a store can have a custom Alias. | + | Private Key Handling | Optional | This determines if Keyfactor can send the private key associated with a certificate to the store. Required because IIS certificates without private keys would be invalid. | + | PFX Password Style | Default | 'Default' - PFX password is randomly generated, 'Custom' - PFX password may be specified when the enrollment job is created (Requires the Allow Custom Password application setting to be enabled.) | + + The Advanced tab should look like this: + + ![RFPkcs12 Advanced Tab](docsource/images/RFPkcs12-advanced-store-type-dialog.png) + + #### Custom Fields Tab + Custom fields operate at the certificate store level and are used to control how the orchestrator connects to the remote target server containing the certificate store to be managed. The following custom fields should be added to the store type: + + | Name | Display Name | Description | Type | Default Value/Options | Required | + | ---- | ------------ | ---- | --------------------- | -------- | ----------- | + | ServerUsername | Server Username | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | ServerPassword | Server Password | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | LinuxFilePermissionsOnStoreCreation | Linux File Permissions on Store Creation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | String | | 🔲 Unchecked | + | LinuxFileOwnerOnStoreCreation | Linux File Owner on Store Creation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | String | | 🔲 Unchecked | + | SudoImpersonatingUser | Sudo Impersonating User | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | String | | 🔲 Unchecked | + + The Custom Fields tab should look like this: + + ![RFPkcs12 Custom Fields Tab](docsource/images/RFPkcs12-custom-fields-store-type-dialog.png) + + + +
+
+ +
RFDER (RFDER) + + +* **Create RFDER using kfutil**: + + ```shell + # RFDER + kfutil store-types create RFDER + ``` + +* **Create RFDER manually in the Command UI**: +
Create RFDER manually in the Command UI + + Create a store type called `RFDER` with the attributes in the tables below: + + #### Basic Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Name | RFDER | Display name for the store type (may be customized) | + | Short Name | RFDER | Short display name for the store type | + | Capability | RFDER | Store type name orchestrator will register with. Check the box to allow entry of value | + | Supports Add | ✅ Checked | Check the box. Indicates that the Store Type supports Management Add | + | Supports Remove | ✅ Checked | Check the box. Indicates that the Store Type supports Management Remove | + | Supports Discovery | ✅ Checked | Check the box. Indicates that the Store Type supports Discovery | + | Supports Reenrollment | 🔲 Unchecked | Indicates that the Store Type supports Reenrollment | + | Supports Create | ✅ Checked | Check the box. Indicates that the Store Type supports store creation | + | Needs Server | ✅ Checked | Determines if a target server name is required when creating store | + | Blueprint Allowed | 🔲 Unchecked | Determines if store type may be included in an Orchestrator blueprint | + | Uses PowerShell | 🔲 Unchecked | Determines if underlying implementation is PowerShell | + | Requires Store Password | ✅ Checked | Enables users to optionally specify a store password when defining a Certificate Store. | + | Supports Entry Password | 🔲 Unchecked | Determines if an individual entry within a store can have a password. | + + The Basic tab should look like this: + + ![RFDER Basic Tab](docsource/images/RFDER-basic-store-type-dialog.png) + + #### Advanced Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Supports Custom Alias | Forbidden | Determines if an individual entry within a store can have a custom Alias. | + | Private Key Handling | Optional | This determines if Keyfactor can send the private key associated with a certificate to the store. Required because IIS certificates without private keys would be invalid. | + | PFX Password Style | Default | 'Default' - PFX password is randomly generated, 'Custom' - PFX password may be specified when the enrollment job is created (Requires the Allow Custom Password application setting to be enabled.) | + + The Advanced tab should look like this: + + ![RFDER Advanced Tab](docsource/images/RFDER-advanced-store-type-dialog.png) + + #### Custom Fields Tab + Custom fields operate at the certificate store level and are used to control how the orchestrator connects to the remote target server containing the certificate store to be managed. The following custom fields should be added to the store type: + + | Name | Display Name | Description | Type | Default Value/Options | Required | + | ---- | ------------ | ---- | --------------------- | -------- | ----------- | + | ServerUsername | Server Username | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | ServerPassword | Server Password | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | LinuxFilePermissionsOnStoreCreation | Linux File Permissions on Store Creation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | String | | 🔲 Unchecked | + | LinuxFileOwnerOnStoreCreation | Linux File Owner on Store Creation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | String | | 🔲 Unchecked | + | SudoImpersonatingUser | Sudo Impersonating User | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | String | | 🔲 Unchecked | + | SeparatePrivateKeyFilePath | Separate Private Key File Location | The SeparatePrivateKeyFilePath field should contain the full path and file name where the separate private key file will be stored if it is to be kept outside the main certificate file. Example: '/path/to/privatekey.der'. | String | | 🔲 Unchecked | + + The Custom Fields tab should look like this: + + ![RFDER Custom Fields Tab](docsource/images/RFDER-custom-fields-store-type-dialog.png) + + + +
+
+ +
RFKDB (RFKDB) + + +* **Create RFKDB using kfutil**: + + ```shell + # RFKDB + kfutil store-types create RFKDB + ``` + +* **Create RFKDB manually in the Command UI**: +
Create RFKDB manually in the Command UI + + Create a store type called `RFKDB` with the attributes in the tables below: + + #### Basic Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Name | RFKDB | Display name for the store type (may be customized) | + | Short Name | RFKDB | Short display name for the store type | + | Capability | RFKDB | Store type name orchestrator will register with. Check the box to allow entry of value | + | Supports Add | ✅ Checked | Check the box. Indicates that the Store Type supports Management Add | + | Supports Remove | ✅ Checked | Check the box. Indicates that the Store Type supports Management Remove | + | Supports Discovery | ✅ Checked | Check the box. Indicates that the Store Type supports Discovery | + | Supports Reenrollment | 🔲 Unchecked | Indicates that the Store Type supports Reenrollment | + | Supports Create | ✅ Checked | Check the box. Indicates that the Store Type supports store creation | + | Needs Server | ✅ Checked | Determines if a target server name is required when creating store | + | Blueprint Allowed | 🔲 Unchecked | Determines if store type may be included in an Orchestrator blueprint | + | Uses PowerShell | 🔲 Unchecked | Determines if underlying implementation is PowerShell | + | Requires Store Password | ✅ Checked | Enables users to optionally specify a store password when defining a Certificate Store. | + | Supports Entry Password | 🔲 Unchecked | Determines if an individual entry within a store can have a password. | + + The Basic tab should look like this: + + ![RFKDB Basic Tab](docsource/images/RFKDB-basic-store-type-dialog.png) + + #### Advanced Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Supports Custom Alias | Required | Determines if an individual entry within a store can have a custom Alias. | + | Private Key Handling | Optional | This determines if Keyfactor can send the private key associated with a certificate to the store. Required because IIS certificates without private keys would be invalid. | + | PFX Password Style | Default | 'Default' - PFX password is randomly generated, 'Custom' - PFX password may be specified when the enrollment job is created (Requires the Allow Custom Password application setting to be enabled.) | + + The Advanced tab should look like this: + + ![RFKDB Advanced Tab](docsource/images/RFKDB-advanced-store-type-dialog.png) + + #### Custom Fields Tab + Custom fields operate at the certificate store level and are used to control how the orchestrator connects to the remote target server containing the certificate store to be managed. The following custom fields should be added to the store type: + + | Name | Display Name | Description | Type | Default Value/Options | Required | + | ---- | ------------ | ---- | --------------------- | -------- | ----------- | + | ServerUsername | Server Username | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | ServerPassword | Server Password | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | LinuxFilePermissionsOnStoreCreation | Linux File Permissions on Store Creation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | String | | 🔲 Unchecked | + | LinuxFileOwnerOnStoreCreation | Linux File Owner on Store Creation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | String | | 🔲 Unchecked | + | SudoImpersonatingUser | Sudo Impersonating User | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | String | | 🔲 Unchecked | + + The Custom Fields tab should look like this: -  -## Configuration File Setup + ![RFKDB Custom Fields Tab](docsource/images/RFKDB-custom-fields-store-type-dialog.png) + + + +
+
+ +
RFORA (RFORA) + + +* **Create RFORA using kfutil**: + + ```shell + # RFORA + kfutil store-types create RFORA + ``` + +* **Create RFORA manually in the Command UI**: +
Create RFORA manually in the Command UI + + Create a store type called `RFORA` with the attributes in the tables below: + + #### Basic Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Name | RFORA | Display name for the store type (may be customized) | + | Short Name | RFORA | Short display name for the store type | + | Capability | RFORA | Store type name orchestrator will register with. Check the box to allow entry of value | + | Supports Add | ✅ Checked | Check the box. Indicates that the Store Type supports Management Add | + | Supports Remove | ✅ Checked | Check the box. Indicates that the Store Type supports Management Remove | + | Supports Discovery | ✅ Checked | Check the box. Indicates that the Store Type supports Discovery | + | Supports Reenrollment | 🔲 Unchecked | Indicates that the Store Type supports Reenrollment | + | Supports Create | ✅ Checked | Check the box. Indicates that the Store Type supports store creation | + | Needs Server | ✅ Checked | Determines if a target server name is required when creating store | + | Blueprint Allowed | 🔲 Unchecked | Determines if store type may be included in an Orchestrator blueprint | + | Uses PowerShell | 🔲 Unchecked | Determines if underlying implementation is PowerShell | + | Requires Store Password | ✅ Checked | Enables users to optionally specify a store password when defining a Certificate Store. | + | Supports Entry Password | 🔲 Unchecked | Determines if an individual entry within a store can have a password. | + + The Basic tab should look like this: + + ![RFORA Basic Tab](docsource/images/RFORA-basic-store-type-dialog.png) + + #### Advanced Tab + | Attribute | Value | Description | + | --------- | ----- | ----- | + | Supports Custom Alias | Required | Determines if an individual entry within a store can have a custom Alias. | + | Private Key Handling | Optional | This determines if Keyfactor can send the private key associated with a certificate to the store. Required because IIS certificates without private keys would be invalid. | + | PFX Password Style | Default | 'Default' - PFX password is randomly generated, 'Custom' - PFX password may be specified when the enrollment job is created (Requires the Allow Custom Password application setting to be enabled.) | + + The Advanced tab should look like this: + + ![RFORA Advanced Tab](docsource/images/RFORA-advanced-store-type-dialog.png) + + #### Custom Fields Tab + Custom fields operate at the certificate store level and are used to control how the orchestrator connects to the remote target server containing the certificate store to be managed. The following custom fields should be added to the store type: + + | Name | Display Name | Description | Type | Default Value/Options | Required | + | ---- | ------------ | ---- | --------------------- | -------- | ----------- | + | ServerUsername | Server Username | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | ServerPassword | Server Password | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | Secret | | 🔲 Unchecked | + | LinuxFilePermissionsOnStoreCreation | Linux File Permissions on Store Creation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | String | | 🔲 Unchecked | + | LinuxFileOwnerOnStoreCreation | Linux File Owner on Store Creation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | String | | 🔲 Unchecked | + | SudoImpersonatingUser | Sudo Impersonating User | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | String | | 🔲 Unchecked | + | WorkFolder | Location to use for creation/removal of work files | The WorkFolder field should contain the path on the managed server where temporary work files can be created, modified, and deleted during Inventory and Management jobs. Example: '/path/to/workfolder'. | String | | ✅ Checked | + + The Custom Fields tab should look like this: + + ![RFORA Custom Fields Tab](docsource/images/RFORA-custom-fields-store-type-dialog.png) + + + +
+
+ + +## Installation + +1. **Download the latest Remote File Universal Orchestrator extension from GitHub.** + + Navigate to the [Remote File Universal Orchestrator extension GitHub version page](https://github.com/Keyfactor/remote-file-orchestrator/releases/latest). Refer to the compatibility matrix below to determine whether the `net6.0` or `net8.0` asset should be downloaded. Then, click the corresponding asset to download the zip archive. + | Universal Orchestrator Version | Latest .NET version installed on the Universal Orchestrator server | `rollForward` condition in `Orchestrator.runtimeconfig.json` | `remote-file-orchestrator` .NET version to download | + | --------- | ----------- | ----------- | ----------- | + | Older than `11.0.0` | | | `net6.0` | + | Between `11.0.0` and `11.5.1` (inclusive) | `net6.0` | | `net6.0` | + | Between `11.0.0` and `11.5.1` (inclusive) | `net8.0` | `Never` | `net6.0` | + | Between `11.0.0` and `11.5.1` (inclusive) | `net8.0` | `LatestMajor` | `net8.0` | + | `11.6` _and_ newer | `net8.0` | | `net8.0` | + + Unzip the archive containing extension assemblies to a known location. + + > **Note** If you don't see an asset with a corresponding .NET version, you should always assume that it was compiled for `net6.0`. + +2. **Locate the Universal Orchestrator extensions directory.** + + * **Default on Windows** - `C:\Program Files\Keyfactor\Keyfactor Orchestrator\extensions` + * **Default on Linux** - `/opt/keyfactor/orchestrator/extensions` + +3. **Create a new directory for the Remote File Universal Orchestrator extension inside the extensions directory.** + + Create a new directory called `remote-file-orchestrator`. + > The directory name does not need to match any names used elsewhere; it just has to be unique within the extensions directory. + +4. **Copy the contents of the downloaded and unzipped assemblies from __step 2__ to the `remote-file-orchestrator` directory.** + +5. **Restart the Universal Orchestrator service.** + + Refer to [Starting/Restarting the Universal Orchestrator service](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/StarttheService.htm). + + +6. **(optional) PAM Integration** + + The Remote File Universal Orchestrator extension is compatible with all supported Keyfactor PAM extensions to resolve PAM-eligible secrets. PAM extensions running on Universal Orchestrators enable secure retrieval of secrets from a connected PAM provider. + + To configure a PAM provider, [reference the Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam) to select an extension, and follow the associated instructions to install it on the Universal Orchestrator (remote). + + +> The above installation steps can be supplimented by the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/CustomExtensions.htm?Highlight=extensions). + + +## Post Installation The Remote File Orchestrator Extension uses a JSON configuration file. It is located in the {Keyfactor Orchestrator Installation Folder}\Extensions\RemoteFile. None of the values are required, and a description of each follows below: { @@ -338,278 +731,683 @@ The Remote File Orchestrator Extension uses a JSON configuration file. It is lo
-  -## Creating Certificate Store Types -Below are the various certificate store types that the RemoteFile Orchestator Extension manages. To create a new Certificate Store Type in Keyfactor Command, first click on settings (the gear icon on the top right) => Certificate Store Types => Add. Next, follow the incstructions under each store type you wish to set up. +## Defining Certificate Stores -
-RFPkcs12 - Pkcs12 formatted certificate file (including java keystores of type PKCS12) +The Remote File Universal Orchestrator extension implements 6 Certificate Store Types, each of which implements different functionality. Refer to the individual instructions below for each Certificate Store Type that you deemed necessary for your use case from the installation section. -- Basic Tab: +
RFJKS (RFJKS) - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFPkcs12**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. -- Advanced Tab: +* **Manually with the Command UI** - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Required. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default +
Create Certificate Stores manually in the UI -- Custom Fields Tab: + 1. **Navigate to the _Certificate Stores_ page in Keyfactor Command.** - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. + Log into Keyfactor Command, toggle the _Locations_ dropdown, and click _Certificate Stores_. + 2. **Add a Certificate Store.** -- Entry Parameters Tab: + Click the Add button to add a new Certificate Store. Use the table below to populate the **Attributes** in the **Add** form. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFJKS" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The IP address or DNS of the server hosting the certificate store. For more information, see [Client Machine ](#client-machine-instructions) | + | Store Path | The full path and file name, including file extension if one exists where the certificate store file is located. For Linux orchestrated servers, StorePath will begin with a forward slash (i.e. /folder/path/storename.ext). For Windows orchestrated servers, it should begin with a drive letter (i.e. c:\folder\path\storename.ext). | + | Orchestrator | Select an approved orchestrator capable of managing `RFJKS` certificates. Specifically, one with the `RFJKS` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | Store Password | Password used to secure the Certificate Store | - - no additional entry parameters + -
+
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator -
-RFJKS - Java keystore + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store | + + Please refer to the **Universal Orchestrator (remote)** usage section ([PAM providers on the Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam)) for your selected PAM provider for instructions on how to load attributes orchestrator-side. + + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ + +
+ +* **Using kfutil** + +
Create Certificate Stores with kfutil + + 1. **Generate a CSV template for the RFJKS certificate store** -- Basic Tab: + ```shell + kfutil stores import generate-template --store-type-name RFJKS --outpath RFJKS.csv + ``` + 2. **Populate the generated CSV file** - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFJKS**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. + Open the CSV file, and reference the table below to populate parameters for each **Attribute**. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFJKS" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The IP address or DNS of the server hosting the certificate store. For more information, see [Client Machine ](#client-machine-instructions) | + | Store Path | The full path and file name, including file extension if one exists where the certificate store file is located. For Linux orchestrated servers, StorePath will begin with a forward slash (i.e. /folder/path/storename.ext). For Windows orchestrated servers, it should begin with a drive letter (i.e. c:\folder\path\storename.ext). | + | Orchestrator | Select an approved orchestrator capable of managing `RFJKS` certificates. Specifically, one with the `RFJKS` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | Store Password | Password used to secure the Certificate Store | -- Advanced Tab: + - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Required. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator -- Custom Fields Tab: - - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above.**. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store | -- Entry Parameters Tab: + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ + + 3. **Import the CSV file to create the certificate stores** + + ```shell + kfutil stores import csv --store-type-name RFJKS --file RFJKS.csv + ``` +
+ +> The content in this section can be supplimented by the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store). - - no additional entry parameters
-
-RFPEM - PEM formatted certificate file +
RFPEM (RFPEM) + + +* **Manually with the Command UI** + +
Create Certificate Stores manually in the UI + + 1. **Navigate to the _Certificate Stores_ page in Keyfactor Command.** + + Log into Keyfactor Command, toggle the _Locations_ dropdown, and click _Certificate Stores_. + + 2. **Add a Certificate Store.** + + Click the Add button to add a new Certificate Store. Use the table below to populate the **Attributes** in the **Add** form. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFPEM" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The Client Machine field should contain the DNS name or IP address of the remote orchestrated server for Linux orchestrated servers, formatted as a URL (protocol://dns-or-ip:port) for Windows orchestrated servers, or '1.1.1.1|LocalMachine' for local agents. Example: 'https://myserver.mydomain.com:5986' or '1.1.1.1|LocalMachine' for local access. | + | Store Path | The Store Path field should contain the full path and file name, including file extension if applicable, beginning with a forward slash (/) for Linux orchestrated servers or a drive letter (i.e., c:\folder\path\storename.ext) for Windows orchestrated servers. Example: '/folder/path/storename.pem' or 'c:\folder\path\storename.pem'. | + | Orchestrator | Select an approved orchestrator capable of managing `RFPEM` certificates. Specifically, one with the `RFPEM` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | IsTrustStore | The IsTrustStore field should contain a boolean value ('true' or 'false') indicating whether the store will be identified as a trust store, which can hold multiple certificates without private keys. Example: 'true' for a trust store or 'false' for a store with a single certificate and private key. | + | IncludesChain | The IncludesChain field should contain a boolean value ('true' or 'false') indicating whether the certificate store includes the full certificate chain along with the end entity certificate. Example: 'true' to include the full chain or 'false' to exclude it. | + | SeparatePrivateKeyFilePath | The SeparatePrivateKeyFilePath field should contain the full path and file name where the separate private key file will be stored if it is to be kept outside the main certificate file. Example: '/path/to/privatekey.pem'. | + | IgnorePrivateKeyOnInventory | The IgnorePrivateKeyOnInventory field should contain a boolean value ('true' or 'false') indicating whether to ignore the private key during inventory, which will make the store inventory-only and return all certificates without private key entries. Example: 'true' to ignore the private key or 'false' to include it. | + | Store Password | Password used to secure the Certificate Store. For stores with PKCS#8 private keys, set the password for encrypted private keys (BEGIN ENCRYPTED PRIVATE KEY) or 'No Value' for unencrypted private keys (BEGIN PRIVATE KEY). If managing a store with a PKCS#1 private key (BEGIN RSA PRIVATE KEY), this value MUST be set to 'No Value' | + + + +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator + + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store. For stores with PKCS#8 private keys, set the password for encrypted private keys (BEGIN ENCRYPTED PRIVATE KEY) or 'No Value' for unencrypted private keys (BEGIN PRIVATE KEY). If managing a store with a PKCS#1 private key (BEGIN RSA PRIVATE KEY), this value MUST be set to 'No Value' | + + Please refer to the **Universal Orchestrator (remote)** usage section ([PAM providers on the Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam)) for your selected PAM provider for instructions on how to load attributes orchestrator-side. + + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ + +
+ +* **Using kfutil** + +
Create Certificate Stores with kfutil + + 1. **Generate a CSV template for the RFPEM certificate store** + + ```shell + kfutil stores import generate-template --store-type-name RFPEM --outpath RFPEM.csv + ``` + 2. **Populate the generated CSV file** -- Basic Tab: + Open the CSV file, and reference the table below to populate parameters for each **Attribute**. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFPEM" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The Client Machine field should contain the DNS name or IP address of the remote orchestrated server for Linux orchestrated servers, formatted as a URL (protocol://dns-or-ip:port) for Windows orchestrated servers, or '1.1.1.1|LocalMachine' for local agents. Example: 'https://myserver.mydomain.com:5986' or '1.1.1.1|LocalMachine' for local access. | + | Store Path | The Store Path field should contain the full path and file name, including file extension if applicable, beginning with a forward slash (/) for Linux orchestrated servers or a drive letter (i.e., c:\folder\path\storename.ext) for Windows orchestrated servers. Example: '/folder/path/storename.pem' or 'c:\folder\path\storename.pem'. | + | Orchestrator | Select an approved orchestrator capable of managing `RFPEM` certificates. Specifically, one with the `RFPEM` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | IsTrustStore | The IsTrustStore field should contain a boolean value ('true' or 'false') indicating whether the store will be identified as a trust store, which can hold multiple certificates without private keys. Example: 'true' for a trust store or 'false' for a store with a single certificate and private key. | + | IncludesChain | The IncludesChain field should contain a boolean value ('true' or 'false') indicating whether the certificate store includes the full certificate chain along with the end entity certificate. Example: 'true' to include the full chain or 'false' to exclude it. | + | SeparatePrivateKeyFilePath | The SeparatePrivateKeyFilePath field should contain the full path and file name where the separate private key file will be stored if it is to be kept outside the main certificate file. Example: '/path/to/privatekey.pem'. | + | IgnorePrivateKeyOnInventory | The IgnorePrivateKeyOnInventory field should contain a boolean value ('true' or 'false') indicating whether to ignore the private key during inventory, which will make the store inventory-only and return all certificates without private key entries. Example: 'true' to ignore the private key or 'false' to include it. | + | Store Password | Password used to secure the Certificate Store. For stores with PKCS#8 private keys, set the password for encrypted private keys (BEGIN ENCRYPTED PRIVATE KEY) or 'No Value' for unencrypted private keys (BEGIN PRIVATE KEY). If managing a store with a PKCS#1 private key (BEGIN RSA PRIVATE KEY), this value MUST be set to 'No Value' | - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFPEM**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. + -- Advanced Tab: +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Forbidden. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store. For stores with PKCS#8 private keys, set the password for encrypted private keys (BEGIN ENCRYPTED PRIVATE KEY) or 'No Value' for unencrypted private keys (BEGIN PRIVATE KEY). If managing a store with a PKCS#1 private key (BEGIN RSA PRIVATE KEY), this value MUST be set to 'No Value' | -- Custom Fields Tab: + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above.**. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. - - **Name:** IsTrustStore, **Display Name:** Trust Store, **Type:** Bool, **Default Value:** false. This custom field is **not required**. Default value if not present is 'false'. If 'true', this store will be identified as a trust store. Any certificates attempting to be added via a Management-Add job that contain a private key will raise an error with an accompanying message. Multiple certificates may be added to the store in this use case. If set to 'false', this store can only contain a single certificate with chain and private key. Management-Add jobs attempting to add a certificate without a private key to a store marked as IsTrustStore = 'false' will raise an error with an accompanying message. - - **Name:** IncludesChain, **Display Name:** Store Includes Chain, **Type:** Bool, **Default Value:** false. This custom field is **not required**. Default value if not present is 'false'. If 'true' the full certificate chain, if sent by Keyfactor Command, will be stored in the file. The order of appearance is always assumed to be 1) end entity certificate, 2) issuing CA certificate, and 3) root certificate. If additional CA tiers are applicable, the order will be end entity certificate up to the root CA certificate. if set to 'false', only the end entity certificate and private key will be stored in this store. This setting is only valid when IsTrustStore = false. - - **Name:** SeparatePrivateKeyFilePath, **Display Name:** Separate Private Key File Location, **Type:** String, **Default Value:** empty. This custom field is **not required**. If empty, or not provided, it will be assumed that the private key for the certificate stored in this file will be inside the same file as the certificate. If the full path AND file name is put here, that location will be used to store the private key as an external file. This setting is only valid when IsTrustStore = false. - - **Name:** IsRSAPrivateKey, **Display Name:** Is RSA Private Key, **Type:** Bool, **Default Value:** false. This custom field is **not required**. Default value if not present is 'false'. If 'true' it will be assumed that the private key for the certificate is a PKCS#1 RSA formatted private key (BEGIN RSA PRIVATE KEY). If 'false' (default), encrypted/non-encrypted PKCS#8 (BEGIN [ENCRYPTED] PRIVATE KEY) is assumed If set to 'true' the store password **must** be set to "no password", as PKCS#1 does not support encrypted keys. This setting is only valid when IsTrustStore = false. - - **Name:** IgnorePrivateKeyOnInventory, **Display Name:** Ignore Private Key On Inventory, **Type:** Bool, **Default Value:** false. This custom field is **not required**. Default value if not present is 'false'. If 'true', inventory for this certificate store will be performed without accessing the certificate's private key or the store password. This will functionally make the store INVENTORY ONLY, as all certificates will be returned with "Private Key Entry" = false. Also, no certificate chain relationships will be maintained, and all certificates will be considered separate entries (basically a trust store). This may be useful in situations where the client does not know the store password at inventory run time, but would still like the certificates to be imported into Keyfactor Command. Once the correct store password is entered for the store, the client may de-select this option (change the value to False), schedule an inventory job, and then the appropriate private key entry and chain information should be properly stored in the Keyfactor Command location, allowing for renewal/removal of the certificate at a later time. + 3. **Import the CSV file to create the certificate stores** -- Entry Parameters Tab: + ```shell + kfutil stores import csv --store-type-name RFPEM --file RFPEM.csv + ``` +
+ +> The content in this section can be supplimented by the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store). - - no additional entry parameters
-
-RFDER - DER formatted certificate file +
RFPkcs12 (RFPkcs12) + + +* **Manually with the Command UI** + +
Create Certificate Stores manually in the UI + + 1. **Navigate to the _Certificate Stores_ page in Keyfactor Command.** + + Log into Keyfactor Command, toggle the _Locations_ dropdown, and click _Certificate Stores_. + + 2. **Add a Certificate Store.** + + Click the Add button to add a new Certificate Store. Use the table below to populate the **Attributes** in the **Add** form. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFPkcs12" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The Client Machine field should contain the DNS name or IP address of the remote orchestrated server for Linux orchestrated servers, formatted as a URL (protocol://dns-or-ip:port) for Windows orchestrated servers, or '1.1.1.1|LocalMachine' for local agents. Example: 'https://myserver.mydomain.com:5986' or '1.1.1.1|LocalMachine' for local access. | + | Store Path | The Store Path field should contain the full path and file name, including file extension if applicable, beginning with a forward slash (/) for Linux orchestrated servers or a drive letter (i.e., c:\folder\path\storename.p12) for Windows orchestrated servers. Example: '/folder/path/storename.p12' or 'c:\folder\path\storename.p12'. | + | Orchestrator | Select an approved orchestrator capable of managing `RFPkcs12` certificates. Specifically, one with the `RFPkcs12` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | Store Password | Password used to secure the Certificate Store | + + + +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator + + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store | -- Basic Tab: + Please refer to the **Universal Orchestrator (remote)** usage section ([PAM providers on the Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam)) for your selected PAM provider for instructions on how to load attributes orchestrator-side. - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFDER**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ -- Advanced Tab: +
- - **Store Path Type** - Freeform - - **Supports Custom Alias** - Forbidden. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default +* **Using kfutil** + +
Create Certificate Stores with kfutil + + 1. **Generate a CSV template for the RFPkcs12 certificate store** -- Custom Fields Tab: + ```shell + kfutil stores import generate-template --store-type-name RFPkcs12 --outpath RFPkcs12.csv + ``` + 2. **Populate the generated CSV file** - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. - - **Name:** SeparatePrivateKeyFilePath, **Display Name:** Separate Private Key File Location, **Type:** String, **Default Value:** empty. This custom field is **not required**. If empty, or not provided, it will be assumed that there is no private key associated with this DER store. If the full path AND file name is entered here, that location will be used to store the private key as an external file in DER format. + Open the CSV file, and reference the table below to populate parameters for each **Attribute**. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFPkcs12" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The Client Machine field should contain the DNS name or IP address of the remote orchestrated server for Linux orchestrated servers, formatted as a URL (protocol://dns-or-ip:port) for Windows orchestrated servers, or '1.1.1.1|LocalMachine' for local agents. Example: 'https://myserver.mydomain.com:5986' or '1.1.1.1|LocalMachine' for local access. | + | Store Path | The Store Path field should contain the full path and file name, including file extension if applicable, beginning with a forward slash (/) for Linux orchestrated servers or a drive letter (i.e., c:\folder\path\storename.p12) for Windows orchestrated servers. Example: '/folder/path/storename.p12' or 'c:\folder\path\storename.p12'. | + | Orchestrator | Select an approved orchestrator capable of managing `RFPkcs12` certificates. Specifically, one with the `RFPkcs12` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | Store Password | Password used to secure the Certificate Store | -- Entry Parameters Tab: + + +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator + + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store | + + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ + + 3. **Import the CSV file to create the certificate stores** + + ```shell + kfutil stores import csv --store-type-name RFPkcs12 --file RFPkcs12.csv + ``` +
+ +> The content in this section can be supplimented by the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store). - - no additional entry parameters
-
-RFKDB - IBM Key Database File +
RFDER (RFDER) + + +* **Manually with the Command UI** + +
Create Certificate Stores manually in the UI -- Basic Tab: + 1. **Navigate to the _Certificate Stores_ page in Keyfactor Command.** - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFKDB**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. + Log into Keyfactor Command, toggle the _Locations_ dropdown, and click _Certificate Stores_. -- Advanced Tab: + 2. **Add a Certificate Store.** - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Required. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default + Click the Add button to add a new Certificate Store. Use the table below to populate the **Attributes** in the **Add** form. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFDER" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The Client Machine field should contain the DNS name or IP address of the remote orchestrated server for Linux orchestrated servers, formatted as a URL (protocol://dns-or-ip:port) for Windows orchestrated servers, or '1.1.1.1|LocalMachine' for local agents. Example: 'https://myserver.mydomain.com:5986' or '1.1.1.1|LocalMachine' for local access. | + | Store Path | The Store Path field should contain the full path and file name, including file extension if applicable, beginning with a forward slash (/) for Linux orchestrated servers or a drive letter (i.e., c:\folder\path\storename.der) for Windows orchestrated servers. Example: '/folder/path/storename.der' or 'c:\folder\path\storename.der'. | + | Orchestrator | Select an approved orchestrator capable of managing `RFDER` certificates. Specifically, one with the `RFDER` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | SeparatePrivateKeyFilePath | The SeparatePrivateKeyFilePath field should contain the full path and file name where the separate private key file will be stored if it is to be kept outside the main certificate file. Example: '/path/to/privatekey.der'. | + | Store Password | Password used to secure the Certificate Store | -- Custom Fields Tab: - - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. + -- Entry Parameters Tab: +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator + + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store | + + Please refer to the **Universal Orchestrator (remote)** usage section ([PAM providers on the Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam)) for your selected PAM provider for instructions on how to load attributes orchestrator-side. + + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ + +
+ +* **Using kfutil** + +
Create Certificate Stores with kfutil + + 1. **Generate a CSV template for the RFDER certificate store** + + ```shell + kfutil stores import generate-template --store-type-name RFDER --outpath RFDER.csv + ``` + 2. **Populate the generated CSV file** + + Open the CSV file, and reference the table below to populate parameters for each **Attribute**. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFDER" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The Client Machine field should contain the DNS name or IP address of the remote orchestrated server for Linux orchestrated servers, formatted as a URL (protocol://dns-or-ip:port) for Windows orchestrated servers, or '1.1.1.1|LocalMachine' for local agents. Example: 'https://myserver.mydomain.com:5986' or '1.1.1.1|LocalMachine' for local access. | + | Store Path | The Store Path field should contain the full path and file name, including file extension if applicable, beginning with a forward slash (/) for Linux orchestrated servers or a drive letter (i.e., c:\folder\path\storename.der) for Windows orchestrated servers. Example: '/folder/path/storename.der' or 'c:\folder\path\storename.der'. | + | Orchestrator | Select an approved orchestrator capable of managing `RFDER` certificates. Specifically, one with the `RFDER` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | SeparatePrivateKeyFilePath | The SeparatePrivateKeyFilePath field should contain the full path and file name where the separate private key file will be stored if it is to be kept outside the main certificate file. Example: '/path/to/privatekey.der'. | + | Store Password | Password used to secure the Certificate Store | + + + +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator + + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store | + + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ + + 3. **Import the CSV file to create the certificate stores** + + ```shell + kfutil stores import csv --store-type-name RFDER --file RFDER.csv + ``` +
+ +> The content in this section can be supplimented by the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store). - - no additional entry parameters
-
-RFORA - Oracle Wallet +
RFKDB (RFKDB) -- Basic Tab: - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFORA**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. +* **Manually with the Command UI** -- Advanced Tab: +
Create Certificate Stores manually in the UI - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Required. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default + 1. **Navigate to the _Certificate Stores_ page in Keyfactor Command.** -- Custom Fields Tab: - - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. - - **Name:** WorkFolder, **Display Name:** Work Folder, **Type:** String, **Default Value:** empty. This custom field is **required**. This required field should contain the path on the managed server where temporary work files can be created during Inventory and Management jobs. These files will be removed at the end of each job Please make sure that user id you have assigned to this certificate store will have access to create, modify, and delete files from this folder. + Log into Keyfactor Command, toggle the _Locations_ dropdown, and click _Certificate Stores_. + + 2. **Add a Certificate Store.** + + Click the Add button to add a new Certificate Store. Use the table below to populate the **Attributes** in the **Add** form. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFKDB" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The Client Machine field should contain the DNS name or IP address of the remote orchestrated server for Linux orchestrated servers, formatted as a URL (protocol://dns-or-ip:port) for Windows orchestrated servers, or '1.1.1.1|LocalMachine' for local agents. Example: 'https://myserver.mydomain.com:5986' or '1.1.1.1|LocalMachine' for local access. | + | Store Path | The Store Path field should contain the full path and file name, including file extension if applicable, beginning with a forward slash (/) for Linux orchestrated servers or a drive letter (i.e., c:\folder\path\storename.kdb) for Windows orchestrated servers. Example: '/folder/path/storename.kdb' or 'c:\folder\path\storename.kdb'. | + | Orchestrator | Select an approved orchestrator capable of managing `RFKDB` certificates. Specifically, one with the `RFKDB` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | Store Password | Password used to secure the Certificate Store | + + + +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator + + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store | + + Please refer to the **Universal Orchestrator (remote)** usage section ([PAM providers on the Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam)) for your selected PAM provider for instructions on how to load attributes orchestrator-side. -- Entry Parameters Tab: + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ + +
+ +* **Using kfutil** + +
Create Certificate Stores with kfutil + + 1. **Generate a CSV template for the RFKDB certificate store** + + ```shell + kfutil stores import generate-template --store-type-name RFKDB --outpath RFKDB.csv + ``` + 2. **Populate the generated CSV file** + + Open the CSV file, and reference the table below to populate parameters for each **Attribute**. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFKDB" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The Client Machine field should contain the DNS name or IP address of the remote orchestrated server for Linux orchestrated servers, formatted as a URL (protocol://dns-or-ip:port) for Windows orchestrated servers, or '1.1.1.1|LocalMachine' for local agents. Example: 'https://myserver.mydomain.com:5986' or '1.1.1.1|LocalMachine' for local access. | + | Store Path | The Store Path field should contain the full path and file name, including file extension if applicable, beginning with a forward slash (/) for Linux orchestrated servers or a drive letter (i.e., c:\folder\path\storename.kdb) for Windows orchestrated servers. Example: '/folder/path/storename.kdb' or 'c:\folder\path\storename.kdb'. | + | Orchestrator | Select an approved orchestrator capable of managing `RFKDB` certificates. Specifically, one with the `RFKDB` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | Store Password | Password used to secure the Certificate Store | + + + +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator + + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store | + + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ + + 3. **Import the CSV file to create the certificate stores** + + ```shell + kfutil stores import csv --store-type-name RFKDB --file RFKDB.csv + ``` +
+ +> The content in this section can be supplimented by the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store). - - no additional entry parameters
-  -## Certificate Stores and Discovery Jobs +
RFORA (RFORA) -When creating new certificate stores or scheduling discovery jobs in Keyfactor Command, there are a few fields that are important to highlight here: -
-Client Machine (certificate stores and discovery jobs) +* **Manually with the Command UI** -For Linux orchestrated servers, "Client Machine" should be the DNS name or IP address of the remote orchestrated server, while for Windows orchestratred servers, it should be the following URL format: protocol://dns-or-ip:port, where -* protocol is http or https, whatever your WinRM configuration uses -* dns-or-ip is the DNS name or IP address of the server -* port is the port WinRM is running under, usually 5985 for http and 5986 for https. +
Create Certificate Stores manually in the UI -Example: https://myserver.mydomain.com:5986 + 1. **Navigate to the _Certificate Stores_ page in Keyfactor Command.** + + Log into Keyfactor Command, toggle the _Locations_ dropdown, and click _Certificate Stores_. + + 2. **Add a Certificate Store.** + + Click the Add button to add a new Certificate Store. Use the table below to populate the **Attributes** in the **Add** form. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFORA" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The Client Machine field should contain the DNS name or IP address of the remote orchestrated server for Linux orchestrated servers, formatted as a URL (protocol://dns-or-ip:port) for Windows orchestrated servers, or '1.1.1.1|LocalMachine' for local agents. Example: 'https://myserver.mydomain.com:5986' or '1.1.1.1|LocalMachine' for local access. | + | Store Path | The Store Path field should contain the full path and file name of the Oracle Wallet, including the 'eWallet.p12' file name by convention. Example: '/path/to/eWallet.p12' or 'c:\path\to\eWallet.p12'. | + | Orchestrator | Select an approved orchestrator capable of managing `RFORA` certificates. Specifically, one with the `RFORA` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | WorkFolder | The WorkFolder field should contain the path on the managed server where temporary work files can be created, modified, and deleted during Inventory and Management jobs. Example: '/path/to/workfolder'. | + | Store Password | Password used to secure the Certificate Store | + + + +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator + + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store | + + Please refer to the **Universal Orchestrator (remote)** usage section ([PAM providers on the Keyfactor Integration Catalog](https://keyfactor.github.io/integrations-catalog/content/pam)) for your selected PAM provider for instructions on how to load attributes orchestrator-side. + + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ + +
+ +* **Using kfutil** + +
Create Certificate Stores with kfutil + + 1. **Generate a CSV template for the RFORA certificate store** + + ```shell + kfutil stores import generate-template --store-type-name RFORA --outpath RFORA.csv + ``` + 2. **Populate the generated CSV file** + + Open the CSV file, and reference the table below to populate parameters for each **Attribute**. + | Attribute | Description | + | --------- | ----------- | + | Category | Select "RFORA" or the customized certificate store name from the previous step. | + | Container | Optional container to associate certificate store with. | + | Client Machine | The Client Machine field should contain the DNS name or IP address of the remote orchestrated server for Linux orchestrated servers, formatted as a URL (protocol://dns-or-ip:port) for Windows orchestrated servers, or '1.1.1.1|LocalMachine' for local agents. Example: 'https://myserver.mydomain.com:5986' or '1.1.1.1|LocalMachine' for local access. | + | Store Path | The Store Path field should contain the full path and file name of the Oracle Wallet, including the 'eWallet.p12' file name by convention. Example: '/path/to/eWallet.p12' or 'c:\path\to\eWallet.p12'. | + | Orchestrator | Select an approved orchestrator capable of managing `RFORA` certificates. Specifically, one with the `RFORA` capability. | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | LinuxFilePermissionsOnStoreCreation | The LinuxFilePermissionsOnStoreCreation field should contain a three-digit value between 000 and 777 representing the Linux file permissions to be set for the certificate store upon creation. Example: '600' or '755'. | + | LinuxFileOwnerOnStoreCreation | The LinuxFileOwnerOnStoreCreation field should contain a valid user ID recognized by the destination Linux server, optionally followed by a colon and a group ID if the group owner differs. Example: 'userID' or 'userID:groupID'. | + | SudoImpersonatingUser | The SudoImpersonatingUser field should contain a valid user ID to impersonate using sudo on the destination Linux server. Example: 'impersonatedUserID'. | + | WorkFolder | The WorkFolder field should contain the path on the managed server where temporary work files can be created, modified, and deleted during Inventory and Management jobs. Example: '/path/to/workfolder'. | + | Store Password | Password used to secure the Certificate Store | + + + +
Attributes eligible for retrieval by a PAM Provider on the Universal Orchestrator + + If a PAM provider was installed _on the Universal Orchestrator_ in the [Installation](#Installation) section, the following parameters can be configured for retrieval _on the Universal Orchestrator_. + | Attribute | Description | + | --------- | ----------- | + | ServerUsername | A username (or valid PAM key if the username is stored in a KF Command configured PAM integration). If acting as an *agent* using local file access, just check *No Value* | + | ServerPassword | A password (or valid PAM key if the password is stored in a KF Command configured PAM integration). The password can also be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check *No Value* | + | Store Password | Password used to secure the Certificate Store | + + > Any secret can be rendered by a PAM provider _installed on the Keyfactor Command server_. The above parameters are specific to attributes that can be fetched by an installed PAM provider running on the Universal Orchestrator server itself. +
+ + + 3. **Import the CSV file to create the certificate stores** + + ```shell + kfutil stores import csv --store-type-name RFORA --file RFORA.csv + ``` +
+ +> The content in this section can be supplimented by the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store). -If running as an agent (accessing stores on the server where the Universal Orchestrator Services is installed ONLY), Client Machine can be entered as stated above, OR you can bypass SSH/WinRM and access the local file system directly by adding "|LocalMachine" to the end of your value for Client Machine, for example "1.1.1.1|LocalMachine". In this instance the value to the left of the pipe (|) is ignored. It is important to make sure the values for Client Machine and Store Path together are unique for each certificate store created, as Keyfactor Command requires the Store Type you select, along with Client Machine, and Store Path together must be unique. To ensure this, it is good practice to put the full DNS or IP Address to the left of the | character when setting up a cerificate store that will accessed without a WinRM/SSH connection.
+## Discovering Certificate Stores with the Discovery Job +When scheduling discovery jobs in Keyfactor Command, there are a few fields that are important to highlight here: +
-Store Path (certificate stores only) +Client Machine + +The IP address or DNS of the server hosting the certificate store. For more information, see [Client Machine ](#client-machine-instructions) + +
+ +
+Store Path For Linux orchestrated servers, "StorePath" will begin with a forward slash (/) and contain the full path and file name, including file extension if one exists (i.e. /folder/path/storename.ext). For Windows orchestrated servers, it should be the full path and file name, including file extension if one exists, beginning with a drive letter (i.e. c:\folder\path\storename.ext).
-Server Username/Password (certificate stores and discovery jobs) +Server Username/Password A username and password (or valid PAM key if the username and/or password is stored in a KF Command configured PAM integration). The password can be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check "No Value" for the username and password.
-Directories to Search (discovery jobs only) +Directories to Search Enter one or more comma delimitted file paths to search (please reference the Keyfactor Command Reference Guide for more information), but there is also a special value that can be used on Windows orchestrated servers instead - "fullscan". Entering fullscan in this field will tell the RemoteFile discovery job to search all available drive letters at the root and recursively search all of them for files matching the other search criteria.
-Extensions (discovery jobs only) +Extensions In addition to entering one or more comma delimitted extensions to search for (please reference the Keyfactor Command Reference Guide for more information), a reserved value of "noext" can be used that will cause the RemoteFile discovery job to search for files that do not have an extension. This value can be chained with other extensions using the comma delimiter. For example, entering pem,jks,noext will cause the RemoteFile discovery job to return file locations with extensions of "pem", "jks", *and* files that do not have extensions.
-Please refer to the Keyfactor Command Reference Guide for complete information on creating certificate stores and scheduling discovery jobs in Keyfactor Command. -  -  +Please refer to the Keyfactor Command Reference Guide for complete information on creating certificate stores and scheduling discovery jobs in Keyfactor Command. + + + + + + + + + +## Client Machine Instructions + +When creating a Certificate Store or scheduling a Discovery Job, you will be asked to provide a "Client Machine". + +For Linux orchestrated servers, "Client Machine" should be the DNS name or IP address of the remote orchestrated server, while for Windows orchestratred servers, it should be the following URL format: protocol://dns-or-ip:port, where +* protocol is http or https, whatever your WinRM configuration uses +* dns-or-ip is the DNS name or IP address of the server +* port is the port WinRM is running under, usually 5985 for http and 5986 for https. + +Example: https://myserver.mydomain.com:5986 + +If running as an agent (accessing stores on the server where the Universal Orchestrator Services is installed ONLY), Client Machine can be entered as stated above, OR you can bypass SSH/WinRM and access the local file system directly by adding "|LocalMachine" to the end of your value for Client Machine, for example "1.1.1.1|LocalMachine". In this instance the value to the left of the pipe (|) is ignored. It is important to make sure the values for Client Machine and Store Path together are unique for each certificate store created, as Keyfactor Command requires the Store Type you select, along with Client Machine, and Store Path together must be unique. To ensure this, it is good practice to put the full DNS or IP Address to the left of the | character when setting up a cerificate store that will accessed without a WinRM/SSH connection. + ## Developer Notes The Remote File Orchestrator Extension is meant to be extended to be used for other file based certificate store types than the ones referenced above. The advantage to extending this integration rather than creating a new one is that the configuration, remoting, and Inventory/Management/Discovery logic is already written. The developer needs to only implement a few classes and write code to convert the destired file based store to a common format. This section describes the steps necessary to add additional store/file types. Please note that familiarity with the [.Net Core BouncyCastle cryptography library](https://github.com/bcgit/bc-csharp) is a prerequisite for adding additional supported file/store types. @@ -626,16 +1424,13 @@ Steps to create a new supported file based certificate store type: 5. Create an Inventory.cs class (with namespace of Keyfactor.Extensions.Orchestrator.RemoteFile.{NewType}) under the new folder and have it inherit InventoryBase. Override the internal GetCertificateStoreSerializer() method with a one line implementation returning a new instantiation of the class created in step 4. 6. Create a Management.cs class (with namespace of Keyfactor.Extensions.Orchestrator.RemoteFile.{NewType}) under the new folder and have it inherit ManagementBase. Override the internal GetCertificateStoreSerializer() method with a one line implementation returning a new instantiation of the class created in step 4. 7. Modify the manifest.json file to add three new sections (for Inventory, Management, and Discovery). Make sure for each, the "NewType" in Certstores.{NewType}.{Operation}, matches what you will use for the certificate store type short name in Keyfactor Command. On the "TypeFullName" line for all three sections, make sure the namespace matches what you used for your new classes. Note that the namespace for Discovery uses a common class for all supported types. Discovery is a common implementation for all supported store types. -8. After compiling, move all compiled files, including the config.json and manifest.json to {Keyfactor Orchestrator Installation Folder}\Extensions\RemoteFile. -9. Create the certificate store type in Keyfactor Command -10. Add a new CURL script to build the proper Keyfactor Command certificate store type and place it under "Certificate Store Type CURL Scripts". The name of the file should match the ShortName you are using for the new store type. -11. Update the documenation in readme_source.md by adding a new section under [Creating Certificate Store Types](#creating-certificate-store-types) for this new supported file based store type. Include a pointer to the CURL script created in step 10. -  -  -## License -[Apache](https://apache.org/licenses/LICENSE-2.0) +8. Modify the integration-manifest.json file to add the new store type under the store_types element. -When creating cert store type manually, that store property names and entry parameter names are case sensitive +## License + +Apache License 2.0, see [LICENSE](LICENSE). +## Related Integrations +See all [Keyfactor Universal Orchestrator extensions](https://github.com/orgs/Keyfactor/repositories?q=orchestrator). \ No newline at end of file diff --git a/RemoteFile/Discovery.cs b/RemoteFile/Discovery.cs index 42e78e7e..fe4d40b8 100644 --- a/RemoteFile/Discovery.cs +++ b/RemoteFile/Discovery.cs @@ -16,6 +16,7 @@ using Microsoft.Extensions.Logging; using Newtonsoft.Json; +using static Keyfactor.PKI.PKIConstants.Microsoft; namespace Keyfactor.Extensions.Orchestrator.RemoteFile { @@ -67,7 +68,8 @@ public JobResult ProcessJob(DiscoveryJobConfiguration config, SubmitDiscoveryUpd if (filesTosearch.Length == 0) filesTosearch = new string[] { "*" }; - locations = certificateStore.FindStores(directoriesToSearch, extensionsToSearch, filesTosearch, includeSymLinks); + locations = certificateStore.FindStores(directoriesToSearch, extensionsToSearch, filesTosearch, ignoredDirs, includeSymLinks); + foreach (string ignoredDir in ignoredDirs) { locations = locations.Where(p => !p.StartsWith(ignoredDir) && !p.ToLower().StartsWith("find:")).ToList(); diff --git a/RemoteFile/ImplementedStoreTypes/KDB/KDBCertificateStoreSerializer.cs b/RemoteFile/ImplementedStoreTypes/KDB/KDBCertificateStoreSerializer.cs index 177efaa8..a7f1dcf4 100644 --- a/RemoteFile/ImplementedStoreTypes/KDB/KDBCertificateStoreSerializer.cs +++ b/RemoteFile/ImplementedStoreTypes/KDB/KDBCertificateStoreSerializer.cs @@ -51,9 +51,9 @@ public Pkcs12Store DeserializeRemoteCertificateStore(byte[] storeContentBytes, s byte[] storeBytes = remoteHandler.DownloadCertificateFile($"{storePath}{tempCertFile}"); store.Load(new MemoryStream(storeBytes), string.IsNullOrEmpty(storePassword) ? new char[0] : storePassword.ToCharArray()); } - catch (Exception ex) + catch (Exception) { - throw ex; + throw; } finally { @@ -90,9 +90,9 @@ public List SerializeRemoteCertificateStore(Pkcs12Store cer storeInfo.Add(new SerializedStoreInfo() { Contents = storeContents, FilePath = storePath+storeFileName }); return storeInfo; } - catch (Exception ex) + catch (Exception) { - throw ex; + throw; } finally { diff --git a/RemoteFile/ImplementedStoreTypes/OraWlt/OraWltCertificateStoreSerializer.cs b/RemoteFile/ImplementedStoreTypes/OraWlt/OraWltCertificateStoreSerializer.cs index c460b67c..2e1002fd 100644 --- a/RemoteFile/ImplementedStoreTypes/OraWlt/OraWltCertificateStoreSerializer.cs +++ b/RemoteFile/ImplementedStoreTypes/OraWlt/OraWltCertificateStoreSerializer.cs @@ -59,9 +59,9 @@ public Pkcs12Store DeserializeRemoteCertificateStore(byte[] storeContentBytes, s JKSCertificateStoreSerializer serializer = new JKSCertificateStoreSerializer(String.Empty); store = serializer.DeserializeRemoteCertificateStore(storeBytes, $"{WorkFolder}{tempStoreFileJKS}", storePassword, remoteHandler, isInventory); } - catch (Exception ex) + catch (Exception) { - throw ex; + throw; } finally { @@ -101,9 +101,9 @@ public List SerializeRemoteCertificateStore(Pkcs12Store cer storeInfo.Add(new SerializedStoreInfo() { Contents = storeContents, FilePath = storePath+storeFileName }); return storeInfo; } - catch (Exception ex) + catch (Exception) { - throw ex; + throw; } finally { diff --git a/RemoteFile/ImplementedStoreTypes/PEM/PEMCertificateStoreSerializer.cs b/RemoteFile/ImplementedStoreTypes/PEM/PEMCertificateStoreSerializer.cs index 7515cf40..4f3e3cca 100644 --- a/RemoteFile/ImplementedStoreTypes/PEM/PEMCertificateStoreSerializer.cs +++ b/RemoteFile/ImplementedStoreTypes/PEM/PEMCertificateStoreSerializer.cs @@ -39,7 +39,6 @@ class PEMCertificateStoreSerializer : ICertificateStoreSerializer private bool IsTrustStore { get; set; } private bool IncludesChain { get; set; } private string SeparatePrivateKeyFilePath { get; set; } - private bool IsRSAPrivateKey { get; set; } private bool IgnorePrivateKeyOnInventory { get; set; } private ILogger logger; @@ -53,9 +52,6 @@ public PEMCertificateStoreSerializer(string storeProperties) public Pkcs12Store DeserializeRemoteCertificateStore(byte[] storeContentBytes, string storePath, string storePassword, IRemoteHandler remoteHandler, bool isInventory) { logger.MethodEntry(LogLevel.Debug); - - if (IsRSAPrivateKey && !string.IsNullOrEmpty(storePassword)) - throw new RemoteFileException($"Certificate store with an RSA Private Key cannot contain a store password. Invalid store format not supported."); Pkcs12StoreBuilder storeBuilder = new Pkcs12StoreBuilder(); Pkcs12Store store = storeBuilder.Build(); @@ -72,7 +68,12 @@ public Pkcs12Store DeserializeRemoteCertificateStore(byte[] storeContentBytes, s } else { - AsymmetricKeyEntry keyEntry = GetPrivateKey(storeContents, storePassword ?? string.Empty, remoteHandler); + bool isRSAPrivateKey = false; + AsymmetricKeyEntry keyEntry = GetPrivateKey(storeContents, storePassword ?? string.Empty, remoteHandler, out isRSAPrivateKey); + + if (isRSAPrivateKey && !string.IsNullOrEmpty(storePassword)) + throw new RemoteFileException($"Certificate store with an RSA Private Key cannot contain a store password. Invalid store format not supported."); + store.SetKeyEntry(CertificateConverterFactory.FromBouncyCastleCertificate(certificates[0].Certificate).ToX509Certificate2().Thumbprint, keyEntry, certificates); } @@ -93,9 +94,6 @@ public List SerializeRemoteCertificateStore(Pkcs12Store cer { logger.MethodEntry(LogLevel.Debug); - if (IsRSAPrivateKey && !string.IsNullOrEmpty(storePassword)) - throw new RemoteFileException($"Certificate store with an RSA Private Key cannot contain a store password. Invalid store format not supported."); - string pemString = string.Empty; string keyString = string.Empty; List storeInfo = new List(); @@ -113,6 +111,17 @@ public List SerializeRemoteCertificateStore(Pkcs12Store cer } else { + string storeContents = Encoding.ASCII.GetString(remoteHandler.DownloadCertificateFile(storePath + storeFileName)); + bool isRSAPrivateKey = false; + try + { + GetPrivateKey(storeContents, storePassword, remoteHandler, out isRSAPrivateKey); + } + catch (RemoteFileException) { } + + if (isRSAPrivateKey && !string.IsNullOrEmpty(storePassword)) + throw new RemoteFileException($"Certificate store with an RSA Private Key cannot contain a store password. Invalid store format not supported."); + bool keyEntryProcessed = false; foreach (string alias in certificateStore.Aliases) { @@ -131,7 +140,7 @@ public List SerializeRemoteCertificateStore(Pkcs12Store cer X509CertificateEntry[] certEntries = certificateStore.GetCertificateChain(alias); AsymmetricKeyParameter publicKey = certEntries[0].Certificate.GetPublicKey(); - if (IsRSAPrivateKey) + if (isRSAPrivateKey) { TextWriter textWriter = new StringWriter(); PemWriter pemWriter = new PemWriter(textWriter); @@ -185,7 +194,6 @@ private void LoadCustomProperties(string storeProperties) IsTrustStore = properties.IsTrustStore == null || string.IsNullOrEmpty(properties.IsTrustStore.Value) ? false : bool.Parse(properties.IsTrustStore.Value); IncludesChain = properties.IncludesChain == null || string.IsNullOrEmpty(properties.IncludesChain.Value) ? false : bool.Parse(properties.IncludesChain.Value); SeparatePrivateKeyFilePath = properties.SeparatePrivateKeyFilePath == null || string.IsNullOrEmpty(properties.SeparatePrivateKeyFilePath.Value) ? String.Empty : properties.SeparatePrivateKeyFilePath.Value; - IsRSAPrivateKey = properties.IsRSAPrivateKey == null || string.IsNullOrEmpty(properties.IsRSAPrivateKey.Value) ? false : bool.Parse(properties.IsRSAPrivateKey.Value); IgnorePrivateKeyOnInventory = properties.IgnorePrivateKeyOnInventory == null || string.IsNullOrEmpty(properties.IgnorePrivateKeyOnInventory.Value) ? false : bool.Parse(properties.IgnorePrivateKeyOnInventory.Value); logger.MethodExit(LogLevel.Debug); @@ -222,7 +230,7 @@ private X509CertificateEntry[] GetCertificates(string certificates) return certificateEntries.ToArray(); } - private AsymmetricKeyEntry GetPrivateKey(string storeContents, string storePassword, IRemoteHandler remoteHandler) + private AsymmetricKeyEntry GetPrivateKey(string storeContents, string storePassword, IRemoteHandler remoteHandler, out bool isRSA) { logger.MethodEntry(LogLevel.Debug); @@ -231,8 +239,18 @@ private AsymmetricKeyEntry GetPrivateKey(string storeContents, string storePassw storeContents = Encoding.ASCII.GetString(remoteHandler.DownloadCertificateFile(SeparatePrivateKeyFilePath)); } + isRSA = false; + foreach (string begDelim in PrivateKeyDelimetersPkcs1) + { + if (storeContents.Contains(begDelim)) + { + isRSA = true; + break; + } + } + string privateKey = string.Empty; - foreach (string begDelim in IsRSAPrivateKey ? PrivateKeyDelimetersPkcs1 : PrivateKeyDelimetersPkcs8) + foreach (string begDelim in isRSA ? PrivateKeyDelimetersPkcs1 : PrivateKeyDelimetersPkcs8) { string endDelim = begDelim.Replace("BEGIN", "END"); @@ -252,7 +270,7 @@ private AsymmetricKeyEntry GetPrivateKey(string storeContents, string storePassw throw new RemoteFileException("Invalid private key: No private key or invalid private key format found."); PrivateKeyConverter c; - if (IsRSAPrivateKey) + if (isRSA) { RSA rsa = RSA.Create(); int bytesRead; diff --git a/RemoteFile/ImplementedStoreTypes/PKCS12/PKCS12CertificateStoreSerializer.cs b/RemoteFile/ImplementedStoreTypes/PKCS12/PKCS12CertificateStoreSerializer.cs index f78f8114..2b159f98 100644 --- a/RemoteFile/ImplementedStoreTypes/PKCS12/PKCS12CertificateStoreSerializer.cs +++ b/RemoteFile/ImplementedStoreTypes/PKCS12/PKCS12CertificateStoreSerializer.cs @@ -5,6 +5,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions // and limitations under the License. +using System; using System.IO; using System.Collections.Generic; using Keyfactor.Extensions.Orchestrator.RemoteFile.RemoteHandlers; @@ -13,12 +14,15 @@ using Org.BouncyCastle.Pkcs; using Keyfactor.Logging; using Microsoft.Extensions.Logging; +using System.Linq; +using Keyfactor.PKI.Extensions; namespace Keyfactor.Extensions.Orchestrator.RemoteFile.PKCS12 { class PKCS12CertificateStoreSerializer : ICertificateStoreSerializer { private ILogger logger; + private bool HasEmptyAliases { get; set; } public PKCS12CertificateStoreSerializer(string storeProperties) { @@ -28,21 +32,46 @@ public PKCS12CertificateStoreSerializer(string storeProperties) public Pkcs12Store DeserializeRemoteCertificateStore(byte[] storeContents, string storePath, string storePassword, IRemoteHandler remoteHandler, bool isInventory) { Pkcs12StoreBuilder storeBuilder = new Pkcs12StoreBuilder(); - Pkcs12Store store = storeBuilder.Build(); + Pkcs12Store workingStore = storeBuilder.Build(); + Pkcs12Store returnStore = storeBuilder.Build(); using (MemoryStream ms = new MemoryStream(storeContents)) { - store.Load(ms, string.IsNullOrEmpty(storePassword) ? new char[0] : storePassword.ToCharArray()); + workingStore.Load(ms, string.IsNullOrEmpty(storePassword) ? new char[0] : storePassword.ToCharArray()); } - return store; + if (workingStore.Aliases.Where(p => string.IsNullOrEmpty(p)).Count() > 0 && workingStore.Aliases.Where(p => !string.IsNullOrEmpty(p)).Count() > 0) + throw new Exception("Certificate store contains entries with both empty and non-empty friendly names. This configuration is not supported in this store type."); + + HasEmptyAliases = workingStore.Aliases.Where(p => string.IsNullOrEmpty(p)).Count() > 0; + + returnStore = ConvertAliases(workingStore, true); + + return returnStore; } public List SerializeRemoteCertificateStore(Pkcs12Store certificateStore, string storePath, string storeFileName, string storePassword, IRemoteHandler remoteHandler) { + Pkcs12StoreBuilder storeBuilder = new Pkcs12StoreBuilder(); + Pkcs12Store workingStore = storeBuilder.Build(); + + foreach (string alias in certificateStore.Aliases) + { + if (certificateStore.IsKeyEntry(alias)) + { + workingStore.SetKeyEntry(alias, certificateStore.GetKey(alias), certificateStore.GetCertificateChain(alias)); + } + else + { + workingStore.SetCertificateEntry(alias, certificateStore.GetCertificate(alias)); + } + } + + Pkcs12Store outputCertificateStore = ConvertAliases(workingStore, false); + using (MemoryStream outStream = new MemoryStream()) { - certificateStore.Save(outStream, string.IsNullOrEmpty(storePassword) ? new char[0] : storePassword.ToCharArray(), new Org.BouncyCastle.Security.SecureRandom()); + outputCertificateStore.Save(outStream, string.IsNullOrEmpty(storePassword) ? new char[0] : storePassword.ToCharArray(), new Org.BouncyCastle.Security.SecureRandom()); List storeInfo = new List(); storeInfo.Add(new SerializedStoreInfo() { FilePath = storePath+storeFileName, Contents = outStream.ToArray() }); @@ -55,5 +84,34 @@ public string GetPrivateKeyPath() { return null; } + + private Pkcs12Store ConvertAliases(Pkcs12Store workingStore, bool useThumbprintAsAlias) + { + Pkcs12StoreBuilder storeBuilder = new Pkcs12StoreBuilder(); + Pkcs12Store returnStore = storeBuilder.Build(); + + if (HasEmptyAliases) + { + foreach (string alias in workingStore.Aliases) + { + if (workingStore.IsKeyEntry(alias)) + { + X509CertificateEntry cert = workingStore.GetCertificate(alias); + returnStore.SetKeyEntry(useThumbprintAsAlias ? cert.Certificate.Thumbprint() : string.Empty, workingStore.GetKey(alias), workingStore.GetCertificateChain(alias)); + } + else + { + X509CertificateEntry cert = workingStore.GetCertificate(alias); + returnStore.SetCertificateEntry(cert.Certificate.Thumbprint(), cert); + } + } + } + else + { + returnStore = workingStore; + } + + return returnStore; + } } } diff --git a/RemoteFile/InventoryBase.cs b/RemoteFile/InventoryBase.cs index 327e9457..0d1a04c0 100644 --- a/RemoteFile/InventoryBase.cs +++ b/RemoteFile/InventoryBase.cs @@ -31,7 +31,6 @@ public JobResult ProcessJob(InventoryJobConfiguration config, SubmitInventoryUpd logger.LogDebug($"Begin {config.Capability} for job id {config.JobId}..."); logger.LogDebug($"Server: { config.CertificateStoreDetails.ClientMachine }"); logger.LogDebug($"Store Path: { config.CertificateStoreDetails.StorePath }"); - logger.LogDebug($"Store Properties: {config.CertificateStoreDetails.Properties.ToString()}"); logger.LogDebug($"Job Properties:"); foreach (KeyValuePair keyValue in config.JobProperties ?? new Dictionary()) { diff --git a/RemoteFile/ManagementBase.cs b/RemoteFile/ManagementBase.cs index 9645068e..c2c992e7 100644 --- a/RemoteFile/ManagementBase.cs +++ b/RemoteFile/ManagementBase.cs @@ -31,7 +31,6 @@ public JobResult ProcessJob(ManagementJobConfiguration config) logger.LogDebug($"Begin {config.Capability} for job id {config.JobId}..."); logger.LogDebug($"Server: {config.CertificateStoreDetails.ClientMachine}"); logger.LogDebug($"Store Path: {config.CertificateStoreDetails.StorePath}"); - logger.LogDebug($"Store Properties: {config.CertificateStoreDetails.Properties.ToString()}"); logger.LogDebug($"Job Properties:"); foreach (KeyValuePair keyValue in config.JobProperties == null ? new Dictionary() : config.JobProperties) { diff --git a/RemoteFile/Models/SerializedStoreInfo.cs b/RemoteFile/Models/SerializedStoreInfo.cs index 9eba4fdf..6b13d1ce 100644 --- a/RemoteFile/Models/SerializedStoreInfo.cs +++ b/RemoteFile/Models/SerializedStoreInfo.cs @@ -9,7 +9,7 @@ namespace Keyfactor.Extensions.Orchestrator.RemoteFile.Models { - class SerializedStoreInfo : X509Certificate2 + internal class SerializedStoreInfo { public string FilePath { get; set; } diff --git a/RemoteFile/RemoteCertificateStore.cs b/RemoteFile/RemoteCertificateStore.cs index 9de5ccff..77aba785 100644 --- a/RemoteFile/RemoteCertificateStore.cs +++ b/RemoteFile/RemoteCertificateStore.cs @@ -137,7 +137,7 @@ internal void Terminate() logger.MethodExit(LogLevel.Debug); } - internal List FindStores(string[] paths, string[] extensions, string[] files, bool includeSymLinks) + internal List FindStores(string[] paths, string[] extensions, string[] files, string[] ignoredDirs, bool includeSymLinks) { logger.MethodEntry(LogLevel.Debug); @@ -153,7 +153,7 @@ internal List FindStores(string[] paths, string[] extensions, string[] f if (DiscoveredStores != null) return DiscoveredStores; - return ServerType == ServerTypeEnum.Linux ? FindStoresLinux(paths, extensions, files, includeSymLinks) : FindStoresWindows(paths, extensions, files); + return ServerType == ServerTypeEnum.Linux ? FindStoresLinux(paths, extensions, files, ignoredDirs, includeSymLinks) : FindStoresWindows(paths, extensions, files); } internal List GetCertificateChains() @@ -511,7 +511,7 @@ private bool IsValueSafeRegex(string value) return regex.IsMatch(value); } - private List FindStoresLinux(string[] paths, string[] extensions, string[] fileNames, bool includeSymLinks) + private List FindStoresLinux(string[] paths, string[] extensions, string[] fileNames, string[] ignoredDirs, bool includeSymLinks) { logger.MethodEntry(LogLevel.Debug); @@ -519,6 +519,12 @@ private List FindStoresLinux(string[] paths, string[] extensions, string { string concatPaths = string.Join(" ", paths); string command = $"find {concatPaths} -path /proc -prune -o "; + + foreach (string ignoredDir in ignoredDirs) + { + command += $"-path {ignoredDir} -prune -o "; + } + if (!includeSymLinks) command += " -type f "; diff --git a/RemoteFile/RemoteFile.csproj b/RemoteFile/RemoteFile.csproj index c2fd7c0b..f577e4e4 100644 --- a/RemoteFile/RemoteFile.csproj +++ b/RemoteFile/RemoteFile.csproj @@ -1,37 +1,28 @@  - false - net6.0 + true + net6.0;net8.0 true + disable - - - - - - + + - - - - External References\Renci.SshNet.dll - - - External References\SshNet.Security.Cryptography.dll - + + Always + + + Always + - - - - diff --git a/RemoteFile/RemoteHandlers/LinuxLocalHandler.cs b/RemoteFile/RemoteHandlers/LinuxLocalHandler.cs index f7b45ac9..4abb4a08 100644 --- a/RemoteFile/RemoteHandlers/LinuxLocalHandler.cs +++ b/RemoteFile/RemoteHandlers/LinuxLocalHandler.cs @@ -76,7 +76,7 @@ public override string RunCommand(string commandText, object[] arguments, bool w catch (Exception ex) { _logger.LogError($"Exception during RunCommand...{RemoteFileException.FlattenExceptionMessages(ex, ex.Message)}"); - throw ex; + throw; } } diff --git a/RemoteFile/RemoteHandlers/SSHHandler.cs b/RemoteFile/RemoteHandlers/SSHHandler.cs index 81563b51..5347964a 100644 --- a/RemoteFile/RemoteHandlers/SSHHandler.cs +++ b/RemoteFile/RemoteHandlers/SSHHandler.cs @@ -60,7 +60,7 @@ internal SSHHandler(string server, string serverLogin, string serverPassword, bo privateKeyFile = new PrivateKeyFile(ms); } } - catch (Exception ex) + catch (Exception) { using (MemoryStream ms = new MemoryStream(Encoding.ASCII.GetBytes(ConvertToPKCS1(serverPassword)))) { @@ -354,24 +354,27 @@ public override bool DoesFileExist(string path) _logger.MethodEntry(LogLevel.Debug); _logger.LogDebug($"DoesFileExist: {path}"); - using (SftpClient client = new SftpClient(Connection)) - { - try - { - client.Connect(); - string existsPath = FormatFTPPath(path, !IsStoreServerLinux); - bool exists = client.Exists(existsPath); - _logger.LogDebug(existsPath); - - _logger.MethodExit(LogLevel.Debug); - - return exists; - } - finally - { - client.Disconnect(); - } - } + string rtn = RunCommand($"ls {path} >> /dev/null 2>&1 && echo True || echo False", null, ApplicationSettings.UseSudo, null); + return Convert.ToBoolean(rtn); + + //using (SftpClient client = new SftpClient(Connection)) + //{ + // try + // { + // client.Connect(); + // string existsPath = FormatFTPPath(path, !IsStoreServerLinux); + // bool exists = client.Exists(existsPath); + // _logger.LogDebug(existsPath); + + // _logger.MethodExit(LogLevel.Debug); + + // return exists; + // } + // finally + // { + // client.Disconnect(); + // } + //} } public override void RemoveCertificateFile(string path, string fileName) diff --git a/RemoteFile/RemoteHandlers/SSHHelper.cs b/RemoteFile/RemoteHandlers/SSHHelper.cs deleted file mode 100644 index d93be6b1..00000000 --- a/RemoteFile/RemoteHandlers/SSHHelper.cs +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright 2021 Keyfactor -// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. -// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 -// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions -// and limitations under the License. - -using Renci.SshNet.Common; -using Renci.SshNet.Security.Cryptography.Ciphers; -using Renci.SshNet.Security.Cryptography; -using System; -using System.Collections.Generic; -using System.Security.Cryptography; -using System.Text; -using Renci.SshNet.Security; -using Renci.SshNet; -using System.Reflection; - -namespace Keyfactor.Extensions.Orchestrator.RemoteFile.RemoteHandlers -{ - /// - /// Based on https://github.com/sshnet/SSH.NET/blob/1d5d58e17c68a2f319c51e7f938ce6e964498bcc/src/Renci.SshNet/Security/Cryptography/RsaDigitalSignature.cs#L12 - /// - /// With following changes: - /// - /// - OID changed to sha2-256 - /// - hash changed from sha1 to sha2-256 - /// - public class RsaSha256DigitalSignature : CipherDigitalSignature, IDisposable - { - private HashAlgorithm _hash; - - public RsaSha256DigitalSignature(RsaWithSha256SignatureKey rsaKey) - // custom OID - : base(new ObjectIdentifier(2, 16, 840, 1, 101, 3, 4, 2, 1), new RsaCipher(rsaKey)) - { - // custom - _hash = SHA256.Create(); - } - - protected override byte[] Hash(byte[] input) - { - return _hash.ComputeHash(input); - } - - private bool _isDisposed; - - public void Dispose() - { - Dispose(true); - GC.SuppressFinalize(this); - } - - protected virtual void Dispose(bool disposing) - { - if (_isDisposed) - return; - - if (disposing) - { - var hash = _hash; - if (hash != null) - { - hash.Dispose(); - _hash = null; - } - - _isDisposed = true; - } - } - - ~RsaSha256DigitalSignature() - { - Dispose(false); - } - } - /// - /// Utility class which allows ssh.net to connect to servers using ras-sha2-256 - /// - public static class RsaSha256Util - { - public static void SetupConnection(ConnectionInfo connection) - { - connection.HostKeyAlgorithms["rsa-sha2-256"] = data => new KeyHostAlgorithm("rsa-sha2-256", new RsaKey(), data); - } - - /// - /// Converts key file to rsa key with sha2-256 signature - /// Due to lack of constructor: https://github.com/sshnet/SSH.NET/blob/bc99ada7da3f05f50d9379f2644941d91d5bf05a/src/Renci.SshNet/PrivateKeyFile.cs#L86 - /// We do that in place - /// - /// - /// - public static void ConvertToKeyWithSha256Signature(PrivateKeyFile keyFile) - { - var oldKeyHostAlgorithm = keyFile.HostKey as KeyHostAlgorithm; - if (oldKeyHostAlgorithm == null) - { - throw new ArgumentNullException(nameof(oldKeyHostAlgorithm)); - } - var oldRsaKey = oldKeyHostAlgorithm.Key as RsaKey; - if (oldRsaKey == null) - { - throw new ArgumentNullException(nameof(oldRsaKey)); - } - - var newRsaKey = new RsaWithSha256SignatureKey(oldRsaKey.Modulus, oldRsaKey.Exponent, oldRsaKey.D, oldRsaKey.P, oldRsaKey.Q, - oldRsaKey.InverseQ); - - UpdatePrivateKeyFile(keyFile, newRsaKey); - } - - private static void UpdatePrivateKeyFile(PrivateKeyFile keyFile, RsaWithSha256SignatureKey key) - { - var keyHostAlgorithm = new KeyHostAlgorithm(key.ToString(), key); - - var hostKeyProperty = typeof(PrivateKeyFile).GetProperty(nameof(PrivateKeyFile.HostKey)); - hostKeyProperty.SetValue(keyFile, keyHostAlgorithm); - - var keyField = typeof(PrivateKeyFile).GetField("_key", BindingFlags.NonPublic | BindingFlags.Instance); - keyField.SetValue(keyFile, key); - } - } - public class RsaWithSha256SignatureKey : RsaKey - { - public RsaWithSha256SignatureKey(BigInteger modulus, BigInteger exponent, BigInteger d, BigInteger p, BigInteger q, - BigInteger inverseQ) : base(modulus, exponent, d, p, q, inverseQ) - { - } - - private RsaSha256DigitalSignature _digitalSignature; - - protected override DigitalSignature DigitalSignature - { - get - { - if (_digitalSignature == null) - { - _digitalSignature = new RsaSha256DigitalSignature(this); - } - - return _digitalSignature; - } - } - - public override string ToString() - { - return "rsa-sha2-256"; - } - } -} diff --git a/RemoteFile/RemoteHandlers/WinRMHandler.cs b/RemoteFile/RemoteHandlers/WinRMHandler.cs index 1d1a0418..54689250 100644 --- a/RemoteFile/RemoteHandlers/WinRMHandler.cs +++ b/RemoteFile/RemoteHandlers/WinRMHandler.cs @@ -138,7 +138,7 @@ public override string RunCommand(string commandText, object[] parameters, bool catch (Exception ex) { _logger.LogError($"Exception during RunCommand...{RemoteFileException.FlattenExceptionMessages(ex, ex.Message)}"); - throw ex; + throw; } } @@ -182,8 +182,8 @@ private byte[] RunCommandBinary(string commandText) catch (Exception ex) { - _logger.LogError("Exception during RunCommandBinary...{RemoteFileException.FlattenExceptionMessages(ex, ex.Message)}"); - throw ex; + _logger.LogError($"Exception during RunCommandBinary...{RemoteFileException.FlattenExceptionMessages(ex, ex.Message)}"); + throw; } } diff --git a/docsource/content.md b/docsource/content.md new file mode 100644 index 00000000..7220e7e9 --- /dev/null +++ b/docsource/content.md @@ -0,0 +1,222 @@ +## Overview + +The Remote File Orchestrator Extension is a multi-purpose integration that can remotely manage a variety of file-based certificate stores and can easily be extended to manage others. The certificate store types that can be managed in the current version are: + +* RFJKS - Java Keystores of types JKS or PKCS12 +* RFPkcs12 - Certificate stores that follow the PKCS#12 standard +* RFPEM - Files in PEM format +* RFDER - Files in binary DER format +* RFORA - Pkcs#12 formatted Oracle Wallets +* RFKDB - IBM Key Database files + +The Keyfactor Univeral Orchestrator (UO) and RemoteFile Extension can be installed on either Windows or Linux operating systems as well as manage certificates residing on servers of both operating systems. A UO service managing certificates on remote servers is considered to be acting as an Orchestrator, while a UO service managing local certificates on the same server running the service is considered an Agent. When acting as an Orchestrator, connectivity from the orchestrator server hosting the RemoteFile extension to the orchestrated server hosting the certificate store(s) being managed is achieved via either an SSH (for Linux and possibly Windows orchestrated servers) or WinRM (for Windows orchestrated servers) connection. When acting as an agent, SSH/WinRM may still be used, OR the certificate store can be configured to bypass these and instead directly access the orchestrator server's file system. + +![](images/orchestrator-agent.png) + +Please refer to the READMEs for each supported store type for more information on proper configuration and setup for these different architectures. The supported configurations of Universal Orchestrator hosts and managed orchestrated servers are detailed below: + +| | UO Installed on Windows | UO Installed on Linux | +|-----|-----|------| +|Orchestrated Server hosting certificate store(s) on remote Windows server|WinRM connection | SSH connection | +|Orchestrated Server hosting certificate store(s) on remote Linux server| SSH connection | SSH connection | +|Certificate store(s) on same server as orchestrator service (Agent)| WinRM connection or local file system | SSH connection or local file system | + + +## Requirements + +
+Certificate stores hosted on Linux servers: + +1. The Remote File Orchestrator Extension makes use of a few common Linux commands when managing stores on Linux servers. If the credentials you will be connecting with need elevated access to run these commands or to access the certificate store files these commands operate against, you must set up the user id as a sudoer with no password necessary and set the config.json "UseSudo" value to "Y". When RemoteFile is using orchestration, managing local or external certificate stores using SSH or WinRM, the security context is determined by the user id entered in the Keyfactor Command certificate store or discovery job screens. When RemoteFile is running as an agent, managing local stores only, the security context is the user id running the Keyfactor Command Universal Orchestrator service account. The full list of these commands below: + +|Shell Command|Used For| +|---|---| +|echo|Used to append a newline and terminate all commands sent.| +|find|Used by Discovery jobs to locate potential certificate stores on the file system.| +|cp|Used by Inventory and Management Add/Remove/Create jobs to determine if certificate store file exists.| +|ls|Used by Management Add/Remove jobs to copy the certificate store file to a temporary file (only when an alternate download folder has been configured).| +|chown|Used by the Inventory and Management Add/Remove jobs to set the permissions on the temporary file (only when an alternate download folder has been configured).| +|tee|Used by Management Add/Remove jobs to copy the temporary uploaded certificate file to the certificate store file (only when an alternate upload folder has been configured).| +|rm|Used by Inventory and Management Add/Remove jobs to remove temporary files (only when an alternate upload/download folder has been configured).| +|install|Used by the Management Create Store job when initializing a certificate store file.| +|orapki|Oracle Wallet CLI utility used by Inventory and Management Add/Remove jobs to manipulate an Oracle Wallet certificate store. Used for the RFORA store type only.| +|gskcapicmd|IBM Key Database CLI utility used by Inventory and Management Add/Remove jobs to manipulate an IBM Key Database certificate store. Used for the RFKDB store type only.| + +2. When orchestrating management of local or external certificate stores, the Remote File Orchestrator Extension makes use of SFTP and/or SCP to transfer files to and from the orchestrated server. SFTP/SCP cannot make use of sudo, so all folders containing certificate stores will need to allow SFTP/SCP file transfer for the user assigned to the certificate store/discovery job. If this is not possible, set the values in the config.json apprpriately to use an alternative upload/download folder that does allow SFTP/SCP file transfer. If the certificate store/discovery job is configured for local (agent) access, the account running the Keyfactor Universal Orchestrator service must have access to read/write to the certificate store location, OR the config.json file must be set up to use the alternative upload/download file. + +3. SSH Authentication: When creating a Keyfactor certificate store for the remote file orchestrator extension, you may supply either a user id and password for the certificate store credentials (directly or through one of Keyfactor Command's PAM integrations), or supply a user id and SSH private key. When using a password, the connection is attempted using SSH Password Authentication. If that fails, Keyboard Interactive Authentication is automatically attempted. One or both of these must be enabled on the Linux box being managed. If private key authentication is desired, copy and paste the full SSH private key into the Password textbox (or pointer to the private key if using a PAM provider). Please note that SSH Private Key Authentication is not available when running locally as an agent. The following private key formats are supported: +- PKCS#1 (BEGIN RSA PRIVATE KEY) +- PKCS#8 (BEGIN PRIVATE KEY) +- ECDSA OPENSSH (BEGIN OPENSSH PRIVATE KEY) + +Please reference [Post Installation](#post-installation) for more information on setting up the config.json file and [Defining Certificate Stores](#defining-certificate-stores) and [Discovering Certificate Stores with the Discovery Job](#discovering-certificate-stores-with-the-discovery-job) for more information on defining and configuring certificate stores. +
+ +
+Certificate stores hosted on Windows servers: +1. When orchestrating management of external (and potentially local) certificate stores, the RemoteFile Orchestrator Extension makes use of WinRM to connect to external certificate store servers. The security context used is the user id entered in the Keyfactor Command certificate store or discovery job screen. Make sure that WinRM is set up on the orchestrated server and that the WinRM port (by convention, 5585 for HTTP and 5586 for HTTPS) is part of the certificate store path when setting up your certificate stores/discovery jobs. If running as an agent, managing local certificate stores, local commands are run under the security context of the user account running the Keyfactor Universal Orchestrator Service. Please reference [Certificate Stores and Discovery Jobs](#certificate-stores-and-discovery-jobs) for more information on creating certificate stores for the RemoteFile Orchestrator Extension. + +
+ +Please consult with your company's system administrator for more information on configuring SSH/SFTP/SCP or WinRM in your environment. + + +## Post Installation + +The Remote File Orchestrator Extension uses a JSON configuration file. It is located in the {Keyfactor Orchestrator Installation Folder}\Extensions\RemoteFile. None of the values are required, and a description of each follows below: +{ + "UseSudo": "N", + "DefaultSudoImpersonatedUser": "", + "CreateStoreIfMissing": "N", + "UseNegotiate": "N", + "SeparateUploadFilePath": "", + "FileTransferProtocol": "SCP", + "DefaultLinuxPermissionsOnStoreCreation": "600", + "DefaultOwnerOnStoreCreation": "" +} + +
+UseSudo (Applicable for Linux hosted certificate stores only) + +* Determines whether to prefix Linux command with "sudo". This can be very helpful in ensuring that the user id running commands over an ssh connection uses "least permissions necessary" to process each task. Setting this value to "Y" will prefix all Linux commands with "sudo" with the expectation that the command being executed on the orchestrated Linux server will look in the sudoers file to determine whether the logged in ID has elevated permissions for that specific command. Setting this value to "N" will result in "sudo" not being added to Linux commands. +* Allowed values - Y/N +* Default value - N + +
+ +
+DefaultSudoImpersonatedUser (Applicable for Linux hosted certificate stores only) + +* Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is set to an empty string, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see later in this section) as well as permissions to execute the commands listed in the "Prerequisites and Security Considerations" section above. This value will be used for all certificate stores managed by this orchestrator extension implementation UNLESS overriden by the SudoImpersonatedUser certificate store type custom field setting described later in the [Creating Certificate Store Types](#creating-certificate-store-types) section. +* Allowed values - Any valid user id that the destination Linux server will recognize +* Default value - blank (root will be used) + +
+ +
+CreateStoreOnAddIfMissing + +* Determines, during a Management-Add job, if a certificate store should be created if it does not already exist. If set to "N", and the store referenced in the Management-Add job is not found, the job will return an error with a message stating that the store does not exist. If set to "Y", the store will be created and the certificate added to the certificate store. +* Allowed values - Y/N +* Default value - N + +
+ +
+UseNegotiateAuth (Applicable for Windows hosted certificate stores only) + +* Determines if WinRM should use Negotiate (Y) when connecting to the remote server. +* Allowed values - Y/N +* Default value - N + +
+ +
+SeparateUploadFilePath (Applicable for Linux hosted certificate stores only) + +* Set this to the path you wish to use as the location on the orchestrated server to upload/download and later remove temporary work files when processing jobs. If set to "" or not provided, the location of the certificate store itself will be used. File transfer is performed using the SCP or SFTP protocols (see the File TransferProtocol setting). +* Allowed values - Any valid, existing Linux path configured to allow SCP/SFTP file upload/download tranfers. +* Default value - blank (actual store path will be used) + +
+ +
+FileTransferProtocol (Applicable for Linux hosted certificate stores only) + +* Determines the protocol to use when uploading/downloading files while processing a job. +* Allowed values - SCP, SFTP or Both. If "Both" is entered, SCP will be attempted first, and if that does not work, SFTP will be tried. +* Default value - SCP. + +
+ +
+DefaultLinuxPermissionsOnStoreCreation (Applicable for Linux hosted certificate stores only) + +* The Linux file permissions that will be set on a new certificate store created via a Management Create job or a Management Add job where CreateStoreOnAddIsMissing is set to "Y". This value will be used for all certificate stores managed by this orchestrator instance unless overridden by the optional "Linux File Permissions on Store Creation" custom parameter setting on a specific certificate store. See the [Creating Certificate Store Types](#creating-certificate-store-types) section for more information on creating RemoteFile certificate store types. +* Allowed values - Any 3 digit value from 000-777. +* Default Value - 600. + +
+ +
+DefaultOwnerOnStoreCreation (Applicable for Linux hosted certificate stores only) + +* When a Management job is run to remotely create the physical certificate store on a remote server, by default the file owner and group will be set to the user name associated with the Keyfactor certificate store. Setting DefaultOwnerOnStoreCreation to an alternate valid Linux user name will set that as the owner instead. The owner AND group may be supplied by adding a ":" as a delimitter between the owner and group values, such as ownerId:groupId. Supplying only the ownerId will set that value as the file owner. The group name will default to how the Linux "install" command handles assigning the group. The optional "Linux File Owner on Store Creation" custom parameter setting for a specific certificate store can override this value for a specific store. See the [Creating Certificate Store Types](#creating-certificate-store-types) section for more information on creating RemoteFile certificate store types. +* Allowed values - Any valid user id that the destination Linux server will recognize +* Default Value - blank (the ID associated with the Keyfactor certificate store will be used). + +
+ + +## Discovery + +When scheduling discovery jobs in Keyfactor Command, there are a few fields that are important to highlight here: + +
+Client Machine + +The IP address or DNS of the server hosting the certificate store. For more information, see [Client Machine ](#client-machine-instructions) + +
+ +
+Store Path + +For Linux orchestrated servers, "StorePath" will begin with a forward slash (/) and contain the full path and file name, including file extension if one exists (i.e. /folder/path/storename.ext). For Windows orchestrated servers, it should be the full path and file name, including file extension if one exists, beginning with a drive letter (i.e. c:\folder\path\storename.ext). + +
+ +
+Server Username/Password + +A username and password (or valid PAM key if the username and/or password is stored in a KF Command configured PAM integration). The password can be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check "No Value" for the username and password. + +
+
+Directories to Search + +Enter one or more comma delimitted file paths to search (please reference the Keyfactor Command Reference Guide for more information), but there is also a special value that can be used on Windows orchestrated servers instead - "fullscan". Entering fullscan in this field will tell the RemoteFile discovery job to search all available drive letters at the root and recursively search all of them for files matching the other search criteria. + +
+ +
+Extensions + +In addition to entering one or more comma delimitted extensions to search for (please reference the Keyfactor Command Reference Guide for more information), a reserved value of "noext" can be used that will cause the RemoteFile discovery job to search for files that do not have an extension. This value can be chained with other extensions using the comma delimiter. For example, entering pem,jks,noext will cause the RemoteFile discovery job to return file locations with extensions of "pem", "jks", *and* files that do not have extensions. + +
+ +Please refer to the Keyfactor Command Reference Guide for complete information on creating certificate stores and scheduling discovery jobs in Keyfactor Command. + + +## Client Machine Instructions + +When creating a Certificate Store or scheduling a Discovery Job, you will be asked to provide a "Client Machine". + +For Linux orchestrated servers, "Client Machine" should be the DNS name or IP address of the remote orchestrated server, while for Windows orchestratred servers, it should be the following URL format: protocol://dns-or-ip:port, where +* protocol is http or https, whatever your WinRM configuration uses +* dns-or-ip is the DNS name or IP address of the server +* port is the port WinRM is running under, usually 5985 for http and 5986 for https. + +Example: https://myserver.mydomain.com:5986 + +If running as an agent (accessing stores on the server where the Universal Orchestrator Services is installed ONLY), Client Machine can be entered as stated above, OR you can bypass SSH/WinRM and access the local file system directly by adding "|LocalMachine" to the end of your value for Client Machine, for example "1.1.1.1|LocalMachine". In this instance the value to the left of the pipe (|) is ignored. It is important to make sure the values for Client Machine and Store Path together are unique for each certificate store created, as Keyfactor Command requires the Store Type you select, along with Client Machine, and Store Path together must be unique. To ensure this, it is good practice to put the full DNS or IP Address to the left of the | character when setting up a cerificate store that will accessed without a WinRM/SSH connection. + + +## Developer Notes + +The Remote File Orchestrator Extension is designed to be highly extensible, enabling its use with various file-based certificate stores beyond the specific implementations currently referenced above. The advantage to extending this integration rather than creating a new one is that the configuration, remoting, and Inventory/Management/Discovery logic is already written. The developer needs to only implement a few classes and write code to convert the destired file based store to a common format. This section describes the steps necessary to add additional store/file types. Please note that familiarity with the [.Net Core BouncyCastle cryptography library](https://github.com/bcgit/bc-csharp) is a prerequisite for adding additional supported file/store types. + +Steps to create a new supported file based certificate store type: + +1. Clone this repository from GitHub +2. Open the .net core solution in the IDE of your choice +3. Under the ImplementationStoreTypes folder, create a new folder named for the new certificate store type +4. Create a new class (with namespace of Keyfactor.Extensions.Orchestrator.RemoteFile.{NewType}) in the new folder that will implement ICertificateStoreSerializer. By convention, {StoreTypeName}CertificateSerializer would be a good choice for the class name. This interface requires you to implement three methods: + - DesrializeRemoteCertificateStore - This method takes in a byte array containing the contents of file based store you are managing. The developer will need to convert that to an Org.BouncyCastle.Pkcs.Pkcs12Store class and return it. + - SerializeRemoteCertificateStore - This method takes in an Org.BouncyCastle.Pkcs.Pkcs12Store and converts it to a collection of custom file representations. + - GetPrivateKeyPath - This method returns the location of the external private key file for single certificate stores. Currently this is only used for RFPEM, and all other implementations return NULL for this method. If this is not applicable to your implementation just return a NULL value for this method. +5. Create an Inventory.cs class (with namespace of Keyfactor.Extensions.Orchestrator.RemoteFile.{NewType}) under the new folder and have it inherit InventoryBase. Override the internal GetCertificateStoreSerializer() method with a one line implementation returning a new instantiation of the class created in step 4. +6. Create a Management.cs class (with namespace of Keyfactor.Extensions.Orchestrator.RemoteFile.{NewType}) under the new folder and have it inherit ManagementBase. Override the internal GetCertificateStoreSerializer() method with a one line implementation returning a new instantiation of the class created in step 4. +7. Modify the manifest.json file to add three new sections (for Inventory, Management, and Discovery). Make sure for each, the "NewType" in Certstores.{NewType}.{Operation}, matches what you will use for the certificate store type short name in Keyfactor Command. On the "TypeFullName" line for all three sections, make sure the namespace matches what you used for your new classes. Note that the namespace for Discovery uses a common class for all supported types. Discovery is a common implementation for all supported store types. +8. Modify the integration-manifest.json file to add the new store type under the store_types element. \ No newline at end of file diff --git a/docsource/images/RFDER-advanced-store-type-dialog.png b/docsource/images/RFDER-advanced-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..fb418e6f83790cd2e6a6d55a8bf9b1e49c25571c GIT binary patch literal 41690 zcmc$`bx@XV+XsjRDj|x9fPh7JH>gNANOyO4TOf#lNVn46ozmUi-Q5j)+|T>I-yb`( zJNxc_GyBXuqulq!73X=xFOEweDG5RJ`*`<}kdV-Yh2F~`A>9mw|MTx6!zX@Np0Y?t z&yj@Rzy07Cy)o%v`&jO}dG}bq-(~y8FQh+S{s-!b!dRHMAHEvl$HXLZxq&U!@Y(w& zgPw&-N%y)NRH1M*sjp)S7%q}i|Dl5ZH?(MZ=GF2pUa2P&UV|{@*WEV+P zSa^PK(J+$9$lK@3m#W)B|9ozxvbB}X#>Vk8BE-)pE35M|I{wPoJc!^j>L{o|%>xySJl;(i?{C@8)ouFz{pMn$CyCvIqH z2&PoPdyablevfexm2zQf6ZJ1I`nAhszWPlhseH41&*nRu{qtW0 z>yo(!>$vsn=IR(+czqG-e9AH@pEyZKN;Krn+Qixya}x4ShHM&Z0!fYST920XaPoEL z@A1S|-}s2(hDX0uMyQ*#Ji9e7R4{Z%S8_3J@nL8kdyba0U~Am%B7ZJ-*3Lu)71__M z`D3q{(L_E*vi{n+VmoJ$<0461$Hd=1F=6R)SG>LgjE<%#9Ua%l#c~iuRXSQ)pVHFE z@%)hgV!pO83#?>*6UxBM+*nr^FR-3%C8}%nCzMf8$0tAxd8TFRuFNCGZ9}EOdmk4K z7_v_ePok(C-Ci*gX~>hjxtU0!x7+!xhSBceQQb9LKyvAk3W=REcM1l7!NI)L)r4Jb z&so~w3foSzlRi)Nk0hdRzwBRSBvwjvr`7km?jGeJF?pmCniC$W`U%e_7_CRJ>b%Me z6ejyFvu;--mj68{d%~H8#n^%V=s| zf|tB0E3pH@5QC0AgK4tgA{Y&{_4M={H;10Ie!rQRltj#E(3NODSxoZ2&c-ik%K8-nJN;?eA8EBxYK6gZ6T=M&^R`P2nMJCPCs-(WN{e~njDHT-* z5*bC0<*Mz?(=vY7oyptI+&)G6GQ zk0ZSG*~E>2e3((G!jWh5sd9$8~dK8$)r)B{R}ybViNFsmne}zx^`jbzu`}|f7V;|uyA__la#eW zWLXZfF8bwx^Bolw(RvfPY{?W-+6+uaRM||^E0?m$NOVhh(yv#p(LINxt30W=-Bs*Q zub+1_gk?st4HM_)u@dt5H}FsV?Vd)*vOA@<7SHpq+_;&!Nkw0hIz>Z8Ga&OJ^|WH@ z`Zo*nAK5q(Q?4uIr6HE&p5FV*N66%u69?%qFIT<@g)4fkCYtX5tl z);XX!8mWNCgw6kgH3KtCz_%!i_=&v!;8=3{kkZoANiX%BpO|57yO+|o1U(tS`;jG(u575vDck<1YjODRo$k+=GKy?RvA-Ta~ZCv&u?lc8I;qOe9r z+NF42kc2!)&Tg#h`|%U^lFf-O(t>BAtHH?a?)f3wy*wi%s_>$SI|VF^R?0*q5}SMt zWw)ms_XLpxEV{qqxI8T1y^X3dt({t*$P;&KXS6$LH*38OMRs^@#k4;2Gy&}o>T_cH zAYKPG&20+<^cyvNaRO)r)1NT7@paZUed5UyU+Y^xKj0c4CRncXsrh!taih$f>qzW@ z>sp!RyfX5>zWI#i%ANY+%ltVywKG<&p$lopK`UgD@|$1HIP1N(>(SNl1teERj%z!O zdTC~gYYS7Q_~0pxSo4J?Tbm}w^E%3O%(X;Pc*K#?9MiOiHD*L>#nGlP6+cYUqimCNi_0giuNdv}DKhUcH*RVSNXMb}%ZejHcKf1nZ- z)BYO8Qs}V}qNA-jzT35Rq}TR%38z47^li1{x`O)E%tMYt^A6GimiWOH$Ah#kRW_%P zL(vB}XK+@UMwZL_O@vTYx!Pz_N`=}_gLX|-+=8d&iEjOt3wv{hW+FW7-nnyNQ=UOR z0gcvJf&Xp(2Qw6*)VJQyqrR3t_V-dtwxZ;XEK2(($*sU~VA@b(!^e(GD4y`dT~FDa zsga|uIA*rou8drYoEZw5e;M1ivO zOO@9vABEJ#my}r29o&?lDMoY6q)ubaSE@O9z8*%nP$WsD*HVfRf-D?ze}aqPuIXGO z1bZceF}Y;tnrO}oYO8%~I*t~y@9#PqUq9)X(!Cpy#6r#4kgWI3@ha=>59jizKiHK6 z&HXG-ugv?4cr2HjuO(6kNp7uj{{Szjo^Gc6)hx$6C=x`;!UcYE`qmj=6`v_e!tJOF=G4qfrctd@K-?#UIYKl zijE81D7Kz;E;#6u$E$8UGeB0}9yy#CfsLNZR~(N7--%IRB_BZ)-4QjhQMSWq=xqN~ z??T&aVA#%}@lHWU=EQ0B29mn_^}{niQ@@xh=HZ;g-R5N3i&9I62)h+q=dNeIT89c+ zj>C3KNymhL)P}vn!^1J{Rypu%I9swcuFB2SnE90-C&m~G2|7m=KFHeBFJwE6eWl+BWIr2k{SdwGMZc^Fc~g=sY+mG zmCbJ-WF$@aNKN^`%5a$&9;9)e_9$Nc)`J5M&l>-xoxzHl*$sVPWwXx_W#mgs$z1z! zH@LXcsj~@>7M7n_uSuc#@{V-vUWS#OIa2s3pU|6Jks$||b;B<9l#4zOQs4ZR;EOJi zZNH%VB-d_G3&TrYb8JEj4R`zoCn@EDv*(DYFx8bMzR8pAl(&pTpU2M?p5B$CfI{v_ zr!7Oe)IIUOsZ*85Z4)Q7d%Q6rsG_G>7Xc*(8#dfK zhYks)QuRJNWYz8-_`FmT;+OhUwri7#s%`>YgFdl*$}`K`UQsE0e*V`nmexh{f2RCK z4%;=Nxt@y8Ke0o*{;^u<{IXkpeq~CC&?Ot+{c1}$c^PksV9(J7+22g?QeY}od@!1u zP{o?-SWSPKHYI#z7)2D{h9;)0EdcenC)vbJ-Q9!iZEZC~?!xlpJe~e~JkEOD<3j{G zeTD9epNk>NP-OX8dxO(gvNt2k=k0-6I64o=8KquZ7tmrmSvSMI%-ogJ&Xv98a^ovz_bS+p+-&O(#~-R&O=9=-n= zr_zw9aNcM3#^#x-X|7Fvyj{v!Ge+4ZIyOgE>_zl1_Z!7Wp#tcW34rlzn7np) zX&8*Hp&S|Ou6!{xPEHn2L54EU3fna^x0<2XWNA9l7I0h>^VeHA#%N>$CC-@!;<|RQ z{sxi(s|rNq%$$}+_MP^I_ntu+)UiAgBkamrMrQsMCAX&RV)ASXDR7z|^S?NR>CW-4K?v>v|JXr~iv@1&R+xe`Je zJHA^tcC{UPC9iff;zUGa%-+a5A%oi9U*2|QG`uy38|`n|{BB~(qSQ~7hEF~F6JlLU zyErb71}26ruaw4>dR&A=p?S8!SE_#EW$O-Cs4u>zmbGowWp89}j#&!6kVzTDvSRr( ze@@d6(R35v1;6_1MvSRpf6)yj!DE46P6de}iDVjl2cGYd#_UWKm)alv?WlXqiITyP zqnEsFy()GS{fnF7)KJZYIGVit(#V)XLdbhhtx9e`0fT|0xz7{YG_fKl+r>&jq0yZ{ zF}wstWRm}QQZ30m;`hX>uaqz^9vPdSV13s;+b3*^paBK*|}d?%E2msWPF2>i{}mi~NB|$c?!nyK-lapD{{O`qQs3OAd!S zn?J3f`Yh;&U3ag@>n|Bcmh2mB?U9aJ9`K4?T9TQo6My35VTgco-@ImV^eaf|)VdIl z+bWP%NW3kculxB#6+ycgE3+)t;|)Gc79Q5?8I1C6%jOqM|w^AnXS7y_h>Z? zI1Y_em*VIFb>KzS0rWh0_DHN=pGWWNG&i4xmNh$ZY~ZU`r|U{j%ERILz80bO7u?L> z_DOSQw(OjwjMF`M zbNDkNZ_VL67I?{=9OE-fi+=;T1JMXQZW%bZFyWyC_=JpWsvRv?&idqerxEz_{MMq> zW`!}OwthAXTHG&NW&-iN;;}DmCQNvICW9!nnOXU!_5wT{otLL}*i{me_5#A(lUxMp z&q9TAXv-=uul7xZDrFuWAj*EWh6Fw`6RUj;<&zEV#?NXYp+$KmiK)MxZ?q4Hi35;W zyW>P>Erav2n>hDs{MN?VBCWfcQ?UIceqTOcqxi0K%oHYr8uun;{A-f@*v-m^4B7)Q5Pcj0A9V~`HNNSHmjA4rz#<)P6XY!oDe}7mjPiYK zwSaV>*G1*ay?j)kvhW7q`sy_6sf`X-U@o|Os&`)yiYer%XED7ARWHsqJ&7AFFp$kr zui{iM>3tz1{W!ZJ(bCpJ*jx2-kq3BIPTyYhky^4+hI6Wz7@c&~Z}K7BrnU-#qBOjs zv9Iwj&HUWYx;pBDKQ^f&MYBC^tba8=b)+9HLvo$P`nNylFhzKsBLrC!QsVrmot`43 z4Kw^c>i3L`Iob}&rJdNjk8%E+lXS`R((lTjw zqN8pAbHPtbPe-C1<5Q^J7`Z?Kb{m}%?@3DH+)k9~1j6it8Bh%@b zDV;RRoY;2;epGvLZd?l|$;{4fe)Un_>Ujc9M^0M$p>o#HPGx*WE@ioiN=iSj`{I%W z?xml?hu^aYf1dK84sAX|^<9_^G(!;QjIdj2!b%fjtpYi+Qc?1ki@IhepE6RofmG-k zEG3Y&5vbwGXNcc5-V*J8QTz4MKGba8pMJJcovk$Z0du4_!M9^o2!L>jswho!BmGjP zy4KFnZ{@7c&pouI%#1&Gd#vN)2fo*Gr`KPS#}1{Y==&KO?CGFpfLFA`IKif+9bY#* z9Wq34D+BxGU^0p0X~=C%D89-(k3Y^6_}hg?gtqs(1s1N#5GhE0v+g(Bq(bK#Sjjl~ zHaEn?YfS51LfTA3St(KYw(JpRI8V*yh#9lX~Knox1{r&b9 zXk2aa{Jv5dgCSFFHYPs@jElr#AXw1x1`H!G?Z;lt*7IcfNK1NHCrx_|%gvkaguBdp3Nvji)7%%b42Y@&AFg+Hs1daAGxU{@s`9hg-2=MBWZ`uDj=#XmQoW z5zw2|uU(lC=+8=&7m39cN21D$uy9N9db{>7GY7y^{v?^+xj!G*(0BKyw@s?lZzSpB zrsKK$WQdC!_6&Tp=f-xItu@3&1O$(9Ec;t@Dk5yr>|v?VTNuQg>|jGSD?-M(|)=b@{@M^xK4U0014^R9Wy zkCI?6CG|~x7j;TFuMQT$8PiK$0p8D%=eVIkak346xN%1Fu3iJn@Y3K*&y+xqIz?bB z;0y0#&bH8;HnusN=3koU>RUbaQRs7GN<{6FL-T$>JnuDhwwpszly=Wg<)jyWW5~6N zi0stu7z$NrMHJEVHPx5*tkN7$*l?$UoJKu2t}m$!Fq-LIWdv0xHgXGDQjEsSH%6Vk z;%c}*R;0W-{Cq`tM8TWlopAng$6`fk^N9-xlgE+;`kmp-CQp`@mgKI2wcflz%Bi{H z;OFOO#`vkJ>pfs}sLB!axAjYJ;o2ji1kD-|6h(WhlI1_@Z@*q!1tz$>TAe5%uid=F zWhy2ZA0}K@z7QwGy~cFEVZNY`lWW$QXRULlG#cLTrfE}mUHUhjw$7U)PH6iNHRw~z zXCYCU=lZ3nYL&K7qqB$XP+8qYy@;&uC0(oo>fD2?-|y|B9KqW0AR z{uDAIc?utB_Wh{NRLu3oAyn!}ZB@H#z8xTuGC#5Fh*;YccfSZ`i^n{N=8O%#>4}nr ze`^VFM9y~fu<6cL%}XY|#&^@_J9c~sPP-F{BG}z=>q+c?%cZT2h;F&rl5IJWql6vDn67BqTr83+2%{E9K3<@v|^DwQ87u>HG= z6~~o>aa9UHBvVw548d($4ZQc@;Xvks`CQxD0FSgWQT|SvVd`q4NrdW&b8F>o3@TdTlD#{BlnQo1IMwVxNS%OK~v zuD2@Ct2!J2H|{=Q_s#0}dxssygVPgz!PWID^K(Yszu0SRwhUd%tVp7GKLmhaWH`*+ zVmaD3H5$3weO%Wx^f_m0vdL?^ZgfYjR4eu`i8`p?jh3WVav~@}Td;ndtT9U`)$Is0 z3kp^UxdSPyZB%61YF`fSHVtlbC2rKn-u%Pj3&#dJx4$baKO*|jNm*6K?9k_cmMZdi zkkWpoWeEl);O}P5B!>Co>iqle+FGhBP0r~q^v1EF&qv&!cQUpGrnSs+3-f3CN2BhY zZ&GR1#85MCFANhA=LR|?g^6`ii?3b^iGrG_bl6B(PfvcyA1U*tsaR*DfE#TRGd*24 zWlB7}!1ZPO(seB?ik^EQsjfV)fW%qzZo0O|@X~ILoSj!!UM@p|TnZ9Yb|G)!#XstP zxjBgzY0!bn(M_8|<1oTj&F27y9Rvs7t^II+4zlbuv7D)C<=nQ0Q~z=n=njD1f3IL~Y-HuxWjdeWfn<6xU}~$(Ezk0V zjcr_0J3by-BxP?aF`p0H=*;5s51{3v5vPFe^-H>LzyG2-y&XzCbz%J_C`Ysx=lYBaNdRk$p+wTRN_F^(}E zJ$-HMs29hLEodS%Gy}h4L%)c~F<9F2v%Uc%;Gx4Qvi#7}$!W#xj5eRU#6!4#xJvlk ziZTOPDQL;u%qUp`-@X+1&C(pk-$VyIOR4$|q`#B}OJWkwx(jVcMrf@AS=-VikKuAY z)xkmn%3U5Rx6F3-9Rw44r4)aYukt#GQU)h0HXoia zZt9yNXN6~Q7aQgZo7I`%86{?{z9yNVD(lFRL6FIm04#HL|3&kOv~&rnJ*-c84~2o9 zYsItFmc&x3+eNnrOF#C6HCtH5)-o~hjFCOHV)J9a8Vre&6SCJQ)L%+ws~D9VNzWm> zFTIR)y0cg`!lAeu*WEOOKck#1w%To~tQ5s)GDVhY*5TtL7N7d&OGwcjyY&hMXSDCW zg{lFfuNDPJl>IOOJF-fmTwF{Nwp7Gx^KaPpMbp58 zZwwTPCS}!0C0;GVO9AO28l4Z}Hz;KBUM8iz^+xIOGr^5!bBsvLz(r_uUbQ@h>qAn? zCpY3b(*Burk}^pW$x3%SI~yyIl$N3MY6Uk(AnF#3QrZk zYrZZC?J>mv>&%L2`@%3`6Y%k>gxy=^KnyV*-ktr+2J|+j+{99HdG!kM={xUh*8ey5 z;NAbyXZ#fyNd6zIQ7}hH^xtOVudJ-B{}`8C|2xLze|u;Dmk#Lv=85`Us_IVnmlKB9 z(Ywve%$!#Kd@~#`HuDROijEdjS0}u2;|6n{&p=z~j#QJbff2I;67f5YXagmWC z@891Rk78*Y9X%x+-0LF${!Uf(896z5p<(Y$O3DnE;wb`7d&{|odkhQ=Da?1c+4;cm;_`A^i5qM$r84WJ*)rvuO^inHnTxOE;kgB}=lWF&J zYPYikt>J7nL#9ZIc2Z(udXFnt85x-^X>=2ToMD@*3n%$Z#kcP6SKLYlGBS@4N6-BI zggE=ghN-&iE`KD8SzDRSvT@;tPP0F~en+@+y3t@=eLa|m{Xy`jSN1;bD^cJuVLw-tqCxF^!x5XBNODX^I(opWA8z$FhVOVbs^JxAnVYJL5dA zT3driN2}d9`MzQ3{rz}jVQFcojbkfxyXHC;c5-^#7(B~bZVR8=C*2-b^*>+mA@!`< zq7m^#d!phDk=?F7o^m;+>X`74Cwng_SYWd(fn>iuB|cs4)?Os=1P3Q5B*YWk&F}F~ zi!LfFx%T$=tt>77f|sirF*m23Ur>-&T--D^R^GuBBOwUu_C0=PX69pBno-1Qetv## zZtmZ%E{qTnIsK`N3s-9!8#tULy^A@C?EZ@vFB+N=JN;Hl3KPlG)069HL?=_Jz$<{~ zY{fqe0;=r~-#6oo@{+~v?e4R~b;{_YW+IQ7#YMaBHS3&-vuf6+Nj4VVi=8ij8m}9C zunJ9v{d;<(1pM&iGS<_?dwYAqm!16A0=R8srO9U)4Wt6Od_rb4dv>;-V>DJsP7(6` z3AHljlPCIQHI}pQ#tMzTR8?_5;Ju(rk&HvuglM5sDejQks`Ered&Y(tBEk`Uep&p@V~itE+1`rvpt|TH0%f zAlP2_^G#M;4gw^A;jY)0$CVd*?G25Md5*i<8yg!tJ3GJK&W|=G%CP(d_yh!y`;*0W zI>PA>)&@~oSy?&kH-r=w!?mu}Yusa2`%~uU=00a+P)hP%GSSo1uh?>Q#d5cMKYV5B z;Lu!K`-xaI^k-1et>D|;w@@&8@^l0tQyn3t74x(kxlwL%OOE9}U=$AwftFYrB z*kA4@rK5utZTxxb1Qt#v%;6@)nu5zpqOkvyG)t;wjt42Ax9e$-^K zh`No@f_5sK>#NH`i|N?9y1Mb~8nf}@(uxWjz_{b?S6{z=-GLIYcQPNaKVj1?mvK?) zwEvXF^eIFLJli8|?8b0wl^3cP>tU4TC`Y z{Akl_=p7CY&e_qXC`8l?BuJG!gKk3S!!^AX&N7{542d|NPAo~TT7x(@fp_n2N>LG47y|Qq#j(X4rSp(KGeej+tug(AYkOeeG2$LYh~=_;`{L7aW~I7)ntW( z!SUAQo7U5#MjVYEn3X!(o(}NyL*E=Ls_*RdQ>(C_U0G3FBwod5HP5x*9AgOhg7P4A z+>702Y3K5Iy1@O?85Z$vy%+jD42mE5-3wmbZ$*Q zaM?IGpzXlH_}<^Yzoezji4^?3Br<(m!UIhX+GI4hODGiDy)Mpe%YzkZ#G(f9UMbGz zwYInGY)@5Xs#iry@|=E!G7`o~ghQ?T9-h!*yjwbFxWH~*9yZ(%vMVHx_v5VUO3$BL zIn`&zMQt9?vbgp;7!gYj6%UbrIsx2Gu<`7!Cv++$=FA&$wO>&7hg2*ALqnV3ZVjia zxnUXg_7+;v2snaY@OkZYvQBGiYs=`JeqU1_Tn4%5DJ3s2k+#l!h|4`GJQmYb+pP(u z)rqnKZ3BZ8NEAwVcGh6HZ&}#QrGWUeUFKWk@@h!RXlHYY4YR*eyi!2!8tonH&nad|!Wmh*5tsIV7MQ6P{oE@OlV@s@}m$ zFX9?|%W)nQuLS)+XlrY?4V2{ON}aBz#04v;JMot}?I*{ReTRe$hR7j@o&|ZP5R6SJ zPX-V|9v&Bc-)yW)VY`{Cnts5Bu%St`@Ts(>9rl0?JsV&gdML~cChmrm#M zK&;)#*%@B!@%FR^E|05Y1VjC|2MSQ(ev^r`p0YrPs4s-ZO$lv)nd=&HA0*~wd84wIL6GulYy$ND5aIJUm-US2Dp!gn7 zmZef6@AZHvJDSrWyYJGWds{C`|vR##e_LT08bnsrYJ_IIW z&*FOxAM=xsk^<^$gC)v_b$I>yHQ7g4;ymj^HtPlNKQ!WzOwtpRlh|+ISxU8>Lfo$4 zF|KITB-6%2H1c(Q{%m}_aVr>55MC_r;ec#gp;13tKNMsc{ZYhXq7b?MhSOFajhToD z2?<5$$;n;C*=4O=;Jmx5)6k?Q?N7*=HW3!uatHMZCLy7Oqa&MvCB?oVxO z_FbxsVDK@|VO#z4=g(vm6mx5X8H!3uFvEu^ywIDW9?k-g0o<>}Q>5(YBiuThs!~D& zRb+l=wjNO}J+9r)4pzTJMd3I56C`+CUsay1WmH~Yog<1kv=fG~kU?X+vKr`h0D{@r z*fb3c48qNgjlWBzyn6BCQ#bGRGpN8oOO1;ntKH76Pxtf~7#W4d#1a9$dO68a$VF5K zJE(-ws6oH|;73yr+r}6r@H`tCkki? zrH&vt?xLYFiP3Uje=?qoP%pn07ZVHTapTZ%-M!;n6$>Ml2;2-^OJTLrqUMq%&UNoz zdl>EVT%)h)R3)ygY(E9Bhsfkub1BE7#Uu@YaE8kt7Tl6hpPHdBpf``z*MHG#4-H{o zHkXUpD;XLL-`BYN!o0boBPIBQdTl9*AV)wV-q9)-R#uCthQ7XE(b3WOX@%dl<_dB(e9h^P)Gj`$%Wo`6GITU#M`LL&5GFMWMcySa~_L2V^wVHw&{ta4^{cXx+S z3JeO;Sy6Gyv0LrC^SiD>ma_b-THsnNFA|U-s^OGf$kTx=m17CkTEpt<>XFgWJpE2Q zL_K-HFYUPB$=V*W4Y(3&ZjP;!A3p06Bw+II-yb1rqQOckaM+%zD7$yuQED~s?dL}f zI1aSk$S@7}vbMcj$Y`27Gqq@VOx{g?`1tBMYx^lLn?iF$puL7O=!ul+RKfi!lUsD0 z(tgDpM1T`pTP9fKc^D0b9gG0{`x8nhG)ixPm%_rrURPfLV0xVbHRuEkF6Qpeb9Hrf z8wDlINRD!_#=`>|m13#o3rHNqwxz_mMxDCKp04KRcMZ{!e z-Vn1`cz7a!sI9E5ph7RlPAbmN%=`t2idgIjh;GF5LriC?mi=Ne8{0V=x46{d=2Py^9DH6%_%2;UY>(N}^jgZw0Jh`3I(Y>^{D6B@os3-{i&SD^ z(qVdWruGYr61lo^0b()tync@UjP2*)`moJH%R_KWIUTli;qj0RiZZ**VVNZ>$iPRZ~8bXU=1x}zgtK4AuLI($CXo)KY{4mw>JOnh=cMH%V(Qm!xJzWU0 zT_5s;>WV}M17?+#mAQF&f1p*mULFp=5f+V1Ng;)94K)@SE`N10|A6OWr{22#!QHzv zK)GPH`L3v_=*7ha85!B%+S=J{a|NKn751Cj5P%RL^V{1Nj<$f20SFdYO!IJYb2}}D zD4c8*bnoo#)%EuWg{eEIb>v6K#H@~&&_X5vZpVlJsHmt`0K`6g_^@)P4wVb8Yzz2j ztlk}(=ib%%HWm(!AS@Krw;4bWB($^vz~goR@a)2uh!JE6T*Q`0J< z(%wE90^4=B5vQp7K?Z|%!(D)YjnG>G>@{_F2RKZ-h2b*l?+hwv+@Le+d!4OO;~x}+ z<%h>yH#|H{=OMQ&3HTYouNoUY?be5I-|2#>i>RVt_QIU&H_}+g__}hr#~YLt6CUe} zo#RT77C^re0hK`ynAzSA5J^g>s|+CE3`JZF0I;^Xx%tYLRNMG?6a+EeR+szPY6<`^ zo1%3Y*^=sQQ6jmb=+Lv}ytEDk(3OzD$f?{DNt(Q8Ub3BWc9G_{haH2Jq$lWy*9Zal zUP$P!yu3Uj17_>)@Wr5@J^c$&`U(0JM0kbSsYm)20_}YWqhMiC-#xBz2wO>~BqqKC zi*9Oa+9uxK)g_S7J2N+DJ-!H>6^ekPq_V2DwKb5mzpbrl6CNku<1P1>#39hEY;5WW z27*Bd3i|mILDAIJ)gM230!%?W)x_MK2C}5Iv^4lsrlYOxB?ZNOSy|c2s;XW?Ccw?w zT3T+Jg%cP;TTiV$%{~%RTRTVQerGj4_NRvg8l$5N;Q3B}+*fr$63>0#P zOA*oK3a5P%LPA1V(%-#?upc!km#_ZljwJl}fd(&wgRUzqPMGD5ss&fRtVFy9Tlx3^~* zFR?Iy?19``aaRz$`{HW)WV$St_$wwhgfGoLB|k#TMK|*KfBcRFD1>F4=PdI4)TPsM zCklAenoXD4pAoN77{7V9V7B2sYFU%9lk@r?;qzo#J^>RK$04bBZTF1`lTTuH(Dh|@ zQ%zsZ-ywOHBCU z<|lvk+eC8|4;9t-T+PpeSa7rEeB$BUbX#BBeM-?&)yMA!=-wBbPsYQ=J{sRZtCC$eb{mT3U8};u%Qa7)na+QoH|2(*ZQdY@(616JfYh;UDlYR2X{AoLR@aGw; z7Jgb>o^UVDo(OG4()fnT6)5BN}kxqppdQlf{P2F&NGlm zA%d~&?d^-y7LAn(^wB}mi>)Xt>n%1@f$Hn0J_Kx`rM*1?_*MyZgL6ikl)uEu_)`&nQK0bed z>!-=4Snn@YnY3OkMOm;}&L9N_1|mo?VDpbYSftj_{>HmpcIWt~+|SMG_u=As09K8& zSZQedTUvx(zIufam7t+8aCNt}mCtV?V(@FKkFtdi7XhKp`_YyA8Z}n)$RG??UY)HY zM7odgxPTgc!oqOy{Jh|d(yFSely=$KP@6vk2E|`v1aQn^KG6bAFe93lkueCwsOesg z6!9qilM0O*_a9K4uP)E0d-K70fGlah<>XK-kZ|Ko#vq=0K|#U%>2e$?H+KwRGQy8Q z6FosKM*j$4b*U?+9VFJ3;T$3Wt7$KEjf<3HUH61Ra0=(Jqkzmtnd$k%2kf8+)-~2? z2{&7{OlFf~Y;?4@%*FsH?(M&@DvnpD%d2BWl&=JSXo4Pq^wrZdPqX%>jI6BFUMnfc zE4P2c(t?CU2Mr8Vhc5^HQG>)IK zvF2n^K|%Ewr~ByVri1BnAR8vE{mWvB+cNf^C^)3Gw_sOW$}?EkD2eHYrU-HjLi1QQiP0#K6FCJsLGYBjgGPMKCZbN@df{L|gkE zphq|-OQpQ3YRBGUJM?%K(|u5qo#4JtfLgb7b}qsn$Zw<{PdUz`gGz7;Y8r?uM5UIq zH*J=?vg`>E5wLqbtcE{_qIuMSy{Imm_TgFk$wl!#gi;u&2nYc2`3|aLuI3E{@P_TU zedo@N9+CCBg-qMfLQcYP*4zP2JpfL*o%}{=ley zMCj~zTM{r40*!!1<)wGHF&dPo(|mJgbF&k8myfS6g6j=VRv{LO$o=FKBpA?N1Tne+ zbmZHgj&X|`agYd+Xsb_N25=ue1+e`1@ng%g10#UJ9{~#@(N-Ni(rNmkwbT&-?O48o z5Rr~2*UQ;nE%On+TaM~Q%Hp8Etxi>O0vRx!u8slus}Dq2z8%Vt=;$9IAt5i`+=PdN z*QXi*v7)``gXEy&W?>11eMKlg^(GM!5ryWHk&pp)5j9SZjy+i_tnOf>=yyf8LVDoRYu^qH4fPT| zB_Z)(WjQ}NnORwB0bL@uxENUz@?$X+AFK!v{I^pj{`E|=@JyUZ!|P@4m*um4Ii8+( zARlKS=Ses?%2mA&j*nA-kU_PYU0+B23#gtPFmPjIQk@->$q*U{4{&LvO=o7%hw8MP zK>8C09Ti~|KoN$d19~I1xj57SazX@)86L3uc_1d0yG{5Zq2i*VuNWDzVCU=Il|dQ? zSaqD3{m*S3rylYIW|e<%B_9dT*V5AZfzRp>IyV*;7Q!#6xje%6@$muVt)s7xd_nO2 z=FOWs`};bh`FaZr3qPZx+CiY+IXcQd*s}!AdwMvmaSs(Wp|ms{>=^(j(o0Q2Yu1*Q zNOT9|9W5=-NlBaOCMPDM2L?WX*W9DAou{-IHBktfzY|l_21U(4S%7 zu`%up6c|WOx$cVtHF|ab{(ZEZN$1m&a)b>BMK^*@>n3!Y`qtKajEs!+`S9`ggoIZh zEiz1O*ra>_xn&v1CxX=>#3P{mp_JQ@IpC)t<>u#WLze?keJdB7nklDc0z!`qtIW(y zaJWi0EfJ9HD<)F<$cSU(bd7lyHQnl(c74Jrbze3D+ zTGp^OXtlq8BN-ShTi@7T>Wo^XQ2>4D*3-{@n=6OTz+5eDZ7b)ieUiX(Bd4K(ikCNm z@Yui;_3Sq`hHx<*EA%Nc8OA%3wz8tHayixq4*-Omz}Q%SUtdwr7woL8Ve#?tBD9zP zIOxIOeQQL(uG}nn?>uNV8<5JrF=ZVYE-H*2y2=@E7sBh{Ncj&3pfJzNBs=)P$`#50 zBN>yElc`P=I^YJEYAwbM7~5r`v;+q~#vtP9fX>pLkyEW~M47If)zsOU)weh@Hl}T2 zqLN|vuU#HjtH?_RoG^HH%4f9<>IS?0##1OR+GQGf(iwvgyIm_%)QA!*O;F^{u7X&_ zcNZ=p>Rs;7J&vUQ`H`#i{(V&9f4>?$A083;KcI}BSx)rdZwfd4-@GZT?1zl6fnD^w z_@6EZ*!j;cy8eKn`~M*53~5naajeXLkmt$tYwG`%7nA>cFvyA%`zv9mkp|sh{%}M& zt%X|35Zka$w5rpxNN%!I?phLPy%r=bxTdfj;-JBRFpF>oRaC~$)v7p;Kx;#+-^YIu zyBw8u)F~_VcEPB^j;H3|YclS2R*JL5rIOO{cUNi@R&qB5SBq~MdtJs^0#RhKnCi&Y zs<*VV0yY!{)Cs`GXt^CFArrzQk7UOr_2Xm6D8d&_VMG3iz_*r?=A)K~R*<^nS?svq-D-iD6Kv zMO>lgJ~=ht@)LRkKQHVWlZXO=`ksLABWGcuNkLSO*9O$9P9hPfz%~IznUpod^^CLp z!7R`mNR>tyCtx8Ck6HU6stu%G2AVPw7KxZ9C`k*8iy=-`>6ZuKj#vV;QBGUNx2UXz zVvw#@ojiVrPQT+Rboeh4DU|zXh;9iQe``laru8V8!Y`<(&_04`X9MII3A!4>XEiI) zYWevBB$&zKiL63pYQQ7OfH2W;8NLEspfl)t2KilPzljG;mEPFtO%|abJa2sQpflr4 zSOqieoQObm-Nn72hzI|f1rS#*9Ls+poguBb;~P5VHweeH;Z!hJat=(;spSmc$^{Jd zA-(2Yd`Lf|3s423K7w_6oJDL6(F59frm`N07$P8Af%OIGXwbdwocCypn`Vt-_xc1? zzx2!JIrMk39jLn5B5PyAF23$zm^xuOCF0a(j3%=Cze*UgIyywtqLNMQ`#Z%x42d)T z%wAF(-fQ~qJs1A`GX~n-Tl?qrLsPP7falQ*xOm3dkmjBjt4_h?a(xggaJs;AZjvNF9`km^$RJS&FUp&X64D8?=xQaXF;tE!Q`@V z7X}bM&$t|WrkcQwR;qF5h6xQ~UfwuBWP2qwmwqcNhF%y1ZJ;M^oXhKZt_v7+MI+Qr zx%6?sj!-KzxFo@%|EtSjwbJtfAdDbnJQC=LG?WV2nYL4a${RuYLRcaQxCT@&EoA;| z)51d(EUn8+u%N&&jkQayD4%Q?jR%20ch{xT3lK}I0yi%6^l)AU5>Yifye@e z{lI2{>xPFvMVQ=+I_X{WcyyXb({9HEU~B={-Z`$hj)B;4DH}85z+-#6ro!J`n`a;jMt>3j9`y~Z?M{%fbwtG=E&;DQ~H}Q z3UPi8;W)dsB>`GNDcE55?%w?k6cM&B*u_JGpX!NdM2~DB5PgNGQk0P?j}SvMFgtV$ zlzLr&b|CA)7J=x9Nc)Gc1b{P%!vg@FO5dZGTecd^QVD}O4^TEw)-rMoVUP&sD;x}| zK)Zd4h76J;1RJ^R6j&i}e`OGofWpabu4iF11u=C5vEq8ZSprx2865m!$z9mN;W$eD z2xRo%APj>>iqHdS)GP1)9oF#Z1j`gbtI_dUbityAelM%2XgGZglpV1K#sg&V&q1I) zm0ES8dHGT%=!XE`;WXChi;;-n1MRDnkQ)lDDb}<`E{+^l8b29#o4>F0#9!o&=4jMV z9EL?j`8I0b_zj5yP;qqIrcjaUXopVo??(noUE*V5SaEiCcDc24d!P|Pfq~LV zaupC!FbgDYt|YgVmYNFHEkNc$dN8X6JQu9+#L#8Rpq(lbVs6Ugv|Z!w-MghpD6-FH z*Veud8dDc_YSKwbNomHBegu6YbhHHOJjAWl)&x7`$;P-Di%QzLoalrjQFcKAD?-NNroQo`IoR!mg1Yz?^l9F84diN@x1*G<_Gz1&I znlhKDBs9^x*lx?ll#>HhzNM=x83+To!9={gyzcu^)0j`63IV-sY-~hW#If8iGAR-S z$|dG%#@D}`5dw3TJjCJ2#eO%WX~iPFoE$jeK%GQG*37{c1Cw@2hS#EU7a4dL!m{SN zzSxJ+gQPkq)Vp{80x1G+1cMIm1q8e<``qOqY>I%#0>aQ?h-e$gkWIlL3GxA%$dpCJ zGsB{*t7~C-Im~$^xdCqF-zGH7f`zOm0I`LffE9lWGnEj7FX`xV2illE1_V3+kfH+x z;K=1sL4H2s?G8%$%v4(p4u`D{-s@9IAPz0v-3CApCcs`uk`ET`>W5kk4wVo{%M}jW z*?a#)4OY4vao_Z~4-PW!>3*b1rt5&8IW_vCyX3;WN%n4^6pkym#buZYm`&{f@kL;| z2Daq(?b|(-PBswjN`;0GL0K!}rGx7Kpxk!#bH@51X|1Td_Y)e`7HEJQ$4op3b7`e# zHrXw#q;BD^g@pw|3!3@zz!9_{icAsEVr-28bVh>U`X%)j!+~(;oJzTKtad*8W*SGS(^rP zPl(P0js-(TtbRcROmIO95C>}nrZmarrgF9To=_?N1(_1aalJ0X?trZ1Zq)QevKTMm zuv*wjD0IE<+ol18+)rUhBS`~ipu|F>D~`7tkWh!tXZth)}Vhk53(N z;XHhpM$UZX%gpJo98qv}Mmuzy)iQZft;;n|Ud&p6KBrmP$tV@oZA`v<_(+lJ2^bJN zySwDFp`gHm*&u$Mst$b)V9eAmtv3&lC43gs=kV_f!LSnqZwnYztt~B@@J|*2fJ|(X z52c7KsjGX}q0b1+wqmh(d%!B9Qy*58@^Yd>-zGu_FJr3zUUk(yKVVX zS_e|=eKT7$d;N(oB_%gcMT4TEM76aM00`>9&#*8-(A;2+%aX8L;(X)wtwO%GKnWaP zV}sGitMQ3IO!7UOLx3%Fi;HqwYenAP-XAhwzaQ#)px`@@4wRqux^3vW6PnIak1)YpySS#+qI`q6^1u^XT1kIG zZl6y5jKHG|?)S;bv5oER8Rb#fh!sUSJ#h?-bj}tS%Ra)42yrWFio5#=J`aqtvA2Fn z$yuR4mc4~+V{J``hc-BwiMSqHizb~W%kqHG_#olStf7}~egW`lOZUfu0vkU!!IHk% ze~$Y9cMCJe_!4^!e?!y#&x4MdHa_)h!ZWIXZ%V>&I7WuEkv9h z*~w()i~}ejHIK)5$%^3lN;VRVSF$-D+y+SW6uk?OM|8|#);mO?5B?wReP>ja*_Q3G zEVTqPVgLmtXbC8a1POv=0Ldj$f}o-xARt*XmZca7MHUcH5RjZD2NO|5at6tgC3A!W zZ*INa3+Em$!&AvIqxc0m&KJw@s)vbAE+?KJiyt;bOUtOo0*M&-tLgkHqdMflZ z;zNTeadeiLUg>%BFT1#acp;?g$#u$}Fu*v^=XIr`vV~2a3U4rc2pePrcw%dpsZ=VV zd12bJ=+cGP1&O|TX+(D=E>&*}HdD@}hQe)j2ZpXjtx7xlSWuoTzkMUDt(t{PQ?hvb zE4uyZEjJzEjwaLxDV2y*9^Puw`C!DnQbj5!;-*EJvnbPzM3!=qN42#GY%VHqB_Ox) zMVRU*;fSe2W(pRj;4{6AzNR~-95{H;jkp+4LHXs%jrR4uBkC7=J7CCy3oQ+z6@0L} zge^GWr^;xe4N9z(mwB_VM|J%Ak2Qc>4lVe&T>?hi3B&vFVAwuXJUS?1#9%=uo^6ek z%fAJsGH%}vKf)W3ouh5If|9$N#c#NTqe0+>v@a=GVfBX}mEJWYgCBr}z8FQC9XzNq z1uLZz%Xb=#$h1F*`IQ#Ha*q2y%I-B56AwMJb;o29{H=9%L zz-9HltOfm!_Xnoq!)2kT!F22lzW-M0%GA`fvEbPQH-+Vv2F^t3tk>GqWmNnXM7DqpSOE(m@XPCKd>u=7(aNzk_Rq&P zQTkyYj~ugp7tGfNT-F>iD;WiP(w@;3w=O_yd}QQt`L#EtrEc(E;jK=eKmVYh9fm-Z z2CZGTunM6fLqkRhUcC#IG3q?ZGuQ#4)w-D#QtyBMe3?Ro)8&OyiGa3wr}>Uj2nM7B zW^!`U5%MT82-V8+5;%7sb~9*%rI1+6ku?G9P}zM&AB?XXi+!1M(6=y$@#m1r@GGrd zLN`7YJ8LXTl0klu$ta{mfF$)(3VLEt(-Dnk?cFC*0vM z`{7ub!Am3>aiJiqx?kqhV%Ayf%o&(c9V)6mUVxd1u@DBkdwP_j=FkW3cA*c8IS;KHa^I7B+6gGJ14>hPEgI-ZyWjQ*^-?KJ$y z-Mc7o35^6Nq&XarTefWZefV_$}lRQKFyjPZ!JyiO6ms$lx|yP3Uj> z6|PJ!7={c`*)|BSB`3-Hn}+zs)km+q`I-0&aq8jFVS_3UO=IdEgCdbHaR*ny9>fWf z5DY3dt!14J&aXT=%y1o`O$Y%6QvbHTGtE=0_`Rqq@)~$KY^q#YME9>FY>jGXM7OUPz;;Q_oMfSw<>X?7(f` zp6{@g25|`XnVeWiXBPPIDV$OaTV11FG&43bA`57Ts3|m-1#2gXOW?@-QE}EL>q@{~ zdCR7ds&Yb9G#z}{aARU67`@#mZtcTv0h~N)JFbnRhO+y!nad(G32DO91 z0#*df?`{}Raf0-N<~<43VpcG_1EdA6{A*LuvOiFIn-}NNqko~ssEb$UMG0nZYs+gL zMD}!_nsBJNQ%PgKUAmF+*NI97;jdMPO2l<1cX|dcU6n6gr`b8P)A;kZreQ1|Jb${T z&D>mEZ*B^f2Wk{~O~HYg43-f&a0 zZuepwUr5z$dwbNZ5AyOveGkZ!Xn}&upUKV5P3m6n_XHg0cif;n{bHQN*`E>|xV_~k z)Rx;?HhV3Z`2X}mWfXlx;D!ExNt^*?6aEi8*Y)l<_t4Xj^UCcYa81!E0VcNok5t$N zA9{HaHwVH<9TpoWO1IuC+|N@+L4KkmS;^$zF#4^|dg zv)6lFT05h1OZF3hW&6pEHs9X3oW;mymIYc32V&wyWefSyf3$enZ%3util0RSVhpLW ziOEac3PK0arfKddZsytXUw1}UhSGb(OMMMI6aMBCzBh>OZ|T2W#va6p5YDJZUU>`I zl-jjI(XIIz@@=H4*11#JYh6!_Y3W zbpl`C;BODwVh8e(m@J4MPb@;B6Zv;rZVteAZyT{FQvmiH#zD0lXB3l=Qm%k>CN53z z@OQCyQUD~}-u_w)tRZ#vYQ)<`VK$^Uqyi)mnKkpw>VJapC#^HaR(r5+QUi$R5wJmy+EvCZsepIhyLjbQXv3Y_IWj}Q2VJVA) zJAhixz<`>ehIEMAX4aCfu5jdu8uZXni2oL+3A7M>SXdZ^bS-`e72OHmAGB#1NYe9& zpSvZT#b6rcvgSd%+|>%dLx^^(DVsNMCX_!`_09;lJ$M~r-k^L45%Pk218mQ0IOv6~ zzHGrUK{IA=Z|~b+0b|P1kSfsF&)=km$Q=NeB!%j~<&_CDa@%#dOcKyR1WJjRrNN|D zekgc)86%^(0#n$J5BRQk#ew~s@0-=}>ndkz-R$H8gCG1S6u|OLPREg6U0B(+s0b;vT_4W0ALPCsPT;LLeCk<^PuqC(wqf8Jii`-p{aD@&mNsv^E z;?!$VdRdx@dqk`r0MjurGt0sj0prym6urLGQkGtT94=ciZ1W7GhDUIEZ`r%I3d95V z-mC_r_c!>b;AKcN@0BF-3f^GVzbuQn)ae(mFB5wY(cR(uAqW-rZfRNByrDugFPAno z1?Ei@hG2Z6()^gex((7Lj>qnk_WZ=wjI~CKQwnPy6W}<(9e}ZR6whXb_C@6fCZwp6X z9BI9S7URB0*oX9SbIs4rMqvx~i@RFrrSKd%azvShiKzk+HV3pH8pRIxmU{6j52}@p z_w}ia&jDw_I!J84)ne1=50YP<)Wwb#3Up}`sSF*0K8QS^M|L~3R1HYsDxFV`pMTJf zrjX$>4z7*)_Nf=BR5Q4fFa2O;nT-Zw5UEtjzp$H#Hc>CyaJ+#>&w@{%0fUsqQ zoQI->527$3@@8lIQF#>4R(5d)4l9O7 zubL+e_uzmKM-`NrrC!#R;+ukjdDQ^JHyRUmLm%lcTpW*ttF3tUvbH~!BpzKi(W%Q- zNc38pSj5V(on>H;rl5ON4CE>(0i5Dp{5Q71djl6$ZhhhZ%zx$>w%{wEV~y@_Dwfy} zqV{=v>MV9Cq^Sc6Ps_0P?Rq_gZZxOt2P2P$@q9VjI+ok6aGnLhZ*&|{lOkgErPzJ< zacp4n(FAgZirS)lVn9dOs%(pXI^4;(xF2vvBR;vpk`Exnid#RZyYg)(;8WbKQ3)E| zeuKe^>7tgK`e?R6yR|zykQe6ww5I?N7Oo zoS`MK6J^PF>xSwKZdQc|<*|ph+!TZ&EZ321eT+$VP(8iHJtoE=RyGH1Vtkv$zLJ^( z%iKFMq7{|4jnk=Pbk!ET2ITrJC)G5_ZOesxsL)Ob3%A_8`ViX&1vzerLXZ>6znAz! z>@oj8Gnungtw#koMMareS;P5gqI}=OXQi*j0FT{{%217mJl(k4AmS?z$Mg8@+Hl|E zOixt>@|}8=c}H^=R2DGms;$X=ub)npsOY%<3@SQaNmO;OgM91_g}p(n1PS!#Msj<5 zenU++2{*3LWi_<}Z1)y_vi=t@0PeLwq?#Jr-Ue{lT3n;{h}=Wekbtd?}UY_MG0w8q6Orj@0$I;`d90d%*aiuyb>^zi*v z(xZ*ozs}5TqLoD_v9=v|tA0aFT}*W|gg`ap)y>Oy{ndpugJx2^2bMn)5qNX-Ri)a; zK}F>i^mpBtj`SILTe}1h?gsIJv{FFmgAzebIJj^?4>U-B!ggt8(NFwD-d?5X2R1Yk zI%~S}x+0o(F8^e$2WxU`vvu4r%C9^qx(9PJ`9EcQGPvkidPvv^ZefYrM^#3V*!V3q-i#H;IA*2%xMWDIO^7Z!a-!ECRW8tH~ZEMPI7}94>HqDrtJ1=x~ zv*yEK2M_f|#%UQIZ=nMs(=WBzV^F37DJxp&Cfdbx@l&CTJP>5L+cFa@QK0#@J z{P7bgp5Ka`X=p%>Ko=s(6Y!pJd2|D2T+`S8>8~eG$^awwNc_e1^2_nKvayfwA)b!4 zB+Y=$&COa&i&f}n=QC;L2VAe>R%ZixK!2-B-An8suE4->U5EV^hK~DvSp_$T?`f$GPI&tf=|FGn_bKXy$T-0A2NiHI4FcI^0U1$QVPBU8pP2__3qGU=_k^d3Z zDK|Rvg^Aocy3Yug?@^`C&cox5kLl^{C1DI*d!*yPLA;Sbcz}VYPfaH}yF{%!p&(GQ zLBCJD4t9y!e*EQQ@80OEbV>e2bb95P=6%}7UT=J=F?}zyT?8rW`m6r_epq(su$S)R zczTIV{jxIeva+riZ$8wLeh~8!x7_=_KgRV}iy8EH8`B)nh?&#B;hw+;JB!5VnD{_{*{B zE>uCpbB)kP5DYv7$T5QGig;2}YpGQaCK_=heuf=bH8bHV3 zesXZC`BBBAo=i7xIs!UJ5>cCo;Y21z;TMBQI%kfEP0%lDT3Og*5iZ$}9rFgCg~21| zaJF|teY@v$DaV4i9Ma%$fU~sxl5NL1d~s95LTu4J*ZG-@%s6Y?-ad3#{Z!arN87N# zQbVw{qu)KyfyymF0Qh9j`?)6c0AfB2CuxI+T1L7B96?EdPq}0^(Jl<(l$c|X>nOWC zBpZ`1Rf06R4fCq7^HO#}63iG#_TU78H!v2W`4r01Q5vhL4cUie@B{k7Q=z4&p&>Q^ z*y=b+atNRd@b|v~Nk%FAVbvgv9B5YZ2AZ0h{)5%%fOBuaf9r~N+VOD#8Cjj2u>4}tos#oZh&KI z?F_5Z*Mrqx?&%3{tU}vF`38D=J=_hFZL_+Z+n&odHwX(+P$fck#!5727&1W8Yj;_p z`8!8L8OM^4h6%u%mMk+?5F%@mTsnnx1dDD@vLRK1$%S8V6?kKEE>H(O0hOuVs*Y0u z?wWKZW9CI=AsY`W=$LxV2OrAQC-25S3E0TZdiw8KM#|&5VY~f>jxGWSh|Iqr4B0&K zaHH*XZXV;|AtKbGwihn&=9gg11AV}lD7_!iiiM!tE z-qw9=Y(HTp49XfAi18SC!*AOD1Vc2ygi50BMRjX?Z$7f~!`R1-+A9+4u*I&zJV?lB zIOS_$&y_D7EqIc=qTe#hfA(DpH4K*#j9jPuH75%E3E{KDtDeaFT^qp+nO+B zeSGx@6x>;R_I1w38NO~L~%5P0?k-K#(#py%8Q?y#VKOER})#$JOq~l%jF`PJ) z7Qx)a8fNZbTd8fjM-53>uoF2(-7M)|Qu|x&4Xdj%8C%VS4(fPi@-5q5pKwYzPfB?( zg8<10k*S7t2T0L*g@z?v-Nc(&f(b=TOqy}|IF^tY9)p{v+=464K?801&8WhMhK5jj zIB0QRhkc9m*uW%2d>e2f#q}FoAvaXPHWsI1i_QhDr$2 zJzz?Ag~XsXbQ`2*oNVIBi@g(L?+6gHs}fKXAC}AtxNlK(aB5PZ={B4Ug<+~L_Ol=f zdf*=$fOqZWEn3_ZmnV(p!K6W3taz5hgx2 z8Lxu}4&28!Y?)wB7_Kn4i_cMj&FUtsH~lP^ zm-mz^p7^BC{VMk86nr?}G6dT5pIbbs(s!5C%h{~3q=E)uGy&X(`|x7v)zsfrRQ~kx zQVdGNSA+3G_L3y;1(<#CA{2n0drvX$L5_lkjL$s>NfVPD`cN)I4NI|`*1x}D_i3ZU>QeTNQ?&8IM7 z3GVmL_jc-JM;&X2XOlQ)16r2f(DQ!va#`wq)mm7CD!&=CGsx@}CjMVskw$SQl}((; zqP2hV{Id)kKZTHu==0Hl@pW;2!T@CB_2I^3-EiD@l)`dt3S;V`YMP;(JSW$U3U`M#k!+1Zp&ajM+Q zgD%T%aPY!cN5)PhYG(G}FfaAt&d8n77K8A9)X$|24P+P(nH+?1 z1-D^-CixR(DlwjuMnn5qBg8|E{M*OKU^H-Q*lu-zZgi#dpajY9b=r>{1}LLo^35+u z7I5eKFHRJNLnE~uYZUj!qdU-O^Ea5zZDI^~1G1Ot@%z)5)9Y;Ti<>1T}7ALPidO>U1?zQyOhrB$uI1Ba~m$ zTWupFF4z_a5ER^5P6i`IO(T4!LS|ZA#=2ew;)fn^4CP_#D-&4&I?^ctJ26qoL|j4myx*&i*b|=f@o@B zOiaviG?^|_t6jG3+4BK%^oCRV`UfyN2kd$v0uSi~1vI4)-I??*0F?q6-U7tsqiOQ& zK+6cX2{-0IV4%c9c*uwg_X&1yuMqL|uj}8Q$ns|sr|xgMB0 zQNla@7_!D?dlQs6+M+y=PFu6aI`RVHqVNt3ECu3z46+GTl6J1uLy4vC&2yELAf#cI zyaQ7T-`F>B+Ssc~$>62iDq#hvBC0&h=&=|Rp&`=o;@w0s3!(0AgOWT)?d3}*C`M*lA8&UI?*)#5TtC7SLMAC0a4?Z5-+`l#tT`_y zw*mW=6I%-`yPFp;;sx^2=`&}D&3ow6^SAQzFq{7m_TRPWRJ6%9BeXmu^0z34(84zW zBW-S!4NBI&ra^7o+rekNGBX3`f$W8uT&}3*yuqRo zaJqKWp7S{Uy3W+=IlA0dkz|okW*j%~IqNRTPQQcaGKT4p!9S$I;OU7g$)u^(!UBza z$L1PNO2L4DTmKrB1Uxq?_u}Iu1YoYkT`30fMUWZRWz+n|rtm*qhN1#Vy$Kwg{8gz4 zcc4u1Up3%X7Pq(PuY{!_n704PHZ=Nz+xDYVLvDd?+cP|DFYEM!gLO|%HjAw+LJM>s zQVBb{Lk)w>Pp}<4xGu8h%O{2!)IdNsLU%u1V)GNDQLE*q<}8Mh&7khT_-oLRJ}zRW`? z_#vHj5u4JJ@0xR&3r*&l3H|!@v19vH=uyf2(2B8RyjS=n7S|c$&Cd1>;)yoo5C2hz zDlDdd7X{o8FEuj=sUjTO3Cn>E5FcS6Cbb6oR!B?lST}7n%3x>84NIw@#Rc!$eF4P%94)83ag`6r)UI&M~|Sk*mqPi!FHU#n>|7MadXqdMfEh)Ww-5#FF(Et z=l-=6Eh8F-%D+G<<&|ihZu*sua?S;Y4qsCQ-I(M^Hl$g~GEsnD2^GK9yv4&qMner7o zVa^*;C_C7(exA?d`nI5fH+&}8|0!S&!9PktHN&AX0OhoOM?j)h7z%UmprG}qP~byN zi*3~7xlm)E;@x&K3pY|GR2k+n5WAhV&1MGxC@^~IN_vZFJR$gqHBdehH!LSdlinK% z0_Kqv8SBW12*f0w%*5>MU9J#ZkeP0{s5ZsJPefMGO{MV9zdOj0EhLIV}Kxflv37@W!VugD6 z9zOm!t39v=adL95aYZ_;gNisToZV)XHyH3wu&__@J$|sTeqbN$Am8DXwieiLWa8f^ zES%HMhxvEzl99B22qn<45cdvXS_!5Sh%YbbInYQJ$2d+%<}#%94MrL^aMmFGmF^Jv zAJ?^N3oC2&v)}GMaChg)>`?=U{)mzLZ@qVbIO+8ZM5Vfaftb+Ghiziv!b#?79Og$(L4{;=uY2Q)hFFn1HW zHsvKC9*97=75%{oG!Gg>q@AO}M^Xx_=e6=}BBwnf}p)g&a4(f9#?!Mg~TDe+t(aU1)YAYaGA6w1<^LaXs6ug`mfXl~ zh@e;svR}ahV!?}QtN9@SU`+@Tf;9w2lV04K;@RrOlF9+x8V+9G&BR?XJga*3@%uN3 zy0@_fc8lG<73Bn7#XCH_8t+pLN_upaI&PCfY~~ij)QiBLs&Ni58o(D(ahQJNMotcn zcgvtN_lb*#!RxqX`}VWA49w!`2KY#uIF5NSOSF~gXVTbb$n|I_tU=2f$W!$=FVcMr zg9|7t4^$P1VOfDrU`LV3wlFclq9wHX3^IeB88%^K%S%1lf+AP{bbM z1JP3jvJ!(0bx>nLQYJ{EXDZy){vY`$974ghft5w)3ODib?buNZ5RMv-ST*4aY=<|L zvD3@`c!RkqhAz5;$RYhk1nmG_8^T>16>f;peArEqm?8*b=TDdnM8xJW`lk*(oUqz+ zkCCd2j2p#`Lt6$r`dRmmlXGH&bFu+b>Dk#MWvq|$@!h}?$+-^sf_s)rL)F5XRz1(2 zo0D@zFeJV{5Z?|L81+hnXUAe(zan}>iMPl!2;FWV<&ecu7J;HB%47T2fiKE6p>2)* zGhTKXCd2na@}9Sg=yXc9W_|6hzb7_srktgsf&C*4$QSfE7#joSMCHl(c4gBL#0dXR z7lWg_WN2Dxigug#cijGf>Y*QGlw2_XLx?-=7OsB|3ulpTF;qaeaeI%2RH4nUtyH_y z0KH*nLria1_x^9`_f6J&&5_t@kpik%z!}6#ZMKxb&urvL8gzEH4Yu9TMH@DY#~S(tmu?Cfw5pR+w;Br6c z0@%a}v?O#^a-iTXh>5Swx%V$#07B$;DOy=&ke6GDsH&*+S#}(vPy)|nI_b%SG>2R| z3#+Fp#KN4<_E05jf%+M@t56Nwrag8aC(dUT+)>U@Q4_ISpNr{}!UF=LF=gskZf;qi z>Rhm+PMw?S>FY3tFcN8_!Zd5~XY^b9ArL%6C2|U~nli#o{saWA4XRvH>uHo~1=x_j;Q>V)HD9TE*i?&~4f@x2!;+WNXLKn2j-P zJef4?;0JN)$zf<$dhH8Xu?IEQl(2_RbawVd#0fkv$g^dW%IkGq*SN1p=Poa~b;WDk-q_L1 zan`|eVCb`SjD9}Vtjdl}$u=u~N#VLzX(T40-MfGP+q+1PiHec$!rOwTHcdLefYvvI{!%;yH#2w%`&nBvuMC4xq>=Wr4+@4b_+ z8TygCajB|nB;KW;>qMC@b_mbkGBH{C?gewEeL6Fz(Htff55^*hIL-BpInSjvt08n4>0E^IaB ztMR*gDijLksN~t7D3sz|Ti4@1^v-hN-|kzz|LGsFD+E4%@H2(ty4xj0;`@6X7YyCYDK41b&<9MN!^64Z9vK-KC4K#9&`$m7OVDmLQScB^ALjz%&W$&J zt~Y9Xl?c;)BC~1sZ%x{kRclI}fD1wRMWG=|wt${O`OI|;%1kALw`rD^PX^lerE3wy zA;<8Wv}a#HP@OL{NWGXJ4ilX{(un{NMy6q%B{!x0bog-MEh(o#?)j(z8 z@;L8RY8e~7fkH`AvdN=Og?*fxpARf5DuSCR2{hRy*mdXZs`bEfN>;$ zMro{w0t~F0ABQ0V6BFOH2N<`O3{wJ^sHheo#B`W~g0ysvEN?+y2N*3&|A2r4F?F$U zKX7A0KHLhmC=Lro2uEE5R++r16Wj&3!wr~cF&J7$zBAo?dA~)uetJ2E{F`RQ!>Yi9 zY5}Cw3z$m`q2p;5ITw&o?y#Or45E@r0_dl@`v(QZ;)yWt-@Suf?~06~V)E3)Cfqv5 zKmj&j6F+b7=Kw%oFzI7n_`L{h!BycBU5nU4-W(k+D>N*JFD!pAVHr?Cdz_GvIv^R| zr3rTA2K0Mh!UJh4K76PL>YoKm2d(7|vn^(hM3BLJC=Fu~?b0+8E6U0~A!}x!gDvq= zo*G1Y60wX>^TIwV=`(|0H3V?M;49zC{#rzH6lC0oHPVRTqz>cx1TYN8q$TYfj0Zk1 zaLTz4AC@OW_VGKI9LEz_8HEUMjEfb)M!L7ikDWHwo}&y6qiCQyd?NHM+KQ9Vx%UMD zTMZ#!HCHO^ zH!?EPy3HgDH-9)OZ@d;2RRemjKyu2!NA(OlksJ+J9yI^}WU$vjM}x0mmsWCg%!mDg zap%s1(ikS<$|PjUBmM2`+sy*Nh!DASeYP_&L}En)+hTB{j37m~=Gi8{GV4mhXeUEF zHHhiBzI%dNJWAWXiHT&A%28aa%E`Io<q89)Ut^U|t7GJ)cnK7>CY}pHJZqc>4?0ASN{~zfes4}=z#@l; zsd#_{7Y~md;K)>AAfg<)F%>XT{vis)Xy{DVUq1Z?KIaqK5#W^ib{-9OjX36s@C+5e zw`A0rpF<`9frB)Jg$gr?ryr(FCl_V3jdlJ?Q{3cs20`Kv39o65L^UKk1w;X5%t01F zJA#GKXRD#wa}Z0?P&8!1d+ot;vUQM_W_+HWjt&dKD~$q08BP=b0R-yb2hg9GoyI!p z>*Esv>n?dP2R=?2@dU#VBgt?VRTeN*vWRaGRMcQ$s4sMKkRCLBN5$h?w(s5@i!63X zP*4rk5jplKHb|g7q#TX$M{*ce9SL@XQ2rwrkg1G?BxlbF#$kKxn+D9PRctKLXPv;Bdi3JjkBio+i!Pp6Jzjj7ZO;is}+v~%CdM# zA^M?bPDW17uWm>MeX5QnM$IYDQQ}~~TBAV;>E9HgDgYegh5m3(WI~mVLXA&O*o;1b z*p&ojWf-P)f2;BOaj@5ZfBp3gH%HCzDe?{Znz+f0p#3rdq@@QHd|hC+8m^1+BH;_W z2%V8mxRfT8VgeWxv~f4zStRkvFe8{F^Ki&9yXhC;qH|JG@i3ATFvVdACpM0q5->;u zOh4G!U4xTn2OWUM`fr`6huXDq*HO&cPp8pn0*(u}3aA4ixp2=) z9n;x;NKV(&TT~(?H-`7)1e2>mA7k|ta2*nw3e|7g#kmnVD0w77&c@~y+-+J{Wr|cwfOb8u-LfkcTHhW&|%+%}qqtFy3$oeGQB6$K3AUSF>}*R%OgF@;tlTIM!7} zav%b+_-2!JfT&NBa@oC$tRd^gjiWGdjW1(#(A$V#NYeiA(NT|8&Ua+Oi#%+`B7u#x}y@A>*wnV z8BF(NGqTexw1rGU_fGZW% zUaL!R6Dw}@eK{sfPZuY|mNm{@6P+xRdHcyFiRHcvt*@0rZ{6O`Vst^}c>Hiv+Lu)S zd-h+|;;(AzF8yVdqfPhAFE3x6cYq^)``*2Y#8k4d44z;X4Mblco+Vp7g^R7W{$wxEOh!dp}Y?krx)%15tI4-21llU2s zo2^tS$; z_WY^I@{g4sId$6Rb@;phCyLqe=RmiqIy)DlH446sc3drR06&Pn!ypY$?Bgu&rP>w3 zG^-5n9H(($puc|Za>^z<3jZ?PH9VL?l0+ELJ29GMfr17g0J2aMPib z>7;!Im^L!{&Jc}WGP1IDsB1|o$0LZ;?253*lGQWMUAy({oXH!S)zS2x6Fk#zcYC$! zOvD5W#MuPezz9MLJRA?M{ri7Is8InV$3t?G*E1X_>%MgZd5aF!23SRsolvM6zk9H? zHP(afp+Fy_F40gZ?#J-Jz=wgJ#i}UGMrO%zk3X&L1V`+vX)uJlsxD=$O3%D?j zAs9!0$0EXf8xI!d3rwF4;DBSvuVYCqL_$?Ng(#G-BPu3agC=Hfbgj<{zNAIn&eV{4 z!|cA6!6io4#3e=4DTv4-<~@HRtE(0{J2}DY0jzrgp@Eb-0BkK|HmJ9ifz$xymC@2h zY}^W{~8hRKMHw+wIGL6c#=t#p3 z?=kizD~`IvfNp2H6m>_xV@Jy(n3<_VzXxcIxy)B8&)ydMh9L&eLrina9ZIc{$>)Ld z2A$kLQb`7Dh*g%teN)Fgkep+@YkVWEk=jvYebs10lXLh>Zp&py?qCPxCeWVGz?Tq4 z*B%eibMm|xHnC)UZp_9ZCmbmt+n$`Np(8F;ohlI`zwJ0lbCnkiF+1OSbBFw}fpSVm zgs?QH{S?azT`8n&wJTSi!>XPD2*Ab8eufakgzA9jD5t};1C|#gybvSc`|gfUfbYt1 zLs}tdeS6A=1N91aS#FRMsA0zNB$huG$#k>rPn#~;hKetart4~(0n`|MdUgjW0AT?Q zx=n}{negZ2Xn)_!s0#?Whm>LcItLarBLD*QU)2I~g9MI-T%OwQjK`YD12_JTVK`ta zP?AP-b^Jn->!yae2jMA~ABT;Y)#-85XCeeg1Zxlms?7gh@Ub%8=f7be;b}m590ahD zdj}U|EQA;7T09eQ1`px5fl0eKwkiapLC&1mD)_j+{RuVzxdf}X8-*60`V{sDXk}pd z0?LU)@WQv(6!W2mQw3Cq?1vn3DT+3Mx)av%1Z*pUaTt@x6H@k`xOECPj$h|HA;cwP z#tU;B+u7%ZphknJxAbR?AhaM zsqqe#D;<{fdpEhECg5`NQ@p-;)CPpq#*K+q%;1koHZR)bb-+p;1f!tZII}TkiLBdu z(q0A5{gwA_&jSMj;?PKSV;rwV>inz2G}%f5BE_}zmbjTwc^u+4+jEY3@o~;?G4o|2>BJJJipKOGm!5Gx|#=%imx6q4}oT_rDqVcMv)Mkm32i^#k+V zAK>i659(^$#mKea$tcTzs$6O z)TVxo@R9}{{gt^lc6_}GgDmGn=E#(&bvA82(Bz2vqhwo_`f)|xDi>P3 zy0y6^monI^&GR40r}F?|}%P^vHz&=z9XWN2PDn=2@$a_%0dy@kG+bZu^tV?yn= ztgr=%RPkP#xe+g8-%hUCj+0aA7x4zRxdpG!PQ)9;4;~p=zI5LFLagNbg1A4HPMZjS z&BynyA1T+%I7|(fk!_i{WL6q*GHuO8>#2*LbIx|}^4fdFcLp=8*q`LRXcqC!r+&HwALjR%^tPZSF}e% zwvTO3u2AAd+H15|(oF+xgYxPVPaCAptEybI(3qb%{VHMQG*%!u)#~N2z{|tZMvWrc z#^PZwj?8DwC1p9c9JF6htQkI@kuI3jJak-gv5j42zV&idaCYGvlMi8Eh2%9p>DqR> zL?#GItXb1G>t=3iT)yJ&-(Yj3aw)+%jjC0UoYt=%%x$Sgp*(Bt>lg7)v&-sPYuory z*>d(!J`Xhs_&37eMgQ3YmcSZQ4 z{~ts@>gU+tpnR+PMweVSj@Xs5q;GR0krkEJ_N5;y4}Ti3-ejk{Som#uYU1)5qo3CT-Tq^WEg13!WO68XJdcVKw9slgSi!LqabaHHL>9{V3w1_#s)JULX#2v-6i|*D^ zUV`?wZ)SwCq-np-G&=8d`t2VLOC|U5j9ixYo4)j=JGTgO97?;yK0E3%64l=D_z!kO z_~O#UnyT6Ihr+`G3u@GL7aQ_T&IsJx6CJ)sp~KPPctc@ybil{fxWI5~h>r7snf;aa zHm)-6`ta!Y(msMo=aq2|cO*DydyYCfO%MGRKA9*e(XyIWkX)g_s;jVf;zm-++RT}D zy?B3XK6M|f8!OT$>#66QmX>v*mYlLiZCp5$cEy?3_41qAKi#Ijso~*-qZ|k`+pmkP}S@Sz&eO#H0&Gc1vx`?JtTPvm; z@Qx{{{^s$Fa#&MBW;#s1_H&!T$cG`vhMWTzX;Rh=d*@%(d>XfGa8XguER1?sJ^1Y; zQEJzv#rD@u(PQ)@Rd$|vzW!qlc#Ie?0JY&xpVIA^Mv8B)0r^;2lDUZJoIa` zvvg@uefEKWMg{KODuJ6JWY&_fIpb#Ix`vY;UE5K0xOP1d)oVLHr83VS*N_u_CwZ%{ zgUVYu=f#B*CVVXwjTWKCTk`)0AlwsO=jE1R$l^%koKw@)agvueQiUyCpbV>7SA$Ta zsAqrpz$3gThc5AwY=E!C@)uz{K4o}vK-lLGhcV+7NvFUg`7~53&N6GqQ(RnV5|RUB U2-Y$>_#s95oWj|p)0hAFZym3l)c^nh literal 0 HcmV?d00001 diff --git a/docsource/images/RFDER-basic-store-type-dialog.png b/docsource/images/RFDER-basic-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..451ac345440ba7a559af1785d8f1e1d233bacbae GIT binary patch literal 50826 zcmb@u1yoh-_CC51328*78$r6HO92590Rd@gkZ$Re1}Tw}QUL)$N>WN15kWw@8|m)2 zb9=t?8{Na39J^s~`|pV&QKo zCOZ5ik|;OA}MmYp7vYIXDz!zP~a^N^+z0@%cHk zY<^ihCWHJ!ba7XgwQfy9D8J2_fq|*%ci1cZIb2va$7i)-onIjS_N}Su%&;;f6#iV? zW@GDmqOOe|5HdkP2Y*fu4MQ1_|ES}ZzD`I;7&}Qq7Y1LHv%`r+-X}{SSPuDdAGs6* zd`$Q!lJ+(7Mtf}pf7kIa{(JdJ;v+e^Z;|8z8#)_{KU1n)*0nR&`iq}f(!#YLLg+X+ z@K`kp1Jzhs$E%%YR#$aws^{lT0)vAk^VEz63$)Cq>b(OFPBS*c)R+f4esW0axe%(! z?>E~jMg|hxVOF8xtiiO5Uo;e0^1m+muB?i}l^07nNe8R^#P`$<_PfGLON)YBK_yRG zON&%eN-Flv8?|g*Q$IF#_8|G}rp|a)@^Si+>2x{TtA)A>t(SFWXv`YCTb-AY-vWtG zzqKfQ)DT<1x>@1tbS0xL{9G)jEOv?z}GWKOFBB5t+??@3?AQqGJt5u&3X7Ugp;j0;<8ag*G;bEF} zP*JkzuCiK>fv1TG&HaZbHyhF%iGNIKaf}RLYBGzp^z|$GSv!-QhOlO&#~Pqojs;)EENvA)!jT>Rh5}pIeuc(+HaU#5qH~Xx{6lW z`rBQ~(9{?Y5hI6i!X_di6VuM1rla$?dwg_curXdOY*@l0C(rQO64m7K9OHiPJAyoQ zix>h|^4O5M7gW*0WYM;D=LT~$McdVqm~U>dyz9l()J!&~&VS)+i5tHA!@$HEQ+2n2 zBXOt%wGfV{IHQNgdQ51KbP|uVLFCFLd)f;Qt;!M`^r^u@d&e(r`$r;MTP}Y7Wh=zh zrMi)`FIAGhKc?X=9DAgx_wnTig=5#6%lnq*e&76UwtghL((v;CM%Q>+P3FprJw3CE zaJ3U5`JNRc$6)?vGipFY-(Q+8Z(GG>Vb#=}At*1XpzR$q7}SSUP5x#Vn}UJ0rCN^h zCz}l6rDgHEWMDrnK_^j^`;9i-N8b^GHDid}sy8;P=3#@BV!fZ09%*W)H2vtw)3f1u z^U%=jNoApDq|CdjcQ|byWuA6Bcy~8+4HGEZ@(b@zDRf>%z_%M)n{V+S+J}99hKj;hk2)N~DTZubKz> z+U*x4Sr7($Z>UJPJ{hNR2w~I4P-Fy8RmwEyXA^y_<;E2MoSKjO6gEw=Z;g-mbGA=?8O zp4(?@{+O5S=y~5q5Pqh+E=D7@X>L9T_e3SEXl9L7x4Y*blWbcHD7+n^Hf%_34X<>u z8sjpZUPAcw_@tvBnjL8JtjcPRy*1Wb7PMKu;@4Fs3K`;h)Wt;(|FkRhFji*zdep|b zc5_qbRY^>fj|(%>niK~Y&ghBV7j6V6-MUt zTFH@jVN+rdE9oF^N})6zwiuiWFqKP@w<+OEW)QCTzR&OR4#@kU5cZl5t#tDS4bvAy zRNQF(Fkj#d*Xi}w5DW# z(fKC+jqzzPrq}kQotw?~IZTRQWEtJ3Xe`-e#`?=)kCtqW#=c@A{6dOQ8SBR}&ShQv z(&B89b!WCa+n@*k$Rl*(C>)hd)ZN++o$->Fl41~Hw# zXQs~5$=N(u)Kqd2cP<>gIqIe@;?kXOx-O>5l8rtz+ZXfpP0%&Y{otHv)zA7-mpG{L zbNk|N%W?A_YHeBm2|Rd~GP9CVS+X(5wKhT)R4ML@_003sf~k3YvuY!!UW!7s(A1!{ zrsk8vbguP}0(=?6uKDzi`nYJ$i%kuin1&%G{j_@)4nlhFcG77F?)0=oti&5K(!;lh zhqVlb135ars`}Zi(iPi0ySm6p9TBVKTEq<*$}ix{O|P-4>CPavT5(%Sy(9rlFkE0j zMEvA^8BG7IAAd9}3_|!t)kjNaZn#(r29a*!wpZoVmDf$jiznATJKgkqw}@Ery;zlE z;q$YzBHp9;P1f69IO8FSUa-C(>@O^miFh)jF*DG24Mi-aSx$YMJ1SECzO`DoqBlIc zrtlJR;N~%rozGo#@z1OmZYpnBN_^Y3ytsCm5I1Lf2byoe-DsV=@luzmLj)wqP&d`P zafPV>TunXQB+%0P*woswD)+dvDNE~oX4Vjch?i7&e=i8of+BU@OaDya6|ZX(3Y{%I ztBMGOp3a#dy2J>n<0Ibj`q)T_T;u-mX5mxie7?{y#U_0H;O6pVc0KP)2WQ-!0Dpg! z>xJWOoU8Qq=0mNg6;Jb&Y1hs0{KC^ojd{;GhCWVpHR9(ty;sj8{CfMUKkC>$Gb7A+ zl}KK~p{)^}nqr%YYi=ik-^!EIx}Chostm?|>zPjtkS{tCiE`&*D6U1fE^VHL6EEV) zY*lf@=p;AIQz!c1M&b~P7P4OPsQA{lfU*7D8EY{p>Oq8yZE+cY^F-H6mUXr+_STJ` zIrb~lH*tJQiPDotsP))W-#x+BeI?(N7~vE0IRGt71(oDG4s9IiY-?ozx3ezsu!z=& ztX!NWrQ3!-U)Kpbosrp!#|5cVigIx}Q^+W+1w%l}F6q@L?JOE-jwLs@=|wfws+@gY zxJ%c>VR#^`WH8^d5i^z~nMo*D|2m3~daV(1X77hI^0OLu4RXxe*RR!T3mSI4xfj?y z;XhvUKvUe8xc-?3rg6@`Wa1?Iude|)6-&Pc@9TM{II@m9bI=jeXZ#5c<2($isYLDk z@kY>-2PL0)v(c3mFVkH_<0_uHYPOiM9;S3dEamjfIs)T)K6={aNpVTyTnWl&IFJXa z5pvS2ckFip!%pXhxYT_Q$ih z>uYn44_etahI4Nyr1oMcDPRT0rQmkWx0&~LabDh6)G0e)7iOt5?Om0hy`fybyK(l%B=)O5B7;nl~063@quv|9LD2iG|rn- z@*?QHzvROGzTHaNGO~k&-n4)%@M6&3dg423#E@cB60_LM&?K&{o{PPW8HOhlE5Z-F zL^oxmvHN?eJbr?||5Yfs_AX!i$4754n(+vJ)oz4Hm>>N3v?+<;%J-o@!i%wtWxgz2 zvs!`cHo{K>@v&Kn_DFt_>7Soqp+{fyE6F2F9k)SxQ@XD=!Fb)ep%G)i=giwzFv=R= zai_(&&|{#v-{yKv+VuS=SyZ8VaWQ{T_GePvahsWWGgSKI8{akh9ZU`%yz;6b501k1 z8*ft^^T`ZNx;b9EW8ZWi0tpQ?iS%oChGYVS5*3e0Vht&+sclmP!J{0Rbt|vh4#^*DF(LA z*vgiE2FV|SqkRoCONBzy(RHfNuiUJuC2!?~64V)=ILy_(5%mAt`K6$gtaLL3=N=c~hA zF=$G&H$rYnR*? zk0Ikn2Iz_y%9>x@FuOUMQ{KMS6mv6)@4{;B=zu}x`i8kw#jj9p)Rwx_GS>>p`+9lZ zR&f^^n?(UBH?MPMzt4TQqAzpE^ZH?LeZGMBi3?AKY+a-l^{bZwj~+}bR=@SfH@gU= zt``n(s(riqgqg3(XCJS$Z@0Hj{}DLosBeh4;2(&RTV*LNBM_hbyPqj2uEX@%OF1E|!#W!vB zdt_`~XdO$j2wgYObwzDxdHGw?bgG5h-*{GHs#h!mne!iG9{H6^3N)U|w48lTb!Tq)m~ z8GrU5bMPHa<%cx9ZuN4GM_IjUx|4dM#;kp|YFFzTm0X(MKO-)~e!E)J6Zr$raIRE} zFM+S}uK$NJTa+Kaxogcgq78RINO$(wQXX>jS*eEhvk!s*vbAg+8& z5wII1p<(6J87e#Ld5MNSy|D0f(|eVYE{LEi_DxuB=1tn2kf-fi&7X|<5~9UjaMy+1 z?;9B)Q1ejUELg5+|NTSGY6%qi6_wemWGXj5Wup?}G6-7nTAD zg*1t)Ho~5RBz_C(AMw|_xvz&wlP7h`|FAlrl@sy}@5D9zQpS?X4DX2t2&0$8D<{%?k->2NTB@#%0nGxA4c!OX zc**yE^4WbCdJ}AGD`qzN1D5O0Y*!v_+KE2MyH2cl+rqPWgGu;|C0Lvkp`j!)T%$<~ z0s~MzzzA}14;|i^G9S82CY;^OHNy>AX6Z*45iISxpb0q&z zcX=um35dO4mLn5%A%E0SfH+xcY=(0N{_Q7a9t?Keclhr5jp?r|L@CK?JrsIn@^K*H z>76$niajCV=w&O@@6!Yg4QTvpD#e5kw?3uWfE>%^|1H&9!TE z(v&sfetJI*H?5zV)&z}9*GNZxOpv&Ue8u?6j3U0pp!F z3ezj9oOp?;>hYFGYfR&&X5&Ib$z&sLv2$4svK8o7UsuU1YYXE&M1L4B9|Ri5`v(!X za7QaAr-G9$+(SjR3Ax0Fw<%<=7Z&LYqRH2wPfl@Wyt85)?f%mj6@vd{`4CPHk*$%q# zWHHTlPk#G&GvrC3veE1#?-zqjtX=F6j_OI+G8%|(KftQpKX$tsy&4X*8i5!a$_Px% zAQC<_zc@6Smgh725Jwv;_iKhb<1732&d_1G3_aq>laMTb{aF<$)H3tc;6m?nf`fh` z=apUx|A0|*&-|Uzh^_XSN6W)?LTsN|UrLWgQp}qX|GDY`V56_^6OjRnK7G6jZlnxq zxjbsv{nmn&!8FmW9|FGbAn68+jyw>NDc;c=79is7HNLk>mU#5!4U2>Qp?hHWi2nwv z4y{SIL7DaD`_DNb<*CYY7++R66_(}>@J{PNUpj`}7iV_g~rqI!##!za`4>gg>=`SRT8mmj5UgRF7CMZHi>3}J61S8dY)IJx(Bx`j}J>V zZUm+s0w0h?=(Tg?X ztt|(TqL>e?BMVDEX5>}lAi>9X)WqV22z!Q>Y{PH4c*Ra-E$ig2+x;5tu`cvEiu%qf zc__j!?4mTLsKbK#E2rD}+PCN4&XL^xN}nob6Kl`>IOlM^{C2eQ)-nPaNAFYcKX#D@ zLeig!Zyz!kFVoxFT*NKcjvVG?9tPfa1*5X9HhXS*@kPdMJ%*dcI|v%1%j|G&uj6bI ziSk45=oufVcHAe&RBoP~j9uO?sOfI?BEo1VARyDzvEhMcVtBSk6WB%iQqjNu=+7$A z@W}vo()Y-jS+fX$+Nr``*`32OVbWKKc#SnR-_q=KJgxFbm%guetxa@_D7`+)ZKail z&BKCK+-v=Ls<1PfSV)RAnX3CB~G5xH@$)70KmJvzhAgPqEqfT-$JE{JnDi-Qk9Fih8$A0h?nB?BJ#^)d4Oj4)5r6@7k?~3y4!i z_Dqfj0pcq+=6;qkGMh*2i6kE#RcRVI2R{^WxXqoP4-4tcuHqlk^0Q=j3dgNe?@D&0 zHZGI>R`DF^>l?)B>0ZWn!Z!A*Hpj0hk_ZF6*D_;ntPRar%ERLM^`VcB+<%Y=qLGr= zesP$uY`qT$tk}n_k#TJzSVm=!Y#cA5-iPeb(%QF;$Fak8%qlfvZeED=x0B@jc(-7g z>zrMbuk57oXXE3n%1iC zC0>n+ftMFdO}>|^OV$08WY|;cg?xHE@yR4c-{vT1Hf*BV^(lJO<2pt9)X2n3SQ+bo zYlz^yui!_+GY`OT@TMY{#HU$Vewrq-6WB%miYe!8&TC-DLtyc^LE~9MH#a|@WX?Tm zw}dZ~uHgKRLQbK0^O#{r912&_j};7Q>Aehwhl+}XlaqX|-jk1>e3Djlp$(L|XKR6u zy*ip$^duoaHts0`a;B=2F+jcMZ}(pI%{q?Db>(Wxx3p1kP*os{0R)G9#La=hG~Y@R z<}lJbtn49a0k?HUtqrX$1IO3sa^F~Lj%ocq*86#{)wEuRd8DIG=jwYxu0-GP=9l4w{v@*o5UmV38;n6`{Z7t#t+W*#UmsgsQ>WxVo z6Q>nQ{xJCtD{}~_@$r$QZ~0vNuAwcMvM}g9l(Kc1(XaDg1o8QAcPOva=xki9PPx;O z&o;+|UZRo&gk5|4lD^>Uv{!dFZq3OUp##%Ju(XwVxQTole4@8hQUC(p9|5PB1dqyD zo(5zNAx)jIo}M;(W;&~AV{?VYmN1DTBdRvlh(r!|dczbSY|iUBF3SIK#&cu-X0x0brVfUCdEJR5Cgj+efFYm2pm^rVi#6t|)8W-Od9^=3 z<|X6oCPW1!SK~a?=zo9bY18j6lAmuy2Ho&FZ?cTnr$=^)xPv)BIGCBXM#HxYk#$_- zgr11kkgDy6vMlKaXwf~+FUX=88_f9j>GG8Fi#SP;1MU5%Z3&a)bW0&oR&Qz+2?z-X zvUsFR^Zl0zotM-(x@B~wPJZeZoC@OjT-Yv;jz!l6fIoFi3taD|mkA9w4IN~g%%@B_ z881NDvi&p8;3@$vzE9Y}avx-4(gG;@Z{hg+|3+LqtDPAcFKLS>D6nDYvbj)(9*BX( z=gXHH&{W)S}|Ivy3k47eEb+!9Hy-eyz1Eqg;F~2u8 zz5J(<+5UetGXLZ9|95@R|Kf5JcE{ZvY8N787nSNEPHcI{kDs2yk7>XJ9t{7Vny_?r zr2GrrJG;9M+p`beBqUrx04Qf;W1F6vLuF!OA|d%L(LY(|Nql^KytTI%_}(y%N>^c27p?w&z#RDP z;{4R%U`=a&aq)v}G}ZD@5%t>odP)HRp{*#kICn!kL*w{!S?0m;#eu*dMUN6tiWard_Br$7`W+OC<4N&S&R`O31dU|@=&yIJ?QBJ35 z`1x~dHM26SE>+^%~-_)Yisuj;^u$P0$2yEL`6ll zsVa#L$gzK(_#Vf!JrhDb3(aj|iLkIRgx~!Dbi;v9PhWhpn)v!6G(7y1!>L`vd2n%Y zv5bYQR9A`sevRv9p<~zW+qVzBZH?1Ye*acu(=0~#o^4|wSFZCsH2R(U1QQQW=E;*M znQL?Rj~7$y2*}7zic{`OXAR6hbAjIOaD%S|Ixg8&R8&-$6ENIg85pkf6!_}8iHCuK zfk~^ZtNZHp>+70YT8+cQnmJKTO_FzRU?KmvqXV<8t&K#)rJ%wqduPXSeqrH0V_aij zU+I0Zv=d?Ple>k_YJwleF(MyAv&!Bue(v2@B1swshO5lX%%RcIvOf~oQ4pr4rb%3e zS1N2L!lNZFswVfJo0`u2&QpyX7(d-PIB2V|8T&NhGW`vus;cU)md@MGF}sGySbEu& z^I8lC+xpWDk>SzND~RrNu?Sd?j*Sgxt}W8)_xatAEiKX}&!0=InGq0Li0yI5s;jGS z?d(Xpy9?bV!vz;FG5bl@vEV2uB=laV(pJ!Ii{_2|Z7gi;659#ks_JU+3KS*rV+JE* z<0pE0QS`D=220&(cUV~iWHRq7DBz^K&0bqKZG=se2nh*2cF|oODw6F<7b7Gi3kNHm zU7T(Tj}Z|OaXT+7%Q0NPdi5%J1uD#g$ONFEq8qeFQ3@|4a_UFrspd##_8NfU&BrR( zA>4$Wm;JW3>}{%JVh9Sf%dv=<6a%xfZ-aYge-UG1!cfgo42p{*N=;4WGVQ!!vuWey zB^r!Njt;;SA0K~hctD1{A9_WnTB`YWcjM^npI+D<5|tGi5{yZ-4zgAf$-z3@sC*S8uf zY~}3{4S;vkW0-fWhO8-xN&E8U z%RpTY;)b)Gh|q`#A_$=@Of0PHl9=z+^B+KbApf=|^FEihwk{yyvwU;3UO6RgX7(}W z$AZ!JY%3i-y;Q1@lMHf0cJ;?Hn6%Q8k}nZ7i#-{fuqj5D_0ij~*4E)+(U4VE5mX2T zL1E#^N?m2;7|lxCw1dOlr5`+WMY$(nFovXIqT1M9yu&^Q?*?HaO2tfg-kRRJEKy%ZZ;)^ps?wHWjQ4HN(2qR-K1_#4>4l9l~_MCFfdTqm+EkR zj46s*f&+nBt;^xEG0v=*A8V@evVMJJWW)#(p(ICQL{bt-Y)lMI zy7z$=x8uAV;mw;brgjF(%Re4U5XRQOE}9}>x(vPkn2IhSAOH=KmI3D%4w>z}8Vk%* zUH|jv51p{Ewr-XE{Z!!>@;KDux~U?riWK5rnn<@qCNiV}b@bjVn@gD}Dn<>LS;Qp? z*rj*;{5i0plc%YR|AZT8{ejP|~Q=bBoS$V}|Cnp(g zprH3j*}XOuijIy}&L0?U2kWt&9IUej5*U4deH)B{ovo7hr7ll$9u!__u+OGW zVFiH}DZkIzw(Jv4&D`BuG0y``S6A2dO=K)*%0>?|^Lp%=b6fN=&`Lk3BA4)~bPr^pP@){*R;lP@}OBqxbZWcPBkJ|4;;|$)~>72sR z&dV>K%j+(~Lib|5&Vxh4#hKooIl3$)$(3v40&m*c;d-&6<^}#(<$cNz%X6D_5Yz%@ z(X4gjzJiJx`}QqXnDk3HEu-#Kp`+;l{OPr|S4tA+H^7sG_gUlR$LqbxA)yN!6X4?F zf=)x7T>!HP1i66iRb}ofeU8M;XEiRu>-qCDGyV>9ZHDWk zMe557Fh2h2zdI z6M^x;@87@MJ2>>}t)z1sqa$H)X(`WmtveB53E_3?POYsvkNqadCFIV>FFImqkJi5Q z6q|g%4r%oj3HKF11BDf9fRwr1whYqR0hMJr5oqoUy6!~Tu$pY$G&zc6nUNF;^1txk=so}Uhd6Gm+I=Z?Sg!sB2qNNaV!QtlS29Q5MO3xTCZ)j{B@ah%Log3kd66tYFO0$r@ zLtnjW0ffbEKYb5}Quqd<81UVj`1tpLm+r8!wLlTJDtO-ZiWE{jB`_smt^N>TCfmP#A1}bgA<@zJ5Z}tm%J0sr0c0Xkw&$TOBslbqjg6zNX8b3>GvK+A zXd@?G-23EPPY-@`2!4C+lgu)!KOr^YbU9CT`oAIwNumKy(+`H#@un%reSz$L7Ra+|xf%d0sSlsJ~OZ<4A=*^oq-^Rws zAr=9#AP`^=*Rim} zB9@D@1qUZ4oYinyR<2D?HR6#=U58!0hb)&ie95|VX3mcS+koB?3 z%z^?O0E)ihyyEN}=vAty z`*kfXt>W@>ctEr$Dlse#4Gk!1(*PlcYu$M%C@2g}OafssB$h{jo)G}`csk8>(mytq z5F9qd&(9CNPVa<_*9-^XUtm?0AW~^)ZbpT^Srf$I)V=%2OA z`?TgKV5cIk8-dl;LU0Q9Kvcc98Zi)lz^s~kdkNtojzDH8qb>Elyg+7R$TELw;a1m}n1VuGTE3y;X= zYa557tEb0(m0mA4!#YcWA~zpS`9=f7gsJByun1Jgz6v1_Loo0t`~m_{!M!$h{_Pkc z3_?N=+&l$--WCp$^e-r2yA$6Tp7w|V7^MH_&+H~V$rZXjKH@+H49v|j!SHwD8SySR7ZWPSFY~)w2M2}yg881$ z8hlXkcgmmS56C@!98^0yPzt zmq1^enwvBAPHot*g056oSKGU|6qY{5^e-#BTlMv;`l+d&vN9rDMeBAIkWWyZR>sd| zAVS5&C^;cRJk9Of*^SM3d*@z!d%JF&Kg^t{J8_nX4PDSyGloA!H>=OCnE=D6mG2dGg*G~rD$P{FzkZ(1pFFO zxE&6Ws%p|(5~L#2OaJaZt>dT5n#ch>xFOvM@yvAz9 zxrTFk*VT2de^ctyME#3Zbxc|W;^W7U=Di=#w9CvYKudnC$mgo`T({e+o>s z%tcE?0iYSEW(O$R25QBs8b3WfYJZNBEC^nRX@G?NR{F?ey1Wg~;yz>Yn#z>OYT{zt zsptLko^%8P<_X{pp4sd~y{46c{F%*7->H+`ogD&VVvU>%h<+r%HU}D=)=2~wIZr&d zGJ8%=MrJfxW`PO7gtOu7gZEimBzY3=b370dxXijpfE!{V2&kx{On)TMva(_W+G~TN z^1j!+*l9^o;qBdP_wV0N5_RY4&XB-=N0-I%?CTAv1WykrK}m*~B0_%5Z$k$8A!YF$ z^2H>oC-~Mb{0NHU{SPj>#y0U>h1PE&|}*?MP(_jNAzI0oaEiU;|`Zot&Kf3{WysAqE!yuGc)~&6_~r0BPs( z2?<63SKQ_z1&Se^>(+VPL~2nWUaxrL{I#eH{#|JfHy`8pcF+JnI7t+_rVS1b!idcS zJv}NsDp5?hx#;1z6BiekUt}b1y6=Vi+C&X8z051WoE#j=1cdeVdXjey6s z9M90@Xa}o>BcUp=Ea`mp&s*Rfw0G|0_C`m7@t3D&VVSmsl$40aDg3lhaX%Eu&6|y#omj4$lLJwnwIHNA1lWJHO@+sg zfn%a0ETy^A}0U$rG2Y$kcp7efwWs+n;2goAy#%x!u1#UmkA8sJGG0 zXOD9h!X;K>nyaC=`_|fD_~alZE)F$W0Ua9~JFT7dxr2_5jurKfpFe|uc)`=H>iU9M zj)jF~nd&En^bmb}u?0r?NAhG6((1ysr&nGVW@*&?tSo<&wqc38O2G!qp|CW7~ zOheCx#!G^c2SY{qPxmabuaxKCIXCt_;XgUI{g-m*zdC3q|9TbhKhrJlSJ#7tK+}J! zg{5RqMN{eYyjbCmRsH|)UCb(QCz#-M((y&(vD1OkXz}&2LaY1J3(jy0s_{PwMgjewpn*L z{pU{@WRC*<1}YHruOezMPF6{{4DP8?Q9<_X^_7W>3iFx?A~vwGi3I$pHsW%6V55*G zeDm~hvmKkW)(->=9E399BT(wP-tu9CYTO7K4-TL>AcajpV?bL*L0AtLqd=4$0p&!J zW{}ZQa}?7oJDdMjj~??r0t<8VP#6-M87?s%uC&YOu7GSu5A+84l=AZO5KSK^4u*}R z8=+|jlop0?nUPH;Xn&O1O;NeKyCeM0PY;`6LEnpGrt3sRGw^5~9UUJv(fqh=fQ~TuV4H@WLJGJktCz&$P2_u0Z2EZDe zoUCQcpMvypgxu>m)xb*EFCi0nhH?Yv=9o_3zVYB|)pKX;XkpZGs2RP}8w#v?y z2VFko8%PLbY8akWf6GzL^JLU?#bMYHWsn z=!XwD5(Se0+fp z_AYW!hrdzj9G{q&SzJs4j8V{M7Qf759fOIf9ph^c#x1)3e%_cgZ({G$Jul@NWL}|D zE3h|y&V*`!>guY|()KJEF@1&zm`5cga%Z9^a@|~f2bvxJ2M^>|KRq~gv5ARKj(pWs zfKd@GgO3cA?d@ykLxnGlHQ+@g5FCDkRHs|-byG4FL&Y~UqyuUN^n+?j@^2&WAa;D> z0V(r0hKehEcJ`7E5*)uvIr7RZCMRCidEy(QF<;5Wq;K84dEeG>a(LkHi^u8nj@ZBy z#r}SjkjPs73LhCK^q{+l74v;{Zzn_E{D0m)ZvqAXfyjRA5gT84?#xZ|_Q9OkJKM zCk0}m8Y6kpd`B!Gm-J8hxg`V3L z1X2y)(5npv7!(*3)Y#gJrX;qnW=#3-lp5RtvPILtz)h#cuEtvT-7TQ+E7lU82W-&Z zThY~5QMrD04*DuY+C#eI8AEAlG2>S>x zsz1Sk-pPI;D}dM^iJV{Zckcar7NET&mVWgt6%y3!fQEi60ANB=QY|Y^Ch!TufwlK+ z{E+#Jkm(cDm`}S-j*b@@b)L~Z)jnqu7sG{Vl~%88hRJli(qvzmKfqgvAz)GAelQad z6aI%rT=>oc5i|9BB_U~{#XSdYMV=<5NDT>;RXtZ706IBIEm{TsJ&CESa&oIT)OuQ!D$5 zq|pxrRo+WH8+lM~x<1mDPREKt-t9^gNdyVK6uQE63$4k}#sx5b*LFM!`hPson08qk zeljmM0Y3~9A3}c`(5ReS2aJ8v`*5OkR1}^)wkG&-VVJXn1FeKa!>`hqm>9_)g`5q8 zkhpC}Wg*zuESvlL<3Q+1sbED0_k%wZBgp?6aR{z3rb6=t@_^|f>Qi+{vp39NcGC_;quIV%a!>5`S9)A;NE4!_=+E*(jMwt z3}Rw+1t~X?_s33F_@kCqPCS~lcKIJ66DREA1sFu z5fOR$vcTzn4)QVH;MbM>{WTG69|@R|SKU$#y@7o62xe*IHbYx)&^-VXwisc>B0v5Q z%Pah2_W!5L`SD|cb}~vxObt#TZ!AYzsuimH)tMRaH#9{!pq9r%b15!1wh`P1gt9}M zN@{ZQAKP>75o}6wa_>Og1E^I0YX_3XE_4&7TpExYa;3-6aduoA<_1RBR-pAISEGmu z$m&9hUHuFY447Mqe@G1zGP>1{LD1{HrLFhtV*Yy^%w^z#W19A5z+O5gx)^Dp)j@=K z{`~pc+FI38x+f++KE^a?yGaU+^+&VVAWBC-LjzQG20_83y*+1SyBV3jp%eh-5{2H& zU4*{ZHW~~&tc{jOoNm-aQ~MmD_`%o?(5t5=ILL1Sw}ckI5NKAnSfKx52$KsGLXKBC zIXR(^`xvB1*bEH|OE~=M3us>>)j|-Wy#T1F73wBePI^QD?M7M%Fw+Q3Bp_frSztf) zu?(as7Jf43d?CMUeh=Usw7uu3FOM)F6)|yh_v)snrYb-cW*$qQoF+XA&kZ#K!X1O;wuPt%9Xay(mhs~Ayu2%Rw`wP1B*h11BFo< z&W>BJ=Kq=%5abQqNd))-U`>}o}Qll zpr1q4mA!WlA>y)jN2PtTek%s{(RI1Gwx(cdxx#+9xw`rTs+!y7`C(X86hCJM^c3~< z^pN@Y_xjk#$jy^unD_wigMC5PDzhHhNoYq#=#IwXv_bLX&~b18@TVp4h54nWT|fu+ zGfil z3VKpDMA$7meK07rh(1Dx%z5SaHE>Pf4dM}F$eeIoQ~W)W4_|Z(0hHSKn;%M6P7W%v zS3u=HPYA<6I

^N9__vOA?pgjibfT?}gw|BHIb!pT}~a(91+od`S|!;MMIleTr_jgK{~lFh6|`3 zix_AF#Sfpupdte!qsn_pGztp&41Hi@4)*qU95wd$LDY3{bo`o4lN2BS06b78vv>9d zHki}V$;mDs7ak_Ip;W?1Db|)}#Eh}jFD;D{G`0%2y1wAjl%OthxR}NHeBtx2u1s*u zarV6pYorDKr{MfM?U}_{(SZae_oznFQkzUmYouZsS%&5dVX85-w;2^5|B$X{yy8}V zNJr9~F9CIi-Gd3NWW$-G-zgb}YTb$0;IbsF zFC7j{264z|+rineR%t1rek~RQ|6JztB{pE6R8Xl?*TivP{gZKj|kBp3rGqWE^k;ON5XK{9=DZ7OszwFr} zEe{_%Zf0-hzw0JxBvsbOk6PL5JovGI6o9ZLzW9PXJ|o)95DfTzxg21T-Kod_6r+>0Isgb$r-?LxUH0{P=-dsOO|LUVT13t_!I< zf=z$~M^HqB*fR6oGvrBC^YJH#b#-)no0yn5b9nLMHVus*%%>6S=xya`m$M+EMR!8o zlVQ>h;zR<3GzMTt0zfEjyX}R%M$oa*KYyfhth598%4}$TjyWumKa!qnS zh75r{u)DqeUOt}X!Jv|o((|FhXGoQ!vgYs6xl*PCceqZvV}OPQ(7OYw?DA+iD+mR= zQv?9ksb9%tR{I2?}&$Rat9jZF??2oH<&rQVMGjhyfC%`1IBUC-3C9xgA#%@fQ^O4vRBQY zONJ9HxeoMx8xnNF{}{^gaaKeGHYCQN|BJRa0mr&;w}!7q&6*{Jh*E}7RHgrw^ zTIwe6OP)0HEpA6WD8~9=U})&+Z58^@Bo7S>^Y9GN{f(Pf|DNy<{!H>GpFeK}^8CFr z#98o=52P?zgZ@zLA-jFEA8fMydud2dmkv283^)4!UU2xv&fi4ODNXQ^^i1-K#@q(hF_1m`HjfygU ze(c5jw4W!0Y9^N0-@53T|Esqo+SZiw=j?LMZ35k$Ir;_~DF<*H9x1oNKiWmcRwP3v>7zM10a)^hD}Z?LjKGLoLvk zERYG9RZ&4J{?7;}`D$Cl4Jo4~Bp*i5J*_ak)fAJ+TPZtJ=?B$=?Wv^~UDI z+ACOC91yXge#;^N~AFDlUp5N|$pTN&=gVi=)__Jp03DSCDY^swn_du#9w4@LCnF`zOu zyK*=Y(u6fb1ZWi+lM1xjRXZ%!-)0dqz$1b)=?>=J$5>r?RQUz>c@8KjDn11^0#2KU z5k#c{?tK(1(hl2!_2lRH`0-wxfWD0=V;d{INMT;1^eSR@2F9>_?HMnLq(sElA3MrE$f zz!PMZvfGLU@~P9rFa2Nbzvq{yZ=Pr!%>OAN2CnR>FlSFx#{WY3)XDE2QI}|We`7S5B{iNX0`<`dRTB9o0@iGbSdoL z&-W=jGO}x7t|m5j4A)gMPLjNy`D<*ZvDkRcb5j32fH_IJs`0Z?LZH3Q&e#TaxbkgjRq>M}u)LXPf3*%qyO*mg( zG%apB*mR()2D9(k-|EvOfR>~%7!1q84qoi3t@eLh48StEl$~7}PENC- zA3YMishLE+K>HjH&1T3n@ z;L-{S3Aq;#Kx@d^y5w!RiMAuZ@Pg6X@U^@9g7yYMK{wQ2GhP~13c^;c4DI`XRDDsA z5+>H%1q(v(wKNUDsrj0w)7HmlB$gCA`xF|L=$T=`!U}a4^eVKPFd$AerF_JVV1d2s z(?(JeneO^;T%a;PzB z>+0K|GpsaFsNszreRk+cQO+Z1$oYDkK3PMj!*5;lj?sv}jI5+|MHuWX=u#@mm<8Asv`7EhZtxk{?m)JFFXK9ScThX)lAp+*S0D>2}6jGEu3 zV^Q|*IVYEJl?L2y|C)W^mF>v80rua}(-$oBQw#kKZ*SZ8^f!NKYRF@HenMEGzQ6MK zUkE*Lb0$-zP%p7EH@?W4W&T>P^+sX*+RVryb9vW1*e2cBCjzc7?0WE%xDQ$5P21l{ zXG~b#86S6ueC3Q^0kAk6Z*a(#nWW&cSXtA-sCAunEB-#`z1B^LFf{F2tz z=&}gyGS`A*cd{!YzV^zMeK_&GZd4*ha>wnWAI6_lMQqL)8)_~%On1hA%5$-8pO4IT zHv5~|hnr2*d#f39&CaSs9m~P?Ry2j82aDu^o2`|=0o>f&SMh8Z=&Ass=T{XH7x#hW z#8tR(_KcE}l55o)&#K`&TY9;qxHH8nWqGqgm)p5EKPY5fGm+5O-B!tzH&#<&&^f+a zU)me44zv&zbHH&2Z35fZNmF(I{{_kY$N?Lwq8u})mT`W*jAt1KPDY--6 zUn@#H6@~35>IA0~)t&`?l>dU(9_bzg?m zhWvuOrgB3A(XNSvYt!`x#VVNZG5&9tzU3FF$l=>87IbsXmgE^zHP*MD-IdS7Uyfv+ zG7>bZ4-+d(k9TrOt;hPf|KPz;fUY)uIMS~fEIN7eWCY+uY?m5nPwWx#r!!}xG&az7 z8tH4=GlVMqnQEw_$52^WSyh4&3s6{2w+T(L8wbBg%I@4D(bqqI`HpSR=BHxp!a_oG z?g?iE@O)EU%`9F0_Ia~Sdw?|*xHee+!ChYmVEF_i<={d%S$@1bJ3gp9fckauiWSGs z*k8VUS;X6C_D- z5Zf#T7i?~2C}APVoSXuvY-7w_ym;|01%){V8Wxn`85pLL%)y zzRp=bGyj?>w~c`r+aTZfi${*f4i%n2dh^`5bK%EvN6Tn`wNVT(t>b|Uu+39fNRB&) zPUj`K#4=%y!S6M_W8zp38XQ|ogX$E`+(ZLlmJodbhPPwdvY_WH<~=BnQoCEH=|1hA znRMtOM@_=)5J}q~sA-=D01Z6>*4qQFZ$X{(BHW@PcDqYm75bnEu61VTtaK^~_48xH zZjLJX`gIXl>1Quk^%fSfA4POGqncPLw%R2Pe7o;6vejYMN2b#IIz>jz-QT}ItIG>g z@k#ybV`0L>;|0gxaoc0E`vTvC?+7++NC#$5KV)kT_)lG43_{<~RLRjJS6{Yv`SPP3 z?J&TTORTZ;YHrMh-jv?-X4uqQL1?5--2MI9L{gS*I5T+l%6YG!+oR4L$g-+VxNz*x zYALQC;5vCjN-jD7sI+(mjkCN4zdtJ2KcwV8T1-mt-VjeuZkRt>r550}JS;p&2m2|5XKDTeQv75w{O>D}#| zHqLJO^q&RV$$iJ}yPf5Kuj}32-OqGl#9S9m9k1Vuzqced;;QSUeCF&+sF9V&tS{b} z`AjvNg@eO%(OT7epi?|jGXGyH*unaMll9M!_h*-sxZMb{I)qIQo5QNR?8j3yX+O>K z{=25l)KhGS{I=EjQ04P!OMC7wo_i>}l1Ycd^o*{GWt;Juh=_AQ6+S;-(yf`m2eoWp zFw=@nHlGp?ZjKCipI&it8P_xjJ#*&8m1Kv~O zi)KgvmdgsUs{JYME&hwo|MPbKGofu!#o3D=S(fnovB();bck)eoDliJ^6d;s(U2G0 zl8M7xvU&61;-rq-bB2xGn=(yjo0-;~&#u^E{$q{kh8Mgt9KRL`>`(}lw7riGh7oBGc+NWMYG&dkRb`{=yFnJoJYH z{JrIoEbu#vUm)*5kAuF`PW!6Vjg$Su%{;ReTvm|m$B%bCTiTWSv)-OOj3kf1 z=xyH%X3hhj-V7aJz)xvW?Yl_;^+lL+`GXa8h7*( zfXQ~N@2gOq>*CW6a0x*$$W7&!kVrX7s4FiZrpS;>H@Mk!73cg~&DSSxhNqMU$&_OC zTLn(SU21q0BO)T=w`vw?HJDhq7qzo1GlyXB>00kwD>jQ@zijN}@3SnG$~B5fyB-vz zv%_5pH#d2H^1gV*@*dsX~n!9M0pySn%lk zQ8O{n9&3vZxpU>uSKwiYQ0@KN!^bBV+rzi2_ziH4G{QgCh8OetRffsdis_q=M{P0f zf)Dn{*#_@@DA7?iW@TruI5CN*9S=1R)!#cb1o^@ui%(PiPcY$79b30M5Sj?u6NwDM zgC2z-w`~wuVSvS;d~uR(>olm+KL-qLpDrjo^L%oPKdcMt2 zxtg!IDLV$i=2w%%H;d@af%SF^iK%eBwSZOG0NNg32e#StLx!{S@fhu5a6*OHe~QAJ z#sB7&Y%oSfJ0oL2qU)imT-n>~cXtJ+lvDtG4R^8MQ0FZgP)b26oj)vt(ix>zEK1|S zI8ZQ{`)8|P@$KKgpI;;HFQBUdcr<=%P-skM_M)@HE%jSY44(ZY_JV&23k zHu*fA+sArJ1h*tkrE(QwJ^2!_wL7dU9rFM#yQ@G`0}!f7tS$qAhKl&e^K{?|R-`J7 zwgVXTiuPC&5wOcz25N7}Nv0kySIC z92qMGwG@bQKwZk9@)3j-{XrDHFk`HyG7QtFxGOg+%jZ{O=OpFN=yNwH^3?>(dsGmUH4-S8?PxAwP^$GN|UynOp zAbP76Ku>|DZh@=(m5mPVLEY-xWGC;B$7pI-p4!rfj;}%d>&LxKjzPhLS5wvh1y{}sM5TCqYE*RxTh7#(|C96@I?vx3GW`l z`Cfp{`7fFqPmOZOpUXY5m~(ysaMunL`rFQb-grp|&%ywdK9-cbu=&KH7fkwB2RG=s zv0%{oZB=!C-R>l#W2K{S1bFMf@>VK2xL|nLIe)VtEpc|o7ka$j1f&vgSh{raVg>{| zQP3fJ=w1hP_Hb`YLgkivrQZxin+JZv=3V*x7=7b?A0NX-!m}!O*xA~yND_RxeIc7z z*4eF(45ec#A%CKSZV$o*4x}xtbQ=P|nfWF(cBQe=wRtP}J1g_^ZxSjnt`dQZ^a^AS zNaaGYlOT0~F6WsIPAplqDi69+en9~jC=0rWotHYP>E?D0)sl(*KK>+?JO=teN(f;$ zPcN@5%sd4w3ed9O=jYFrk&!`XmJ-TDaFlX^rVsHRuykZXQ6isNgX7P&_|2zhvTunC zWT4Rh_(Qz0Ek$gf7lQ%L%!?t*;+_-u3 z9iAoxdvIX~YAbP7s*?o{ydp2HRw%ELvM$R-E5DuF+v;Pt1gHxTTLmV5$Oq9yObb`b z;@cS%S2OjiG6Sh5>j1hx6{D zL!O-|P975#5Ua%FolL%X8afo{(f~YbPpFMSaE~;ezqje3fJ2LiJV?wlpoHF*mwkiG zpPhIToFK{Hjhzbxh0=c9AFY1>$!!P>PFt4{uJ?kIS81`9^UkWuN*^o?4>95&{XBV@ z*k%Aoc#cijbCGkQTR+U!&5YU4WjN{a3^*wmQD7SlFOG!>qMn1t4I=(Fj$KU7i5}2Vo_6u<6*QR}R=Kh}Xj4 zzUSd_84S(Qc7xVgAia{n^1?9}YIo!S#A`g)YX&3eCZM5(#XJkXzr3CJDcZB@FCK@h z(gzVPscC8RPd1#*SBG?uvHcVTzj&QDn=KkC`uh9%E_#;1qem^cWJN|xCHxzWJw4ib zw0}YPC94WHBZ1^5LMO)U?q80C_$lejEE_Glm)O#t$u`ke*H>31^`8CBIhUCrMuo)g zFtCWOWSfj`{rc4+lVKBVfprm=VY)MC`s}Mu6js5?l?y5->yqNwYWb`0T-@DNZnlQ9 zc6FzV3_zsR1@i`CHty8BD@(iTI!+YgIbVHemgz`RlJnZ*NwHzQ9}+|7-KhB5)nz1o z*KTvGYAW^_<$#^ppz@x97JL$iqOPM@3?H!e5RnP^?H99-zEW1@oSza;ZmX7+OMd$2s(Vx7>cAVtt!-^M%wf@R_lfR<0n?M!Chc%(ZpM_5+lisb(^&}$Nx_~o0_?YKXwsS|bZPXC=mtTH@eW&Qjgk9T zLTdXb$1=4IQpdOjsw>`wKR1lM6xhL{=%g)e`Xi_?F~PMe^{d)sn!(KS=bII7eYtYb zO*WsUOd;cb_TIIt>tEIo=kax4ztfg|bMYGza|B zxTT3QyHAXSl)0lzlvcTC*pn%>PHNmd3k{)a!5c4ln5qyDa&XK`BC|DQvz~s-DZ{CD zHM3H;jy;#6neQDN-z;KOJSR0(fcYMX1u-$>EK^B0{#=DcDU_B8a7&(6YQs} zWY5my8`NoeC(ow-*#xatSe5aaD_Fn>AR&n$mnAO#cE&yp*?IA!*N!=_kx(fJ-OTuY zTT=N@_w(^3j+2SgTZZt7FW`0{J)`l-7i%rn*%D$EV3PwQJu8|$6^4ppfKuXe%2Z_Z zA-JH0eF>xt$O1QS-)_FjEd3Z$Kk8(PH!!9M(2As_q|IQlI0TnQWVGl3-2k`?U#Q-? zXw7z)*RRE~r91&>p&x=GIbRuFjA8-n?HTkDe~v!M=8~7E0AI&@7#(f>?A0dShI_^X zLM^$bJshgvxpbN8&1#2NO4HZBh3r3f;lfZTbM!udGEQw-#lSAvg#DrgPDtn(*w)Ty zn*ur)1xm4b=F5WjGqv0-XL6TMz%xI_L0(&1`Y@aOmS4Wkx@IpoSY$3~EM<%yVk(@j zHw_CU`ib`id$3E{Z9zf^Bvgc`FatXofc9YAS+nClvP))cfvM|}*o6XI43wPHxCK(} zz+3ediI#3T^_IaH?x`z;6Op`d9IjNFGcy~)(E^74w`FkCvFEbx>{4ix{H%z)?yfVdu`^1q$kbeaHRm)S3Fz8}aM%#Ih4&b-H+bN4 z&?(b|)^P?^swjh0vF8GT$|Jvn8hL{E-6f+o51=P-%W!Xl${*(>EG6(Hu5osDrml5* zC6Gx-MUs^CcX44L66HN~Bfxw94a)wU8#cH?v~2F}E!8wllfz%7V$IzeIC86L{di)c z#$@^hH%RM~sX==)R`* zb}}VG$;Z81#t?plS|;w|H&rg~n8`S6Krx^u4FDf(?|LX$=>0*D6~zHsKm#}3-3{T% zr*tG@E8%eT+rW=;{3ZF)X0sui1T<0hWK22XA?KrFwMCB;B^^NUJPl&;brO?Y6gPNp z_^<2h-FTTli!kL+pEXTHUuH&3)kQ3}&>XxY`+|2y%;gyC zP0QCel`_8dG!@;isxgVEgWn3gAK4XVU%iZc5vny9m`7jY4S%;FWoDA|Xz|je)8FD1 z?!nwT2b7FEgQ@b{u-Ks%u~){LJ`oKIH~lzz&;tK ztn=Q2(VshS9_2=$+Bk$Ux~Fo!H9DUVlmHHwE&(Mid0hceQ9ZoJ)sPkq@+S-aHKKGJS5xCB&u;q{Mif2Y0buk;Dn@yAUDcen-3wa0D%0B`MwmtvgLo!c0hIG9 z;WINaMc1LyL3E5qV4z!Mq|uX%_*t0Gc!aMLq`36I{r&NQ80$Ez{y?R9>1y+S1DeMxcg=0qorh{M5n!&@nq?qXNP zLipm)IMNS)GD=50(tgb2=5OEjL-9BH;thK#G)(w({c4c?#tKRa8E)}NvqOD+{ChH@ zUVtZO{qZcE&^^*BRFs`CqO*E-di_oFvOvL$^J?@8-j~-6=!jsW$V6Wpw4Lejn;D>X zK-8NX>K*t%$RG#t1UWH}fR3^8Z#VxslbmostQIJj8aqQdxDs1BdyeX96eeEs9nLIN znlQOHx;*ilqCxB>fuVsyp+Q72#yU-uYZN0F3Z`Wx)K^sW;CpMW8yrJTVnC_L%E_4{ z3O^3r_v z{T9Durwc}3%lMvi%VfQ_!Yod1smMc)Mz#a_8)y}Uh}@BF?%MTY zqn8FBqq%%cM~=RDdo#FwJBU*t1z8Ts1HC?)nzgyuq|Sj7!fJBO`)6nQZBSD8Fd=Ep zr^>9YB!F50qNCL~?0UMpi_ta7iUAA!#WN|g{)_+H9JNka)GVX;Bx4)U~U+`BT^w zY9H0;=>?tm3j^DH$twe2YM?XJn zF7%wi{dkR@PSk50%{~NGGJWzQpbA&SM?osZuM_q>Q)mdsuk- z`Q?5}lKAqP8!1}f&vgAIeZoDQDUlZi)S#hp8;7ZNX1)gVv3n_*!$YoBug=Ku?GHOs zD0N3razJ)jwPbx>4)?MpFAx8VKF?EeTWV$L?SQb@v$^X2S{EOCNz}N;2sZtk%03+F zwC&EDm3-D0EgoCOw5|6)&=e{dWZsq~=f)vbx?#SK>OC)sdS~Y^g?Fr-L*#09jvO80 zPgHi2RHK*&Ha$9vBmnGBZVCPchj=IJ~J18F?J|H`1{n3>nksG)*lZ- z<{Kv5g4vlD61dMS#4-^z+QVWHvv&7H*fzx|>kBS3Z%C~!eeijKzyCH(A?w7}shcek zmzh8IK9Gl1K&DJA?yKL%YYH9~r_d;{?5nEcgoC8Ly~KSX?W9mA$o3Q_LBu?$9k`)< zfjo3YRyc2JIZhrv7~MpSRC<(sJfrVD@VFW<5v21@O5*AK@+9e9$NOXQqPB7O#Wh;E zWA`q5er)rJg!2@?Nd}dCth+_680kfR;=N+8_l0~vdE>yl=;gT!?XOM!C*9d0=}X3*n&$F#>Z1RdiPKwy0}a`n5-B5H zm9i#sSm!uWlOL{gcP>#oQZa*vNnz@3!ODaH09i~&xCZB=fZ74-SPw%`R$gae)ZZP0 zZ;ZtiT1?Tt?G9ZTSN#r4uq~1YS*0CplBU>#bc!5jRD|jJsc(|vZZ5IyZUTKwtxQB& z0?06^J&N3&fPJ~3wk*o- z1rh1U3y&7`dl4uWu;&p@!yfphstT24392KIud`19033aO^d^jpJ|m8!@Hd)SS`sUT zZUNxUJIc+5 zd(bz$A)C4P1;;KBPENqh~=e`}5+$rhsA@XBm5W z-&uKI$*GFy4iDrQ=IechMH;lkb#zR*p)Mk}8czS)D1li7wNAkiA_)$99IQ3fNH9Gv zgRu~sG-dda*#fM-;fKe&$wAuG^bS?Xv@O0$WKcwA=hXEEA3#yG2InKOZZ}>dtql~e zK%@cge$%d7$LK3D#v!`-qL&f4Uwr(h6sT0R2^@~mmIB+74g5^c07IM?6(~CR%HZh1 zL*9o96mCAIXeSn8%~4Eul!Y_@Tf?s68pGW+cu8k4WAT_?I!)M34#hb4zn?GE2dl!g z+CF1B)d}JvQ3A^*SIVw3YPvXa( zA4Mux0Lq3lTUVpjC*unZE!6Z|U?BXP&RH)l&8}7%Y5gHNB}I43s(;&bXMDT(fke^U zN{JQo?)MqGT>NQfkpKOHeudh*h&Uq^-($}XO>+TGrL|-Rv!u(rQ;jf^KEVj4%m_?9 za@xWzDGlhj7a7$ZUt+n@86i3LJ^pREP8+1QY`p2qk(C5y||aUn1tlDvV6;x2e5#5xpWQlQc*Td2Y}HahwdiVq6z zXXswVn9N3%Nu7!J@0)DznGTGNe)nrc8~{L}7r{f2NZWAoUnzU!1npl3r(n~3$=4uTxic?FHOq}_foB9TND^I z430I$>sOTGub{HZfsmA11m7-PV&uXljRz+0d`dZ8wII8Mp`B4%U(b%7EyzSRuzeRZ zRpZ}%LM>{U_Q^p9JdaIhL^!cJu)EVhNWNs+du|~Y&$osQ84QY+n;Qb(B47}s$Wp`H zS*Lqys@SZOT>{hL_}R4S!^1orXW%-S@8~*DS+~8VMLl()mDM%VU7L!3e&46Nj8DLC zT)^Uzb=-N!H+GB3`8^jY84X(z+?4glT&xk|gyNhiI;{NEh)hoH-d^|DuV0UTegmA3 zH*Z!t*Og&N3inLKS~v7>3%Wa% ztAotgJqpI=OuM%YM=km58LQK~v46Y(VJGgEpTD#Eg@#GwKHb{vI;X1@=OYep>#08K zRl)!C{1LAc5gx0Bx!0MCs0@s8XZYV*utWCjn3FWSt)xSVp;l%4_R1mKpf1spAFs>& z-;4Qv6>clG8U4P+uNadSgD?k^O9N{Nws)oYB5+Z#Vr)klhu(!-i2t&j_;u-gMN~fQ zd;-={U=6(Sz+t&L2*NHGaxW=U$oM3d04-tIKCtG_#3^vgmhDAR%ZNHJgypOqSu4l^ zV8Im0t+yWSifh~6w>|fc>k!a4o=>c;WkK-;Uq@{Ocix1T0-FX=I~dycWSpI7*^VrT z#MVbWA8<7w&M6MvzF9(WRcksAgY1}%>dP`^R@rmo(z4e3&#CYy2L zwJFx_AaV-r>g(&N*8+0urx+a>UZsb-aN}@rX2Ic))P0zO*&`Vg#uB|0$!5lKFO$a zLRfmhEcau=HFr;pj0rlQT&NwLSI?nxB-!EPMeYj`#PN?cpIe=()qk@P3qA)mY}CFn zPeta9hLbi*VMQ>2M4}1`E`mac*>8Bvmh2`VK|)b!10pE;2o~d{jrcSt1MZvd_F8s* zU)q|Rb<5N9WPFOR&3}^5&h9JoeS7$LT)TDH-Cu6^n$<+d!w{Cb_u6?L)}>#rS1;7D z`8v>3pLQVKVU*q0Q65vqx~CTF6Hjp*20<-O8BtTKyx0XIL1U5kJ&O~W#$w^N2iKQ> zWvvmG%l+8eAk^G4-hSij3nOdR24_C`pZ*)91)Gnkn}p8)6ybbi++IB2ES+zYTej%y zX0K8Y!5M+$`8X`@FciX&l)YO)5Q86|x03&1+okv_V_T{C8IH+24dc_`p_~Qg3?S%q zopN5oo-F|B&a5z{(3U^U)4VOaRXT?~N!{C3E2;3ls@Yb<;|- zVJn+ZzklDN=jl*Lh@R3<-6XqyF=Z9A=HfwKopguK7_7M}y*FDk0KXW&4@VU2| z?MkKk0u?{yKGo)Vs|I)8FD_&fec-7)B_LASPs2KL+ww!HO-M-Xc$Gg{5p?u8??#Nk<&2&lZBaCobZz6ShaVI<3aVt#?fF?$_TUD_>#%;v@&FEw0Ye zxgnUs`=kSMm||D^?1U4j?ueJtYj#Z?b^(sB<)w)gZ6&?@E=A4BFCI0&{skg&`mY6t!bs@Z}*EJj+HlPs-Pa$Oh**bsq#aY+J`x=k?ZUmG zD=tj-rhJAP18W6(XGF@rfst}Y8a3=}2$2${#Od?-Sd zhm3Wwq)dCb-JDDXE#Tf-iv4`x*ES#NJB_5IwPPt#@tDjDE8yS_dUon#*pFK9AQu~DQ25+B}T$03gnp>Jd;Vn544+Y-qb zl-2}R9=9B7TS}uau(PhJrgE)rjkSE)_yry7?;c%nBv1bU$j9$<0Cg(FAUqsbY#o#o zi~xZBr%rL+Te{DE%??WVM0g^di38T~26ZEuwd5_49`D-=fRqE?au*ys-^wF>T9*%k zUZ?#KcOC{0-@{@9Jgr@Tnsimb28KX~IILk^p&d|nb8Blhs-=B+T$HDd8uXku9WO+3 z&PcEGR3W~eXjMD_z{O^WO1Ol6bTQ({7LW>?ieDi(7^?)1lvwD3mPXVi*U*&=K+u{{ zsjb`jIRa7!qYoZX2!-sR(X$X=Q3QSS9rih4UnTt8-?S%EL|&pc#HD3oZ)P8LrtqaH zew9n>MIP6@zZg^X<%`*tGj`rxp@CtS%+04YqWE{fMV|AfG$ICy92!x}g|ydTN1hE> zR|8|0B&onDL{>T6g9plaQQLvvZBj5iT}PM+xP9`>u;@4} zaREGuLqUZRAO|!;V-=liDCp;M*8RvNM;cDOVSo}kg;B4SYU2UxeZ1|U0b25vaf#FD zALW)#J#1bjLM(O5v5>u z@#3qZ+iq@Q(BMFLtloO|cgsFT6_zdc+6^H8QN9rIj_aYu4`|ni)9fxCP+&tl80JsA z{YsR!q?+Tl*^?&j6dZW4L4}=DzhxLy1_R)KTQQD=8s1fKZWxtYEN~!fjyKTzM=J$N znB$eZF<&Or0}G9~z$o?q_|bxO$pC{1lUMVKSH4~xzt7HJKOx=f+gvROR?a*gp*jn- zUg5LWV5I4L0SuAk0^$~zeDT|-R*x>6u4RshTvVr*y-rm}pOiQrt(6ZiAN8|hm;jkw zfnH`9Dd--Felx6dW*CcG-4zwnOqRVZESyjAD0L~hP;rRYzzV@@TA!+tU_!5A(4FZ^Jb zUFb4`6YYuqtDe)d=Hc7}t9-=JTy#F9pNc^C}ADl zx|FieX(S_=U@t~vgjSNszThP|tIgPl+OwRUcStYQz`iQzpER78JFd0e@~+5=Tl(n% zBKj2Ziz!6bHg7-TND5I;^BsG>oIyV&&8(-EHTdHVl)zw_c6;lG&*tLb-~cH{Nvixc z6k<^!)@*z-$wD88BOHVwaO07%1?a*=(yd{#!*j?VNRZ3M1je6oYaN2QLc@f8HR6cS zw#YLz`7=X!^<7#=P}XU9zd#Ew$RV7S;*L=s?pNaWd4e4#Tm0-Po&+E-Lf3D6JUjF4 zyLXpi86b7|&OUDZIil(|YzQ}gKzBT~K#WE3FJ5~auaek>fNZ8#OXWxWms5t&8mPN8t(2J*Eg=Zj(nLq*H|G z35ZXsH)DgqEJn|6y}dqf2pnZ5tv=NMV|8Ezuj_KcK>&==D$K!10T&=wId0t{Ckw;Leep zSN_55cn_Ozs|7O}IhMKZwG6gP;zCn1I()%h4@O0DmBx;|krj*Do|SrcM#Ry`i{6Ec zY>dR%)HuSXoa^&Kt8b1^=>N2t_2F687PlT5`LwXWq(ku;ENhod{pzW|T@YZzWqPeH zyP_gT#BoZS-_R+|-@w;(hTh4bc}g0eHjnAoCd&agRHfQlKC1MAc?NEzpvS}Cwjn~W zqoc!Ez#dC88Mwik*|a`T>p=H7j5T>5f8{mgrrj9J%H=(yJJu0)Zp)XYwi2DO1^qvN zhGV1fmVrZuGPU0V>>&HWIjZ}_W~8=ZdPrL&VfrD|RW!gE4IQh+O^QIPm!(cRPyKYB z$;32+TIul{K~e9IBN~~GB1$?DCh6itlG*4bbv5Jfhb*Ge9yJ$rI0U8hsA0D1vBz8x|i1!6WBnn`Jz6l@wPkWn+Z z@crEDG^UyfxLFTC+w_G=;E2HBX^pkZIKtDUM*^j~h9^~yaAsKcxaRTb^fb0K$=q;1 zsCPEkwkY7G@Ie=ch=`$S1G~xD3~-7?E5wflNqz9GKw-_q5{n0@*;a=o5TFe%*aNV= z;|5}j5F0=ztAM`<9rd=ssX2sHu@K1zNjswFNBz2fbyd~rEvtYvsP`ir<`4HM6#}6k z2*Ei~k|^%1UZfWk6*;O=TT$yhdd>;P<6_`*n9j#72}Z9u*j@T7dE=sfs!rB}aRDLP zQt0CjN=8FjNa`$zU+*P~E6EgM;s(v?J1I(s2q-VO&XOP$5d56Z_Ut zC69v-{fnqVNNC=Bov`}+*O;58B5&Jap)B1tm{UpSsougq)&u%OeoMt=Pw zQpyRfzVa1v>$%CUf`9PKgTT*F1DNzCt7=lLh0sDm=UtIy3wgVGZ|Xi<=|rgulM4e< z#bqxm3A8yPZSot;925*4m`Z*>zp05{=O0~_?v!<8t2A>v4lfF2wlO;@9I5+CQX+|+ zt6}1;&+M3^GdZQjJYqIn*uRW3JjQ06F_(`C^fn8$EpL;0_|uavb*;p9dImNWGKW!q ztC$}v+A>k6>EYTCAov%|4og{C_hV;4tr8CMj+`n>c@)(XU&A}5ZTF1_t`0&{v#+i@ z32k9m4|*m=O)2?_6@S_i|C~8wYXuHS?1N+S1IZeKC(n=OBmmT*+Zlc^@$3e)b{V6ii^5<8>ScljJ;AT6PItMV!36 zyoF+(410qe}0z*}KC@Cc+ zyoM&h5d_oW!p@=1zz9UEMTTkZn|JVW*&@-A@*CmrUrJ|&8H*i3E#fpeYRI5uLL^%8 zU$6q$r?f@V8L*6j5X_^9EL3XLGUcMb{s#v4X#lCxa*ZXUU2kyi5*75A&p07+0o+L7 z*5k&%AAGpwGHR-2%a_Z7(iD|s-(A3&h3}&lJB*@M+*Gcym?-?Hz`z2*(O>@$?n`%|H?q8HnOgBMe(H(uUFOvSit^OmHs9h~!DuqKh z6!(1j^K6jh!mE$;90HACdYvf;;`ayC84PWwQGL8<;S<3%Vux;d6#CrBchwp#DKnGRT+FU|-f$D*gD-lRZ?AqIQsp z%kVI4_m%YF+@`R|zTIee!e(djoR-B?F(aq;q->~m0!L3dQWUNODY~UJs6nI`I2bXF zoIH(5$;oHNrcBR3A_eB3@c|A85NS9huJ}h!EarkAjFIt3)}vhyugvCWopqUj;g(ep zKxd;J>@k#S8n{2YYsAZbNfzbgT&E9VcSYKZ3S77-AlGl*>IIu=;V%XvdfW%S^JNZU z9Tw1Wpj(6$3&#o8S+JfAe{jq%{|3%nYyENDs>-0b?I{qn1@Hq_t1of-w_AsB{9N-l z-~P4nShx=QB_wmTsD1-=`{#xStnX}6IJDZYbeT~IDiJav@O#>Bh_&voeJlFH%JakXgBwLLt?odQ( zXD8M18#UtAW3J-z@hay(+Inse>O^W`B?|_qyM#N&k~T+*ApawRF}tB52roq=nr%Ol z_I6>{{*vyP5_%a;!KTakRA*j&cki5|$S1%-Flt#Ky#%bEV$$7)c2nRjZ~zM;eJg14 zq91I}B&P;ey_nCLlj_c)UStptf(tY)O7?Hk65!g;MPD9=*_07yEP78w)wZX02WMyi zL=bLG@eg`D!A4@0i0*~S9=8^XZ3tt;2P-|vn3{|3Fh^qcgBfcEyNElBh1Q6QvtS%%?!g!BTfs;K@kQTYyg{ZbF=3_GZUDmX7DZGQiHG^sDieIkK`7JFbr*i24HKj zkR>0vG%y}NJTkaFcQZH>RKx0VdUH|UzSk3>gBADe-5YT%awS-nR=hwk$w*h)IFCiJ z2t!PC;`=l@l^Lr$PA8=Y@*>$_OM(>BtXVj;7l#SYk(nF`=J`u{zn{&AV7Hs@&vgtY z?qU-cS*j85R3PsASk8Wwym4I8yi*lScdD9oy3a=RG#DSoinlehSoRS-eXJ> z7^%OuwOt2A0mX^jl`yzd+bNh^sAc5ofP}bg@#42w2B4HF4Hox6ZX_!z3VlxmDZ+;N z$qV|D3Y-QbKteRp?^!%DMckTuRB0xvYw!$-YqqY_&$@(xPKS8HzzjyVqanjNZ1>SX z=h1mBPYMo%R=pf&yq{bF$f_lagqv>xA5ArH16 zkOtld7TrQKP5h5$YF0!;->!li2Qaf>^7M`)y9j)xE?z=G5tYi*X+~g2`Gf;{us&h6 zBB~FWApIp0y<5PZ5Pbm^j6Zn$K&3}{f9Gx$yVOotFYx-}wUiNkL{A2O$FBeouxq)) zt_0Tu^?edoi!Wkz8osqspny!j0H(?8*3ak13)YqN;-tnbH@IRk!)XJ=S@hHG=gR~3N`7ajk;=a-lz zpg%>7VzwlKwm>$o#k|h_kOHNw*z#{w8S}#UjsEa6x}It6)1^0}Qvv1Rf|^OZHa;*| ziOTtfgB!%%)xfMk>DC+Bf#ZSSzk9c?j%TT_U&#f_9&XLwBrt#U3}0Nvj0gkh*7EU?C|>{8m#?sqi;HYd%Ounfjpla-!UwId`z` z94g$dAgGym2V6nnMGr1HGNgcMEc&)dW*Km1Ff^X=E}bbw@lsK{EI8f#n? zx8Ns+?njuY5!z6Ig@wZYu%{z!6)}lkFD|HHqL5vFyCWnsWULia?~AAeJ@zRD(3q^N zEw~FAzR#fnDydk9cOt+R4GS|Vj2%op9gI7Gp6wQelR@%mf#3yhKvO|ePtT&aq*`F> zfpMpxLX22_w8@J23m%VJh4Qr(g-X$A0dl|cWO9xq@eZ5=%nXBg;4kg?2I+ed{BC{Y zkXAxNJoUv7(|W`x=(zNa6Xce=q7edO+$K^M|;7MGzt5$WL@L2p0kfKy1U$@ zDiYDklZ98ZQ7w861XNut=0xP<^OSvuZ2%6Lf3Gkxh<2xoCk`21?3ut^Kp*4_C3_+E zKFV|FT)+M=yrCKD$`L5z$vsORL@e{g0A%No$uMK~f<_2U3@j7W(hmlP8U%hH4?yea zr;z>d(O6&+#2|jqS<1 z6&1f?Xuv%)om%qKe|2uAW;-A#ESH>+2ADXdr30}$l6Mfg9`PLNXb6W$jN%WzuyYWR z^KUHSrtUWsMy+^1_EA$hG%t;8pL2Umt6LdnUkn6&bxB!#!X$zSz+eNi2jbySj}};v zjVE4hBz+GRGuUnlOhqx0i?K;{6)!J!G-0&RIstS#4M#xVhw}zn*gn7}GJ7$8r}yo{ z*{%f#gwnErpy+@mjP{(|TvrsOA0O|Y0hXGE1-W(3m(O!?p6Jq{gl$w1iiqKzE^$#@b^E4URHSs=z^EKs3utjWRRv>gfCgnv5{t#$n2#239GD7~r*V8(AS z6EXm(W~p8|8=)EsQmn9IDiZSe_>ffjV%v=agBwmXl$MrS2qhhTYT z6b!e4xj=I=IQjVILcOB$3>zgi<-wtdZT|rZodsxD&_3}CVcm6BDIMD80gRJ_Y~Q*rG<-cl zy-fZb7f3Q6Q6v{SKwra&2Bd9(KsgO(G1=l#_>wzd62ukxx?$IPiw8sjIT#s4nZYpK z59t`lWDm+Y4UmUKx4~M@K%Buf)NX{;4%kA=jk_~XItpiPLIA?j)z{Z&(<0pfR~VLN zEiEkMcoZdn%?{gu!^4pKy#U&3e&1o)#Kc76?;tVbjviva z0**cf;Y=k#8}~Z!eS*h1Hf-1B={P)EGrB9qZs@swJ@5=k@-RlNL)8xxJ1Js-WFT@H z;R~nilX)vP9STuc0)P25oTa=HnRFo6W&>6;NF;>05BvxGZRG>i&?%{D5m*g|ua{7a z>v0_Ag0AyMMhB?Kz`OxOe&yw{^XUlwZ5w5cl7$6oA%5NhGHKdlEUU1pAz*>L<^t|> zcA|R>%-3sUoOSF$f*}^%ri)hC;O1eyqGiUUA^qUlv(I?m%vdAs@DQchVm7t|H<$8Y z>D5Z?<%D?Sk&(ED<0k)+C#zUWwCr1Soq!_t`OeE`kGum{03GqDZQHs6p)I+cbevOQe?z#vi5eKSVNHSTh zsx0stwu!P|!=N}}!KMXs`iD6E1BD9BnQ#QU!^T0$rXnIs6>LA)b=H0U4+5p`qg-~7 zGk4I%?vHo7bop{G13Q!k$I~jw_KZc3W(f+|zrf9#^)>FsNzogz?vhFm2#|et>({0x zk2XhodKp50z_?=jm)Sn0i`snZ+B<#*6>)42{B?Uat>- z8PtyQdAXq0_PSKSZTwJFODF{_7G^97gf%$)p{qgwTaQn-MQ?2q4$*jwamHHW?&ih| zIR`H_)Xy5!5q`rkq9(JfY6VW-!u00#oQng3yoGd1P{~y#Uy9WC1s4a>^WizE-x^}` zf1)97n0IgB2b6PK4$W#edMjuoLOq9}@Z1&jqT6%jUt}Bd=y|EqSg^H+^?trna z02&w(;U9ZV0Eou-{$trv-P@vrlOFJVme?l#5A9=BQuzhF#?d}UhA30iL+e#Y_T>#H zrf%+O@mwiLD9`!e&cA~;{{KeVDYct64p?oCOrP`>%@y?Y^7l7Me{pwV0Mp2!l&1OQ zm@Hw>*c1NK(IOJ(=_T<>Oq}**x&86d+rl@?OMWgmzmaR;Y|>J$Wy^|w^!x3Ou#nq$ zv}i}B{;dZWLt*Z7sv4BITL0*PmeTZ(*1F%;_MI>}dRTV7nqIif%sEo_SJ?%^;vK9R zi)<~r$I@>oB(^G+UL5}*7k&MDyhTGEzmNTvUDN%yuX)5)ZZG(^o($ryG>Kn7Ba8+$(BLqpIVCT}24w&?8 zugsh{eH;g6-$-?wiY=fH3v3f~>=V{=h=vsIWINDe8`a&q+-NM;b&SUa{PHId&q|dy z@7zJ{_!mHzw3Spj$1TYd(GBXBkSQl>il632mQ`^$%+A}sOIfo%_xX|Su&gq`wO<9& z-2%oIEbM!%K^6`iSf6E~Hd#vUdQ@yc?lk<5swB$|P++p)&c{v9aDgQ0fwRqm^?#SL zU{@EfSyKdv^}ofp%__2iZUDO?@CK6u0vKnjDLiw4Z_z!c-;jW3;;xo%q^nOg1|We5a|QhlWVQDRX?H^gN?=@xc*m0 zm2M*X1uwDL;~mU+3psNmN*=VqK%Xgt@sH{lKv)t8k**eu)0P&niQR#)Fzo~MIdGrv zF_`GR;hh-(e?3$R+Zz0VYYH*)<`g=FG9WVpdHr}1vqEM@f#w-RT{fNXGId;&cuDCS z_&<=JvY_(lcB%6F_))mfHloJiXv!rEi|Lc!b3u{CeP4DYboc=Cy!rEWaV#N48USgl zrrMZaU%|99#<&MFci_V;t7}gN&RXCMjW@TpZifI)omj-D;}G0CxOcMD z9Y}-FT!>UG1%M(7g#8c7qi@rgH4f3GUNbZ}sN?iG&;UD8d0+~VyAs-ECRPV((E)%t zjZOZ4b$6XXQEpqdO@N94y(UCa5kX93L_kzfNqR3PXhq31ND{c9#Af6oqJknhgCIx{ zM9`Lug5;o*Y?3Gf27(PrYQkGbnW?E;Gxe%oz49$3N`0e|5Bj9+XkpM|BX$B&{DNt!bS%r~fp6ECNN>B^b|5Gbt z4-g4xEa$jGiDn0bttw}d6a&hw0`#|C^InM|-9&lXN<=G71I0LzJD|*@Vf!Hk=iGE` zW&u)uYgx8wQ<|Wv$+kxMcz8@qBkfBMO-vC^o1W$GsjffZkKG3cujw3o6?P^wv z_lVozAN)OQe#NPzIYVtpDShLtkA~KCaIS=l$DP6#X|SuSO9?_^JR&kq%-2IxWY_V7>&GDc5?H&OnGT-6Edw$C^Vo#B$vc8pPhJsb)5-NqRL^GlFGK};(+%74j0|qV;v%?Dg=f)w-X?KaPS(O0+Ob$+)<|D z9&jc;2a+Me(3pV`#j{Hyn<~a1L!5b107xB&{C%?fug&9bt;`9XIK>)N% z$W%d6)#CVG#($P5hm#kv}Oo?L`KirJY=|K_w8G;YE_`VD@ENEZU!U**VODP zCTf@{+#A`b`^P%x4fWQMSs~bzOcC zZ%YH~k<{W4ZbI+dn*3t}A0M_>wQZDC|A;=bpTM70h));CcYsL9F+Rc0If@L5yeBdi z27hQGOv@`s6tK@v#i}&f3M%ssClt!-ySrAWKb4xHD0P9|RGD>7CM#9nRa!bt{F;2I9$C~QZkxZf>C*$2@Q z3g!ivf=-IoJWS7Gx+&I0${ht7O9Y1#Kmy1mfX|+QVwi*=tlUQoMk1~gl*94g*)4&e+-4#|SLWrx3ut}F zmi-EzjM>5ON2_R=?zfpJ2KpvkCqy?Nl;; zP)|CXFc3uE0ZOlyyhQ2KfcZ=^$NgLlL^7Eg1_t-K2Q_sEFiUx-tML)iM2`Imee7;1 znW$D@^^t^42kek(YDm@H=>9i?jW*|*{ghQ$cXSEr>k7cu28wKJ46t)P0TrPTz-+d?4HzwvydPpo^T){L$yih za4cHk7-iJRzyFi!L^1jUNLvH3y8_8YA+EPr+4u&ej)&8Bx08C0?4`L<{;sYMkV;%o#Sau1aY#75a z27yEEpK_s%y4a(O{_O^BhVU%trmEHSWeaFk(sNw zICv4Gio1en-6p*to4VJ3!>L{otw{F`AXBff{%dPPXHG1Lm+##PV(;@+^HZlzh1tj5 zyZ7ci+rLpd65WUF>`-v;!1oe!#}q_F7IAWV{TaLfb@m-a`gEC7S~uh&!hggR2{cQE zYJ}AE94(06Qs>|HWtqRf|1QhV?{mX(IZza8^`+$X!*BIEXi#i#2vv;CFC_OpZRNz_ zG2-1M4s5)vjMgG^{J$FISlX>xbm1AJ**>=p0XHIh6;xbO_wa+bk+pU7?uLVEUXjcN z?HnG@zfeL?QxQ3-7d%2m;+FENG|Ot&Q;nY12%T5V+-HVcCW*BsdRMD9G;T47Z17Y0)r(f~v|;(U z#zq!k7W_BMMZX3c|C<`s{s*3qe9Zqf>hSOBvipDi<(Ud!7m*&d+E0x`i+%fLXHrvG z8jYsfzK-iT5*+&lgAdj{kgmI}Bu8{UeP{&t;^xf9!T*Hk2-t3LF!*vStp7#%6#b)zY=@$6U;6#JOxHOp$qjki5~!EWU-4Y9U032M(OjR` zkzNyQK^?wnJdx-lWU9qp>7qtgF=V{|{v-ULY55Y$HkU_tgLOFWkFzi5QYl$!`=fN1 z>0CLRYxQf7sTMzf?R#*>vUs|)UUH{&z?sHU9*6A_Ek2d!f*dm@3WdM)9D>xtL(yzW z(G6yv!k$VLjQ)Zz!l4M~+PjQQ$*a@s;695)v>i@o5Quc>x2#^9my zyr;^Cs_j)Z9tRi1MAQZ;Q-$1o|lyj)khq2Tvv4T3hecU6=1s z^|`d)R)WS--k+1xveqng;Su^S@1I?;S28%yLUG)1s##OF_ui)y>sW?OLuXp_4Uc_D zc^$A?>#?Eb?)QGKkLHKi$hJp}b;@@oa7#B)Emv>6&Sf~5cH2jmQFYAnSiaboi;?6` zn9<`4?VlVEvb+&z7%WZsYb4)`al4@0!;sDURa}POuqD$^!*?-lv`Idlchsk^;(X*) zRnU&2 zPM+3O8i;baXINa3`}oEWS-W*&X}4JgH5-fO@#y!pTnXq;c~@p6E!Ne%Y~G!Mt>H0E z(xn<3=NDy_c!`GU6+fOTWsNRbCMaNCAh!B`SzE^v=@0ewYrG>QDJeB?K83xgOTR!CF(fAHDVlbFRw&D&pLC#ojh4z0a;pw8#}%^Lu;CPgvnT%exT(}F_WgES}9pd zZ#LWh6M6o)ZLwQ+q)qJ2^09Uvr;#rjXHDkTO|s3ujP;g%uyG!9ozTZ4i>PH^Eu;C& zP4h~LK2`s+weUH|d=6&bfU8A$uG~Eb75%{Vv5?Hk|dWZ&+IWuL8X zS;a=Wee?}$o_W_rglM+vm1=yc&az(idwL&reY4Yu5{vjzHNtvZ%~id6rPp*6x4T05 zjhc-IX7t--M{PFC)!T*^UKAE{yIj*Z7jhZayinM> z^VX2lmi8`|9)>oi<@k;|M8#XOo2s28H@H`M-Z!$6FI{Q3CI8~#TZ3g;B`Oy}3OqaS z9H6u~aBZ_Vpyj(!UcI5KIIrp5Ud{u92S>%lOib;po~V9Oi$}=4vW|CMX+~AL#C8Ya zGvS_(rq6$Fc{neyTdGY_JV3htT;}%fO*?ce4Z78-TkEP~a*~5+y51amqfILtnzOZY z&852qmrlD(Ue$6{cVFjxr*ZAO(I2dS$*o&%Ej@ooTijeo>!t`rc&~0r!?)(WPMv(& zgWZOVbJPMUUq|)0P=;h!ck72|E*SwQk17@>bx7P4;^A9SP8-)O6LP^zU!!>&&M;F{|R;al9 zu5|7nr_U5$9kZ;~{jv76v6RJGn^#{$F3h7>u3Q+G!AVVenABU|A#p3*R+0YJb~0h2 z_{eC_mDg%r_Kw~j8L>CRE}vvlv&#!oyNg{IK!t zVT~8U6H5mM?Aro#eL8Qq9$zkN7So*9X!8DvB}-mb{AI{`saVAw4yD6AL-X?Xy6(6% zr5~ZyRK~mPm4!-2-L;Q1ZA!fR6J%h`LAkU1$F*kJJPricO3F?_+hd)2r_OMllL*cFeG4_i5o@-f=WhaNrB%Gg@oJ;Fs zT@l`6^D3?Dceg97+o$>;ytI(!d0W|J(fjt<2TJ%EK8rVx#!tT&yqKI~F9?a1GViGU z^V4)jCw!EXsPncSNYQi7Y_hh>5h8!7>@sTzuz%K1AbOS^s+%Q*Xus054-!))x3Q$! zSkj4n26mO3=?t5rn#2PjTj`eX7tSk_?bmeA&v54{NYV57_hk=%<~Jvo{}|LhR>s@D zk_XF z2#??Dv}a=?-QBCQELUDl`V?+0fB5jrXF9t@cBD+UhvRmxXC1I?`AbhM{Bzs=mC`AJ a^f@h+3cH>MP3TkbOZD(^<+MY3SN{Rab2~)< literal 0 HcmV?d00001 diff --git a/docsource/images/RFDER-custom-fields-store-type-dialog.png b/docsource/images/RFDER-custom-fields-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..beabb4cbc800f600413920c375bc9d59d61eeecf GIT binary patch literal 44281 zcmb?@bx>Ac+wMan-Q6hNNOvnBEg%gKCEXz19U_8sh^TaTcbC%LAdPgN#qWLJf4+0R zIrE)4Gdd%iz1LoQtvjyky6*I#!y|ov(OnyFdI{n&v%O zWNL6vCiMDR?KvG?t}dVQF)Pauqc{$DF8Cwe?Cfku$1m6yd1fnVDJeDXKL6a_mld3n z!dS5JcBR%`=HFK^LtZ^Sg7uXTCH|kcO55YnJbM~Ee2GE&pW(2YRl}eE^E=O6tk?fM zcP2~y>1m3=J28^apKeATC;itzAI0jweS2{@bQX z;mZU43`EWzm3JlL5mjU))iuq9ry86+RHZ6kIZDwgOaxx0wqBe(&6YLs^XK5I$3cpF!R=TJ1vL*b6rr3dUkn5V~=es9_e zQ4u@)q`ytOeMaHI@bf}Q6TL?;-1mX&q`UAJpYiBnWi4vk!tcfQ;)Y{(9}0EH)H?QP zqPu*{s7|#zAeAoSf=lREKiJIXSk+eb(FiSV298{KzipeZxwuAyhP5}NPovJIB1BgU z2^oH}*HBe6q*83TD-{z14ssK_6FI#^9Qf-i%8Y<+#}5no@aTuTm;oJDDNhp$3}0vB z-V1|m13pgfuB#LYBB5NuCNCHNG4Zk3YMYe(Xi4w-4UUrgi|lusVza_2>T(YkZ=q@MD-<4ziyE5@aQ$)@^&H?Nh|^OaZ#%aIL($!xw>(P~0x zp&=4cNXNJAJ%i;tj$iGA$Q zXYV_U6Y8S-9gAy;XNH)@TnJeSLm$|E^zo}Z*5zAVq~M{rxVKeV?+dDa3D;B z`20=Gu=cSF!RumrQhACeio4Rl2!)RXU3UCmC?vJb%p`jiyG5D$!2Ig#Lw>Tb-dJ+o z>LX1)!`G(+4hJ2S#mtdN*y%#EytALKiZ;#h*VEXQR)=zkl9P!|mi}_?h|HiW zk=tZXTE-_D_?K}z&Qu=q75QFLJsj<6jr&R0^4ecB^|5uA@K~IT&oLsCXpld62vgYX zcYWm7X=|TE2@M4?Bt$O+sg^RQLNDNLqd{-k7f=7uZR$-43}NpKBfIyo>fE_W2*>6o z(K$^;IP@2CIn&u}L|jv)!g3-3wp3NsL4cE@j(+3kr?)hOSU2E=FmlIE zVu8_ZbnHRdbn1t@vbC9g+SicgD(7Mk9Op~_{DUfx9ZS49lma%}0) zVWE%#CLX-E1!BAR@Bts=9%vg@w|A7Ox$vCY-xg0~bF`wBWV~>2tPBWv1)+#TVizN{ z5xH>(&WA{8Hl5C%69DNk|B4ty2SwY=d#h47!NJKLm{TrM8Jl13v#Xa&XIYIF_X`D! zJSjK;+6bMP5a+MchWY9H+1AzqFOYwM z=k&I65LXiUL(5CN=hoJPkY`m~(n((ius_rbiu+c4Ky0|&53W|gT<^&XOFq`2V6hq6 zJ!95jnyAA~36xsalbFfphfMn1eGfwuH>Qn)u-fewc+GBGIlcP3A1Am|5ERzplK6@gE7xm(7)tRTCW{k7#c{F#gG+ z)mB{z54AY!SaEFG*+1w@^!u#l|27JvZLAMMO&KGp=)qM}DjLE^5GTG<>VCrT76qc+ zdd4utE)of@wUI{2Qc+)Ei)NgP&Ohft-TccgQ z17RtCQ|_|p!sY@a?(6ofBr~oz5BIXpf7xAHOEGnk&?n5ZbEpG3nsdYA%gR6sf4U%1 z%vGA7BI@z3P|)#iAhpAxY0yHENs+!2(W=E-JyfXXQV=ovFf?!PduMqNkN<87B!~WJ z?YI_OZ#tCt6v^Zm-tY>ko{v}&|1Fb75;N5>tCXrQ@qRjs>yi+S6!lHq4kBc@02hi@ z9~X)Jpi9Pf??ec~0mMI_`kvFWh#mIEbyc!NKEJ(GOusj^JFMJ$-G#qFXT7&nDreI2 z#4pXFqkB=abZ?o2B!)os3#G|5sTZfqSIQ;bYn-BkA=d%mrH&r%{4F=zr5^T^3Oiy8 zq=szw#8!!jzn9Qty%p&&4$zPwb#6&UTS7scHebbT_FZdpHGX0fCd4L)$*grLt3v$! zVKO+^HYtes2aqsIG?lAE(y%07%@?r0nzGyjmP8}X)pN|iN*SLMag5;*qHILZ?_MFZ zoTGm-OlX0H8y{WrP$I}G#*~Nnv^bBFzGJgfz?)rlxUD~b(KLR%P}$dU*4#dadX+l+ zYzuziS>npmd>>ErB}R@B!Q=cuVrRu}c_(Z=!8rSS>k?rU#;U433^1=wzMr%dOJ30# zj{-pnx3niG-?gw__9c*_{hn~-$;;Cx`;B{AcJdfIN!+HY{zayc-gqG0=#{g=$z-eV zYM{3*QmtV?lVn8eqqAh?MN0hVxMAj4+B-$zBAX$O!$|{%KGx2hj8*d$$xc=-Xq&`*=$G^aah|eq*SO>nRVR_uz&%-!p>Hs198c_iODJt) zsqv~w%oV4Ano$@G%Js`3e|(_)7dzctd)4)i+`7xky*o>X)Tx z@i~~|{eu(%?fOPk1uZd9+TYluDJ7N7U_G>N$48MxK44P%av~fqP5KElZZM^bIN=s9 ziy&tU3Jccj(C#|XO!>ILYlU{NcCvqOD=w5Oj19w*>@(DglKNI5A0x!~>zE-AQp!$( zD5phAloF1GwLpv`hpN|l2BD=pAG^jHQ0(u0bTfc~G+oXr5b;#gcWu#mq*Hg-)7Bo} z_n->ij#*aKktPOawP1v(%UOf0pny!W^Gq}=?i*6v$!Up0x|rLK{)PfPD^m*sn4fkj zoG-_Z9Bq}%v3=)oP-1j~T*X4OAH(gih@a(XzQ-cZ41e_XMhkN@kU(;OmM%EAQ#4$2ht*8$AM3}x;cHjIxwqkb8|-6RBwvcqjZE&9>N)&>2b#V63b-&j0zsn%jhU{ z*@2yjTw(f6P*@!I5bGP2WJAp#nE;H%9yNwqw~Dm=%!f%nKjd)vTNb9-=|IngVEA|o zU-ZHp>;wnaGisb?(jO zt?}`(W2m8httT9HT(1;8rk7&MJmp>znS`UU056MBsEG9_bgl_zho=v2>4Cg1Ny<8+ z?nDq@YnqWxm>AdMyl2Qgw5|IMtXU!oAMK~I^U8!PyLAMY6GzF%)y3Tji-ELz;QC^E zi_bsuYgg^w)CMOO6ZwR?cV9!@v2Zid>>n`}D4`_P1eix=)PH|THQkI*)iuoKeEXTM z>%LaBM8wC9tluCgL4~(s;9_-t-jp7`9J|;-T0(1N%G43mm~!R2E(4FTA9yL61`iS* zGQ79O03N^B2HnHy19iGEQAmB1+~l*lf3o>G`qzBb<(~&rR*sdgC6pLT^gSTB+*0ru zJFrl0>?>~yLDzD*F(b?_+3)KQ8EAHA68Tq72ai2t-?9Xk}s?k@sTDRi_M0y~t*GWyJ=eJdZP4QM$~z z!XLOmIBU#aFy~Y9bH=*a6G06*~bXeH^LzK?)3{aX~`KO-HwrdSo5SFj#}P;+$f&? zjAA1y9IA6;3^t0^pomH@=unk-cyV<7O{164+N3*TZj*Fu-&oj3t%+rQ7zmhM@|`Tl zMY>;By1uv7h;icIX@eaI(MHO7R2G>3V#ciqJ$J%B87(sN5YZtYLcVmnM#^HO#>XDPYX z1`R^RD@ZP*M!d0!q9=eG*3rZ@)+EFS@Ei6D`&+4+cDEUsEEnH6zNi1HtKg|TO0c)b z4S()Yc!@_kolLn#=vP?cH50CtnRXI@V4Nx=U1Rg>%E$<&zQ6KI4(t7+X36u!*Ec>) z&Ab$idGq*Nht)Hkl{tSyM@nzOmYQ8_1u(eUgxyth5=iCiZIQ+sHqdlwC${@BLXKz_pja9Sl+2Md3xNfs@>P9Skh|g1(oTcfi^MT2V#@(%fYU|I z%*}a;sH`b;`Ci_S{@olL&sYCJaHM;L)lVcPD=$jJ{x+;Ht46O!S(lAZTNI>xZ&<;A z-t8dv6{)-l2j@*587e$+suigmmD=6HBQ&%Shf6nj$O4*jM{<61Dp|C8(4$u~%u2CY z?s&097$RKROh?^fi$G}ax?@1Te2L9jP-}r?#2z8;lP$+hDYe%TH&fT#tGO)-Yu*m2IN6Znq2upXC&-pqYUJFxTUMOjC9kC-n2;GL9Rpq04WXBzsB@Y^` z@j9gvoq1@PD@Sjx2IGJ{Q#+CMc&>4PKPI~&AzH>x*ck4m!(Ssj13z~n7MtBrl0>zj zJ;Ea?gB)p)e5ts&RuC1mUk{C0I81NG(Bu-e%}!q zBBl3@?wE8w0Z}??XD|Z!onWL;&lUr7JS}}8at+27mTt1RjWOB}jH$k1mQZVpXMuu}MB!M0uQR zjj`SPK)?%-#c<<*WByU>8zPdr$fbF{Jo;X<`5>K@ljk{+BOmt@+*D!GNWQ+n%BVj! z?RE;zY>7f2jD5;UaeTvVGk+wG4_8qjPclq~@WFVc;TJJFIIZ^%d`$SjJ|27)()hXu zkFut9SmCtKc|D5nun3W_k9Q8Ev#B%rojDL;?i;cn`|R|r-vS*^i@hsXZkdgvwg>}f zmRN=%DQOShGe!rszUdH>oa+2d^L_TDRgS84`?^+K!3Bmx_vo@g$d@csS>=Q7bL^sP zw*8?E?=#ZF#T7g;lzNm_^41VnN^*&1Y<=v%;|w0x4NmjHBJP{ zJ(HBXySw+@Nv{e6UNOc;|4eGN+^MzpMY-^2%Cc?#BRjj>b1U$Jylz`N+(W3?+lRCO zTEfTeW3(>W5s7gl|G>kFpn zVd=6eo)AO(OHbVkAL7+zm*vR3l?7*%z+k6HR1uFXU|JP;ts_{T^59DlZl0P8z%;3x8$j1^0`g4Esq zjC>2hT{+Bi6bi6;(#TSfK$KkD;yiX4;oGwk!vP#u83sL`6!Y60 z7}XU;ByV_C_pB>m*I_)b5m)qT)b#Fh9U9(r_Hi%j511ZU%V29l3aTT=*Oj~MTsS5h z8<}N}9KErl%Cx*(%_G7IK-#6=$W;a0v|FU+Wi4;}en_X0m3esSqYqA)yUfaQ39?-V zAoHB8rVzeQb(}m2uj2qxSdLwgJ=>IaIhw@oq(|8KY~Al~2NXRx+3S^MA%o7jxY(7e zOFoCYThfKU<=n6*19uW-pOUF9vk8~Zeo&;JGK9g-BL#BmF*=YOX<l)uk$FuxO9eOuJHRSDuJdK`HE_hD4gr0Tu0j_a6Lka+0!R0>O3KzWZ zBR*@MJWeh1e{ZIz((|3sV$iY1mdSx&=>eoQ(awgBrht|_CGuiU%XG}xM+f~MjS*er zu#|TeD8SiPb>#IIY|AYt2RUlF+S$bx+Q6L0XQx(9M2SRru)Ytc-1~zaMvVYfl97c4 z61$tCH`H1=ubAL|bA=DTF*2XMI^zLaj|_s@*w1PXUY_8PYDU1CHt^+5pKrfaeqmyU zBBy1Ytecu$^bO}PicIr78*7ocrxQiNhWyN{q17ELbSWqtp28rI1^~I9+CQ>FETB9! z%TrL*)5iF225?o!)Dor$2 zo6o$#gh!Y(-H6#k6#3Vz?^VCt+dLeQPY5*Wc4oQ_=k3J%4z3i0LhCRQ99@PIRwxz_}CjR&H>i01r^r%6RCfCY<#WzdBGfG#QNOctd9j4u#Wi^d7gE*oy&kL;%cDTcPW`W|zC?Bi@&o$s=mz0d$J$9o^;4d-9y*$*I7s)M=9}t|2w`&| zI7p~<4X-l?TUr6FpEK0)q}xbLyaAQ9zRI_6^Sg5NwaPXP>B}t7pDSV#YyYr+e}GkQ zvv|gPJw*ms+Ba$*>QAX8$R9ACiW=q~G)`Pm<)>m6fNe!*OJq(6z5+$XdWo!8!NL|q zg_)t2^AELeZ_zGBUW ze_H!=Q3Cr^H|=wd_%8+2|7MW?dnNYGRgrt0-J+mnwa%eCH#hg$pWjH$p66DRZl{0$ zs;H{MxVv9YX_gP`wRjW9$Hyo0SQF^!>5;JNYHEg(3%RW{UoHj3$B%Ot81HrU_RKu7sKz&adCU+lhX^ zGdD8}Ib3X{WoAa*+S+n(aph@ZP4k*Sq2-S2Jr*^s>FH$N7qb>byf#D_B3>8Sb#-+y*2M~ilQdjhIMCkM?mEYH7vGDc<+!3EmZu^4 zeed``%bVrS7Zen9MBvgpJU-le!llaRb<9>;V3Ux{tvUbJ%xpTc_GMybPSfLKVnQix z`YWF{u|A$Fr`_T$P-4&=2|h7h&=nXPzDADaSsoE@R}d$H5C;&Tq$TKFLr6o-SkYTn{Ou-8b|*4B_VQ0T|T!wcrN7%{pz z`(xXXRr5JL9W7sDZfO$qP$)HCM&KdC@61&*1FGu3o0M9tTl>}P@^IzE~!dwlq?dO9jrT3fyKezw}0 zFfb^n9QazFDOWnbqolSX-NTx{y1D`1uJYr6`$PEZI0?t8ph{)A^L{ zo6M|_AF*s^D-ghhpWcXwMwDII^z$dOee*fN{=tEuwz2*hryMV+|O~IeOJne1RuUW zmLo+Z;`y@W_D~2O0bz9@kr`|{zvCLbw~x>2$_fO$;O=Ix6kJqcN}K_!(BOU)YtZc3 zJ~D#A#>S>yX^w8-b-*(-H)palmJ=QwJ#j0dWnd87>~*;YY;er-<;Q+gV8=)-EG$MA z7GaF)->GX& z^y~Nq=)BHTYhPZb6nnU$4aKCy0E_h=u)#+E^yBN`)R#S-C8@Iy@#8vGbe!C&v2utB-01b|*ZT*x%jPEK$@!C31o-&fkg_yB`-;0e?;7iAwu|#=L+&0T-Fl}N zUI*3FM9}EXtu3x{?I8j-y*@A%ZD0pBoom zn;8zfdbNC05Ls=`cEg(4+K9rZWb04Bx|#nFZ(_EvwW-d=BKz0=bpOA~ZuBIS3Wf<|-3$aVsc_~!#+W6jIU%WZyrd%Ztx=x26) zeXYnsP&q1k8@;)?S-!Jlx%KBy|5F458YuWuG>C4E4Y7ivqABRqfPzm34^;1v{Q*i^ z*};5m<%iR)^1Hh`#6f&~{PON7!b(7MI1}Z&t8`c!eeVU+IH8CNN=oL0>;|T}a&hKA zl(Wpo$H#3zP}>iq^fkIXT!b=fm6%FMNbI)-z_EykWMl}r$D)(*e>_-j&01{wkYKym zkXT<=S5|2;S}`ynU*o*3w6(U@adEgf2tx3Hq@?82A_%$d8)=mqn1O+z3SZdFUc7iA z=&He#xZilx0&Q<^e;R!sq}+v35R=~7*|E8!nVFf{fRD0S>x$T)$X91!Vu~!*Z%lfV zDV&n`?b{AnsUDj}>%$GRv!kOia7I&3PEMQAOp&4P?hxC#st7X+i^|I-uef4^=G5-4 zuCm`hlq)v}zf^8)Z2a)KCW1Cx`W$3|SgrZ?EijNw5wD7}G7bV_;{Juj#aZCHPm`E0 zGlr|Itb~GmUsO~St>54h0b>NRm6^pzy7ALmL9~sHscT#N6X+`ioVO?9G%dq_0w{PalaZgVf8yllRfbH(@jOXqH&mI~Xi3O24inFI~ zUC?cxC_z5&=~qu1-{^i+0UE-1y)JBcL52eJn>D?@*`1qt%mPhkaT8T&1dcqPsujY| z&dxSEqQOeLxw)|j3Z^ovtE#puWeWF?WQmOe?;wUGefrelqfN%|;NNe`m2ohI5pO+R zVg^ix5ie5n$aN+lh4X#6riy7}v!Ph!J(mzSZV=* zls6fIiTX_*@r`V1`JbB~A8z-rPS%UEv;CQMRaDxNSl)H;+AZ_}@IefXPWamCk340R_LHr>Va$^At2_Od- zAt9mNY@Wgwm!&9@n9%yh#>zKoyr4qob+&^I*Y@@6*WHO+I%!W&&k6t^IRO|%^nY@M zc~CRd8uqo?aTbdu7fSLu=_Xt_vTwPj1A+`^tHH$kNi%;!KHan_mojHu@9lVK4yv zn5i&B9Z44m0_Y3wr|*!E=b7c*W$R;i!P`PAf+$Yo4)}#uzt)ipYYKe6Dfj*N#?i*W zoSu*%KmpkJ_y_<}L)t*Bgwb$6B#i1lJ~>&PDim>=nw-Q3uG!1C>-X>b?}b3d1po=)#v=72;0@otfA1I{kN28rc372s!sBn>zU>H@jZ zb@#eR_7(*mc4l^#nwz__JBaeiTNDJ>lW{ppFMc$W}8j|6%`d! z@vrKjFJHb44huu7sI07SsRg(h&}Z<+ThwsddqNNHq6>MSgqoWAqkNuGw4)dZi5pAI z5P;MI!F13lMbqcM6c@Ad+Rg<7qs(aMa;hg25D?h;m4|xSvVD4ug$xfVkn{DsS`7oK zAGBz82S3Agxc<9IhjdhxH+ShXtPEN?>o=>HYc(}B-`JIId7oZ;djn&=+AS;vDsH*O zC$i+g-Jav;){%?{K^>_S^4oFCEWzRFOkE%oh!-Z+mvV#7KyV|C~t`i_i%3 z@)Cf+xN#`v<>dv^ln7f$oc?nnt*(Y zjDgVu_PHG3uDiR_QN4En)q>pdL^?pq!HSSZe)cTCa+pHIlZu6ix3gI72$=zX+0ogFO+gV0(i4n$ z?)DExQBhFn(W`|-<{FaT;fdW=j>g8^7tovXG+5B>V% zH3Qxg6n)zE^S$XDwS1Q(LIMI_YmMsoc9-YgoC1i3~ZC|_um^+s4r;> zATi)s*rcRUATgT&%Ow)?6$UdlwziG}MpjZy|Kdf6?omew>JxATacFgG3sFo=EWCS7 zaGnz2(7&grfThVY;GvkBnXMMrE)~>H<`;uJg9@4#85kKQ-n}EfJY8vr11OwK%$E#A z>Y%77RME#fXAKPvDt2~EX3e6p*^!m@pw&NrB2LzOp#YUE=y}FuWPQK7x@!CV8yDOm z?&!z~0&m?PCD|B~kckP6BAsd!wR}9QYLaE2OLDN$Fc4bVXmL$V0=J_j^lF_LfZ)V_ z|B(e%8xHqFy(f|h(tMBxQ-~g0FTlEGz^RK2TPXnE;o#<$l9fdS9~YmH5HvQX0;UQ` z(L$Xg9LS+yTe|#V;GPBnoCjP-hKB_=eE$5|p|{a~SyWn1E*DS%fM*ukFrA%GEu4lh zFfg7F=ix#6&rS*x0zfHJmon^np7%I(lVy7o}crspyZPPHtTt(e1@SCorHr z#k+-SYb`WlF8D^b16art0eklB8CdOh{z z&d!ERO-+GYJ3;nZ+1P*w1(+vU0fdn!;=#eu2Iy2>+s5HxEXZ?ffJlS@4jhU>9@*B` zrkTO+Lqtjn1&QSfFr#wcd(T(TaX|EM17riBt@fu9-o{3-L=d7enClaP29yhg*)ChD z=QzfoI~@cgER>LBF+b6sI7&=FYF&25U_iz_zPRWC7RzbW1{ul}Ayxmb7?79u;=5u> z;JZq5eyLHpZ7IEuh>f*#YHsnl z?Eu7%mzS5{hA6a84+9$QDKk-FgO?wWQ=+}3_$-u>plnzGcz*| z5?laA03_q!?0oy%TOkT4Zy{(3g-Egfj}DdOR=#e$;(YJpr4>*$W)l}T*NF1e-Uf$9^SY5g&8ZHEs5;^Q z=%v|-)L=Doi+4}-m>3!F2PvUme=IkrmfljaN?*cL2jB5jUFcrx5YqhS)~!Aj3tId1 z>!PH?P%V_E_-PP^;=iSS%eaz#QQ7)Z-||8}6uLb$t)s$^S%H%#F|FUIJ0cGB5q?P~ z?Y3U{D3e&2+Mq#cJ17=B7BNMBs)HnYe zy!mKRRHZmoaQ;EqU{CTngkM0Q)(!XRIqD7Kf&TvYlQ)`4TNCvEKGYNUKhmVDJtMQk z($3Ca0_7QmzAE>(nGwJxL3zk!cVo)3{;v};VC%shgzKzNI@I>5u{oVx6i)7w=e0YR&7>Hi08~)zZJrdBfArNO&1vGLl zH1;>CXaVA5Y`wn-4wvHq&?A5k6k9UDiGUXs^$icNgUyqCMv;XCPAUM=$ivgqF*o4U z$@zp|2z9aHdgbQ45CTb*M*wA%0CD61aes-R(5gX49@#vNwT|vn4lXWO$iG~^<98=6 zA`LcVhs+B-jxE!{(N#ve3;*i+d}RrhheSt?0dGyB!w2FondATJ`BN;9i9v5_bo-sJ z5R;v~^l~>9OOnL#)(s5=ls)~a=0?n-V%s@Wu}v;w912nKQiJBSx1wTVl#Y&<;IPZs zVlQEAtdgx-+!Ux$AcB+@vPvtvxF(uYdu+c{!i(>^*%DVYNU_;-w7Q!Nolp4MBc zA|iM+x{R!>_&~z(*v@dr{=2oTqNfMX%)IA0*x-H`s4S`<(0%j>*BKgDRJkxWhe+vL zh303-Px6J)#e)F#*xhE-r@) zdCi631k<-?r`xTa_g?LHe4q%Tc(zBmP~@tv_K7;7f9~x4J3A$e8t-cCEWdIBQPGwK z>mIru+nTtkY^+&%i_!FsopC5=RtOG&Ljv4nnZxI%5IxD=#U&6Z!4ziZ6ODR+X~@Mv zgzpl<`W6<*05*1L)qVG_y}!SHsRAd09LLx1<*gQN{0ueyE$5||l@%8nn)JfaQ@SfF zvvDD1eJ7VYP9-X;w9TWe%nqda9d#ezx~zMpLH_w67<51EW-G>eX)(PZdAqqNS|M+;$o3n$k)_YsKj6~rLvZMKo8IE{;8@a9gr*?FNPR{ zLk-{|Xe7dTouM(7XU^yEa-@}beK zPU19ruBeWsk&!+HspU#JlRp;Jl^PN4T~2f88PZ_*$-i|39z+|wBXPX=6hWvN+c zXQCe+C}DEuBFfY+aGsgpQwV2iuqCXTYvNt`+?YJvxgYc2a$@X1Vq+fmiV;HT8Ki4K z3G2tnZeitEaUiJZKGeTbQd*NOdVC95&$l0W5_Ade)1$4;g&>1|d)n{FsHm}AIscKphX;|5 z`h|mPwql336sxPoL>xv~c6zO$RaF|zx4poIJ148*wnltVA!GGXNJP+?ruT3!N!~P$ zZb(vBgs6Q=_?VU!^$eH(&l$I~gM)Zqnx7PqJ0UASvV7adX~WvqPmJu3{A;&Z$DSo~ z^5t@F$4o;slux+5XOI=|d|qB=y>oJ+`SnY!e%bo_6^wt{xT>J~9T0g5zkfGBcst3P ztCnBaiw?vVfF^h5OIt_Y7&!0qSbe|x;FR*pG<;A z$mZr?U0Y0n&%B`I*V}eQMOC=--q3=y-65cI`n7i;){d9@al}#xT~F-J7&N%<#R8pe zy3wZ1Um~W&`e;REo73h}hqZZ>87>|fnzgh2_ghbFbB@`Y40Z?+zeCy5Qw;r@6`$L) z(pB2pwk!sriATOXTxwtMeMfY4YiR?Q0|T~(2)c554M>r=jM`<;Zr%{o7^ zk|jHbPPyo=_Q!+XMCLD?4l720n%*6)_@3?JYuHl`So|Btyuvjf^@S61v*}(CsH7%{ z%F$pv`Sas3u-NvTs;A9B;tKR(F2u!k50%EtwBqw`%J?N&SV8oPUx$O0yKc=$ESBUWF!-UU1ZD=R@~XY1ML zBVQytv5961V+zk)7VDiGm9j!x8@9+QHJCQ-f(d1uV^c-|lKMFJS^kA77cr<%DhZdU zFtib^cThpm09!gwDt^QEg->9v;oCQ&P|yp{%Opg%MHh-rKJ(S}_b+bh(xPuk|D2`% zxP=oTjUL)Tzx|=;T5#_BOL`*FxXR=v2i#s_5|UlTz0PW$OC5%?`4pV8arK9$A7$_h5W3SyObLp)J%{|r5N z_-60p)10x?zBCo=cB94vz(n-Y(&0CPAqP!7H5qxvTqDUS`M*ICqGS-^kt1l`1@CxI zo}(iEpA+1rZ{sS9i;7jKhV2U*{tXt}1{%(Dn|1MN6iheEDhq`iw@xMVG&{31kABiU z4e%jeWMJg|Ij>Ge*^uI}u71RiO#m-;{%kM*Q+Sm`z8=gG{U1U9|IFseO8guF9t8MX zG85H>9ZRja_z(dcPQU9;)Y7PO$4CCaHr6cus=B6u@ISpD&ExK{qB)=t9UnhkzZ?Qf z4GN4ab2)IJ=21V5kAh$VJ<72d6+gaa9bH@1>M*jf$7C-pDK2ogoi5Q25vLN*67_L4 z7#$sz^7bYJi*00md*`eF;=LayCm)bebdI=yyPfS5U!n4IwEw3UAlh2`)ve{Bg`_iR zm!M{2BLL(M8D$sU+B%J3@(Da#g6gr!1_KcZ39t5Hd(ds)@UVoD5!TSKYpcEzXdGZ+ z!2@w*XR%Q^Xx@V)OSO8j*_pJTu|HYR)w6jJ3O%BJAwXa~19Sh*8FUV6Yh3c3#>Zx*qy4y6rt8fWB2& zT>L`x0SQmWc%kkDeMvz<=(YD9W;6-UP3oXk9CRYlcm9zS)HpqVFDZe?UcE@YXt;P z4o=SY@$vj|5AbglJOqHIATLv4t*otG{ieYOZ?1LgfmQ}3rIF%DeV39j3Qy_F$IB)C z(DI09aiTYM60V?{kTUp%eSLqw=+cb+HnMJ3?FeOli2>B`0p_@{phred&dJ9&t!oFg z4Pa3X{Eu39_QkfS0K2RJ6&I8^1PIy6wr>|f)gln6wJrB<^l(TRUz?hu*{6Jz416gd zBT6Gc)~38=)4!T7WCuGVB_RRBQ_TZ8JMbcnk5}~+(gke9(ECInBqRi)t)qj3%?YPP zsI}z1=L$67H?R8O7w?{a4bb&!sh{pdHk*tpu;FMzRMaQD!Gbp;;spE;Adus6Ic8)O5;?Gar1vdHzk9!+60(8% z%V3ItGl8$Kt4I=PAprVNj764@5}|_pfT{`99a3hur~@QfWsQmEhRe51_?@t@pi_uS zL)pLW(#R>f;stWNkF>13{$)&H5%_4QjF z&s4ii(0B1POH)%kpWCIL2;5%RR@hP?(g)Y42moD{mWvAo)CNJpBs!y6#K-&Q<7XFf zLPKD_^y=!w!lvN{Tm@?RJBx*U;O1O$b)Y93@->v4i0!w}_lEua>GcdXP109F6zHmr z?ZOuq`pGgi`;QM6@C5TAJ&>sQ`4@Ee)W`>@40{k z>V49^?K!WyuuxLVPI6z*o@A*2nrKL{-IaR><|6Cr?E8m@<9%cnTvELh`$k9Cqg=Dr zS6ADIQYwkK%~?RIo!xUY5{up`d0y;KZd^7~r)TIB34XJ)><1gLv+U=; zBwTxo31{gr^jb;K|0@F;YF*IK5L(5k1uoYE+hMai2B>gu+=?`kl5MBvzOcRB85biG z_6T2ciTUn7P#}MUNi=4uyyXw$3rQFAGvF&OKT22lg7OT7Bupo-r?WGmEk4)fbh@|7 zcAmhAeG3QgWo%y`16YdoFNQ_5m!rXWRD672+EjDvwlinz8tP9DN;1GcSK2R^rYpXA z@zMoHRrT^$p%y!+Qlrh;@d>@ADOFouT%I8!R8U~fw#zDd?j*dKVAqWQ9OkAMTFwA&oD1yVh?LEKeS)6Rb)a{|)#~i8qam$yWO%PBSWf09t zhj6hugC6dYI4sAEARV1Y-wj(I&~BaUzp(3X#fimcGfr?gsu97!xN~@4As?n<$t&4m z{4e(2Gped}%NAX3bIu|luvHKc0YMN12`Yksf*?7nu22F@H(l@9yG5t80GkddPYR%K-g%YduWI7!$+464~|LKJm{F19=;GN zCb-`*slH?}3ua9IxlFI;Tx=WNR}==93*1!rC1K2guaqv)y^p7i*K!5v{fF5maR9oAy$z7J0wN0CNodv05mS$`qtZ17y z|JW59m)QCJ-J{`V%CeV7FKx{>`a@S&m+8ers9j7o5cYF&a&O40#Vf9P(6sPc_5aCM z$>!_tCo7||u5RV_czc}jfroG*3sOX`H;nPD_XL3bq$c@NzU}v>TjEl zQXg6>NZ5&8l{U=f-Og0O|8Bud}a#yBxRzhY0g}t;M2z4I{_hdaJ4VCZ5J2v ztMn8)(b>~e^!U3=MZwQLg+Il$!UDx(wg_@1A;xuIdFGmWx}ip5-8E%T|m@u~Lw zWv81$AfFyTm8u~}XJq(q@2jeXY-$q_)~}LZpXV2LYWJ2alZ@L^0=pkst9K!~{<3lV ziHNWO(HdH|)iawkMoKly@tj0N+ds!iD|o+p`8LQ&kUwbop~Gl_J>R9LJ0c;b@uPG6 z9%iCtrpeQ;)A{8zj1Nvnc@N*)zQerhjJD?EHU9g}O-;9E`|evcDSoLK9n^Z5pD#dB z8LC&=YHJsL)5K(iYS}S=Y>7qJ*hgu|d7ft8QK&7)Ml3^AlBLixF>-Zf(LDCLjaz}k!afAR99`v@7TR!8&s$0#Xy_RkC$w(=LCxb-blmg& z-L{m>ZRdj99)J3Dk@L(MURzGT`FVl(<^D_1CA|`K6n(S+INMdcGa@>=I?{E$PxRHI zZ`Ij*nDhn4@pb&Q9F6E zCigW(;)>(g&!6{`y*LBx@M;Rgv60_981msMC} zr$1EfhMs|x&zEG)ou2Bt{ap6By1KfTK9)cMPL1_uS6bMZN*Eb=o~?6Qj7}N4_L?g& zWs0mHpsym_(}(x`hpp;&ASBhh;+WhJvF^+a#TQ}^s z@-$+7;f?Fpd0u84Z6CEYFfpmfpR4>eR6)Hk-?iJijyV3 z7Vw-oqxJpmM|uXjpX0wS3Aa%uu}G5}pg;Ur_eIV|!mc{3k6PXH-6bY^eL;j~0p0S;X8M?~R&3mW2C0?Hm~i zA3Bj#$nfb^@`WS({tp8J6dzGLhMsezVliTAO9Md;Wel7PXeawYT?zCNyJUTsdTD3j z*qVExz>-b=sszrw7}559-kh5fH8aZ_1soN4cE+8 zFn+G2EceRXC@o4D0yv=dFf~=Tj-~=E7MJ9AQ6TqZv@8w;Kim_1oRNouN3roxKvik! zMQ97#o`xqoCa*ToqiW&htg=oq=l@k2hn)V%=BcN z$aPrY+_-V!-o1N+qcP@)f#_ySg;sv4O+^n&*VoUl3j$ma!pwF0{S$rfV?JHn$t>pC z**$!LM+%wL4gjp~g5JbE?w zP`l{f7pm$;J|$#zBh9?Y?fJ=MwkQ2pP1+8L^!bdv@i!pT%NC1dq(Wct^XHG0zHp5J z#EaS0>HSC+eTiG&nd}MN!)lq}SY2N33-K0DlO)^YJtpD>mVDC6w%OAn+sw%_Zu?Qomo>AzR7r*psaKZx?Pn=c_sNIHvZH$;Tf*u6SShO~T#c z6+iaZRK$<;E(bu}Ki;#+hhFw~7y0njzklfTzkEn#Wq5e|we#aEqCdY!!jctAaCKiQ z;_AgC64G^4zf`js8nH4Z#qb%x*Ue_s%v>N7^K-2MB%@i{*zF}RVOkz%S4 zxX)y3M-k(Deh#m#7cPt(dH4HUvO;!AAM=b1(eABdwi;?qZ_*hyHrYZ$@#Sek%inHF z);g>C>|gs54&jR)l_@K$a4${Ur~+CeBEBm-&?$O+1kNfEE$#cajzdZ7k(9*l;o$)- z%-;R`FF~>wUEB?f1G!<%&1UHHVQ{cwyi9Lu9bCT)V)?8)?`C*D9>o000(zG`2{@Uc zwu*;J8%q>b1oNp=BH`6mhH6mc*wq?>OFp`9qVVmRmXFS>Q*^Sjvdxa?a647Ryi3T~ zS?g|^ntH(D)6x=DPgbmjxQT?uqNK1e(I9}>2wK3+AEK@WJ@@c9!O7{3Qv8s!v$MK7 zi9LUMAEan+)6#rl`2iyWPDtnT)15iCf2?0`yEKwHF*C!R^_7vE+Yh3?PULpT6z3_h;U?X3z;B9+F-g!>+3QDA}s z^+gzygo1)UgoNS4t=Tu2Sy*l;B&x-tX)Gsm;IeYMp&#)h5U?!hoRz|Zim=&r)BTe9!SMXA$9ljIxcpy!(qxjjOj&ZXJ^>?#r|-KyLU4*)R2-D zomLn6Hq{oaE*k07#mL|UN|zU={9rj!#9_}lEoY_JjA=yXMC3%zEI!jV7e)Btb>pLRkBG(f%-sgw5LUP$==AfZ-s5Uy~KR6ej0vO ziCVq!&v*o57ZVsd2?vKfpsz$i=0@B&jV1j!8g%+jLi<|^wT>U8PL-`2E^aZGG!pla zV?RFS=Iw2v<`q&xhK?;&w}J`+;y?lWvvf}LN1*J%%mYrX=&JH(S!rlInW^jWn#8T~~(!2|z`tmMMp-Nl` z$C)!QLcT^TZQafmu^S^FK7INFg(VDZXgH5_C%|OZsY35!{4h6{f49)`>1VrWK7IZA z3`%`4G?3h$gFGy!5fXDMRw0OOIXO9@rTcR%e~woA`~=2B5bL9~!?rK@>T9lnoQWOO zXWej#XJ5_2YgRi`rOF_%GF`ho-{nc{O&Ec^86>TEbPGA#3zvJ?;Ym}su?7E=vzDZi z{sKa7LgQ#RGgt%6qPegY4+~jOX#{T%RohZ6nZx-XVm8;4nt*c61cmxMGi zK0QtU=byxg+VNJ)s&#u{pm=eR1tRgU_{yZh)z`pqk21bNTw0N$QwBThZEP&}6B~tn zJR_ib)y7@Pf({mm41R`hrKOxqo2rv>xsdq=^4qXsqXO;`-oCdc-K&X>hMRGdAh~^} z7h)TAsZkjT|CSsjWwak4Oj^vH<#xvn8+Y-h|6 z0NYg~8;oguLPC&Z+=O9zdOFY>kBW_@yn=$PoLpTTpU7831O6Deis4WE`SVW2Vvylx z1iej}JBdWm`1%O*)U+~4j;}(q-hcp2PJ9X;^>1#fP=|~F? zY!MYTEWeuM{8@|mjV-rcDKL8ZA3B8J2x0-soBy^$bO&`!)4Sg=vem-0i37*i^;ML! zx_kKdS!712p8Xr#91;8XD3fowsR_>v7uu~fC@zuKtm_B-78Ytocd^**LV|yuB5~xf zRO@^DvVrB|rzoDkIeXBEWk}bLx!QkR-Qf=azrZ~Q>MHmChL6vO2FB?paVTA>;ES1w z>Otzol?_k7n_n>gk#p^@uYXQ0{4A83t=bS@#F_QRFH$~L+Bx$e7E>4#P0rP$rd&0< zaIIXTn+~774bRE^;$mli|8wY;(Ko`rzH4|@Lqh{vk~S7DE?BMW(jPs3yn#(E>-%UK&~G)Lw}=JaPK2O;jJ-2C`Z%Kh6O+?8OOhd5fsqqXHeAqa%imMm~yXℸD1{pmy|=c!G@q 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 R5^bP%22WQ%mvv4FO#rPBl4Jk? literal 0 HcmV?d00001 diff --git a/docsource/images/RFJKS-advanced-store-type-dialog.png b/docsource/images/RFJKS-advanced-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..06bc1330ff9bdae62340242f418755b1824507de GIT binary patch literal 41690 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μ#BzJGyz8CTc(0bZ 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 z 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

HPBBe3 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 literal 0 HcmV?d00001 diff --git a/docsource/images/RFJKS-basic-store-type-dialog.png b/docsource/images/RFJKS-basic-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..96ed6513d0af46ec15db454a2e5d662e37eb0984 GIT binary patch literal 50940 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 literal 0 HcmV?d00001 diff --git a/docsource/images/RFJKS-custom-fields-store-type-dialog.png b/docsource/images/RFJKS-custom-fields-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..acd59b16731670417ccefd020d15607921243327 GIT binary patch literal 40605 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�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%0D{NEl* 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μ#BzJGyz8CTc(0bZ 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 z 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

HPBBe3 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 literal 0 HcmV?d00001 diff --git a/docsource/images/RFKDB-basic-store-type-dialog.png b/docsource/images/RFKDB-basic-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..56a3629388d699a762edc290838dfbeb3078b687 GIT binary patch literal 51066 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≻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�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%0D{NEl* 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μ#BzJGyz8CTc(0bZ zdGhQ;N8JF%f}e(tmU#Pv&!rCR(kfXx*GKy*z9NYZ%GcvV>CbaZ>*VyZ1q9!{qcfDj z97vHR%00Ka5EK1)oADrtZ~J*29}T^}iW6sLG;1ZxmlTur#}m}Q$Ldj64;=wA0^tdd z%%EeUa8NIEVA~n^QSHgGaV?ZAJv+Pk%|~gg=Ls|&St+SUO4&m@l?fGj6y-+Bsr|UF zi%a6Tmwxgef6pGoKjlLm+I)uUyD%GQf*{VBVYkwS6emPm1#)F1qvS3ZwM~pZXQpxi zsnFJ2N+fF|P{otW6uWDaxsL8rN-E5;8YiaO9rbtZ!uVWPmfN=4us86N_ zx}}PBt(~D>fYczSnT2(_NCo4y7XR`xzSSVW+BxSG2=0!K$H| zP&YgsGDL7I6Z_?03W@z`$ZZTLzDnF!?(+oxHsKMW?Y%C6g{#s;@)BN_{U)1~=zIe! znI~RzL+t#jrQ&L~?;_Y&5AO@zTWt^|kpcPUf%uSYtjzKL$vDSoPrSUAtFp}xp6gO~ z0OJ1J6{0O!uAU}Y{u>=Pf8`|4uNefyd}RU@Wj}1O)HH~8adT3Cm}({Vx*-)>_*n1n zceg;}YD?hvmCPIrnPRmv`Z-`&BpL(3f{r(!KPljbp917a+f3;1iTNnz0q$5vortH9 ze18Os)vZ}Km4yi(R_Dt}eXI@CzuW8n{lC*6+TfSsSN~<`vn+Mqa*WU!;ZW*N^B_Xu zqsdzjlhHxemc#OB_-36zLn50wwZ-lK18ueA6jT1hV%GG#FXIoFV!?>~9q3$l&o9y9 zs*59_H>q7aGa}HRg$NH4vonr(l_z20mcsRR?O!H#fT#S)(!F!>?rZ3~d(+!SRcbeq zwQ)1>TzxXd#PoXxyllDf9+z*u&SoD(?~Mq0fl%3j#Y#)ash2g3pr~|*%u=xmvOi6ocFnDEAtW6_D$DSCqBsgPysV%_sCGs3MG$>A{A)X6oH2>-~unbRizKkq!^r%w= zwgSHJKIUu-&0%AkqiO!7X`ZgdQy=+02gW4SE?G41hs5)qLub3WBt_}>{FG06;TJ>B zRYYW`F2_))LMx((p0BCAyl0Vaf5M787347Lv2lG#srR6n&RJSeWnv?*kU7<0ynJKS z(KD`w%e^A?)!~;b!Xt8?RPV&|mpf)FiknZIK$tw1DA4T;XEJ)Sw6r996|C|0EmCgH z6+1saKhuMspR~OP3=UP;gZ{RD?JZn;{2}pEjWCLWtwqUlyxO~O*A{_^POnxcO5W6N zUg9zq6O0cNE-PJ#5#nBBxZW^b(8b9!>CCs(I#V1C?|1oRRd-$bH-o0mn?3Hsc03j6 zQ_E)|QCa7@Jn-C^hy1B>Q9T)aE^3Zucg-Xe8^;>YL3iSD@hWL3@Mn<1dE8!DU3F3W z>HvQV8Ie4N4?p$&sLoQz^Ti=l>_}@>y=%H1Af7ruv1^Z5+f-M-2qrTu?n6_C2H%V% z3Btd%1USNHJ3833XRD?qlb++d8S@=GJ_M)TNkkEBuDJCiw!dXl-!kG6pn$^WcJ6>6 z^DRHF3fHh&%85}F_B**jAKKZoAYtGNy^{X-5gADTV3u~ zB(^Eyzd5vGSKBJOb2Pfzd93t@iP?|Mz9fgR?S=)79$dzOJ~Y2#$Y*};eqXurBRRHz zSFyslQZTM^0f=M@N|7PBO{;h!TU!9O4qRrz(3%_+j=C@VfMJ zuj_iN0zIq40dV8)19so6e!q9vVK_KF(HC4@uRK3z(EW?8#%fF7xy*tjisxeh2uAwD zOfBZ4eN&^6yWPiiO+#ODrzV>`x9diCR7*8t|B|SI`rT+wY9T9(60`;D$H5Y_bW+`p zK(nA=g}kvNWwDNmOkeHG#oeaHZLY+P8rhqFRD5CIK8+XB-XCV7Q_X8K2? z?wxN^YShF~F>Egk6A|YH+9ijHc2bG0UVab(HBs@fk+7cb%_V=N^w*|ht&IXMv`LJN z44Kp^vG4-tm+ec}wXi5Uu7RZ5ay$a!XU)4Anr_2OyEU>lo?ZEQ^og>mNKn~7cndAY ztNG>SCYhx}2P#K5ZVHWi5VmSM2Qcg)Kmd_qd?M*)?i4aSPd%%Gn3Ubv>p-|^r_4P6 zt$RQ;iX64}!}U4Hve(42#>SO%+v*Pe%h{ki0DAwug1xbkoo|!nc!CF#>A`@pwGx*c z^AlFq@lTow3D6=bdRvM4d{{?k7MFhjEgy|I1#~A{x{(#-&>%=EqagXiH;PNmwM#)E zA}}!2S1z%>x3PGvW)O`y>@=q_HPC_qhd=j|mfq(~uUlJF{vlJNS^cX*WwEVA6b4v0 zhO~5awY8(3>^HWciBMAy{E7|zDlAKHZq3i~7L0&LcBja4LrW*86|*y%e6He;;QHap z;d3iW^kk)=C37*MWD9tGE%2MAK1{fY4tSPA#S5gr)CF^55|6qIO-M#)tpnNHQY2V# zIiKp_4+2VEZpybzcJ}QA6MH2Ue!p4eu@j*PPElw+JYoDpzlWf&o$a+4!axf5bqVDY zf?B(&ZVI0jp21ygn96TfXMtywl)3tvWP-A+BUc(hCQ}12P1XDtO()Vb#3lDIKj%LZ z0(P#Ez+77rOQB{H-5xB3x&~5utETiM6Ki1^9|yqwu^d2}^%{=9VcQo? z0}s9E$&-xAs*_7RTZWecGD6flAHgrkW$<1mr@!+?>G3ndjb^ovNXo=TXmp;n+=c5y zl1eBD?U{A~U&tHfM?x?fU*XB+re}4!gy^Q9+s|dL)5BNLh7#Dp*V{$1v?$Qp+qeo( z6T54=E&=T^#Q)pOigEkGFkut$@v6k#Tjf9uG3Q48U z6NlH)yG=|?99H7J^v8=${6eFmqea!!2yfiD!IZ6;-LrnEQtceEKAhX1rO3buQX6Gl zWTf!>_qWBOm>Wk&PYDP2y54-}RZ)5N=FOWz{ob1t6q!!NQv@8g=5r1A=;`TKM)F^A zIUO|&4j#s4)i6I}v;1~>ejMgB+1%{4JKv1?=+S2{FBEZc@edAiC@J+7=yl@_SCCwtR?{#!9_U|OUT!OLf$gPOW|=%&rj(tcQSW)MKKxKbq}@sG zAvn=2rOQ--0EaZ&L#d)U9exFoO6=`66ZPk)a=4z%df`zWZ3nVm02wt7H()Y`_t)mgezqj4A#}xgL&vb%O!c{?eCBL+ibep z`E)UCP-&w>!2o z&h4tTHHdVy+J%G9>w(T+_ZtgKOG9n!TcO)E*RimZ)7ysNS=Mry`P@F~cDt(o`GOCr zXVn^wh&$Q?6=#U-cJ=X;(=lbognt6rdqKeht7UN{+wCc_>1vnuB7rA3I6)yH9^h_% zPk35%QCZ2kx4&;;ZvGd%T$PBqIn6%>1^LCrO=Dx_9gH#Jg0ODi6J};++|$zyB2NGO z`IDEI_qVI-L5Q%d?$pJFv!#_49L}84#gt5T|HX?J4b6z1ekUo3f#l)g!Fe>Im8DqV z8NhwE;vWV9)fUg^WtdrBvbeq7eRjA`5q;E5%CU{l2L1}uQ>Aa^WVRJ|8xjZxTU0i5b+S&+1WWeJBM@FQKzS; zzlI2c?R7ohWU*!^Kmr)ipc?m&{BG37$(vIy$-)Yxb^Ku6FN7 zugvZ2nrmx66N`lY3<|mxe7pM=%7dPKEkVdsdq`=8e9cBK)L$qMo;_z|3=V-&g`2P4 zVUv}Mjp=T;{QQYgY&@zN?z-AXtW>D4VXxMETA)#n9P4tVn4?-D;QNG%)n*L~DT>7` z1=2n3BRQ;E{pVXKXzhxBwC~BJiZ3RIsntzQ#lqK?knRwuCalzg{?E!1O)d}mCD6kv zY}g6*m%B-6X<-)sFULChLmt&1czfR^5e;{TZF%?Z zo%2pD3KkB|v=o6+kU(NQj9p|Y6@8zoass#3{-9S7=0Jo!nwLiMwGOr>qXskO`xE$4 zQ$!=`Hbx8DDXp%rE(^`3W9#bb#&c>+#*0fUDy#tGj=Nrc`}S=IO2FR9e8B#MRkv*B zMWw_3Q)c6*5FzkvkFl{E!|Am0N=o!b@-&iCQt;X!aVO2YY&J#$;SQ11oHm)B(5Q9% z(P`K3Pw|^ANcyvfJ%~+yeSyX6&0(R=tF55$)Mz+I=WuPXBa+D%_GSlS@D>IRPV-oi zkz%>^8weWfwE-Up`h@;fR@V#G{!|G)2rd{W*;z>pz*8cF>f;>{0G6$w?Z(I>H#fJJ zFJGQ)RczlyM_+6Up*Yq)H=QW0?TX=m*m$@(UXm&jM!hjzGuy>faonAl5}dVqaV`S9yf-Bu zzn+_$gC#&F6_5S|Yk*kyg9GcnzP@l4GeQy)61Y&@&W^c?s;bYA9}7^-I%2t^wk9jA zHb&@*O~wWE^~n$+lb81s6^D9f%qW-6dPUNofTIaI6 z)a2wD9buLl8ZY#^WACILT&xad<3m2w!vWjX=l&pI9c@ns`1zr4juq8+cKWGS*v_u3C@d1M;hKILO~=@rkZG7 znttH2va>_mfrIhAzkh#8Lz5dR_4dA&_ zn9Xl(Z`azMs>)KUij?3!{RU+ujDrY=O6fg3q1kx1RPJzr&AJ?HxISc8NF0y*tjbDH z{H@&TGsB`bH)vU$`yC93C5MWK$Um(Bt|r)cHs=#snpR z)74zCj5>P@t!M=7!7unccRE?7KWS=8>zsaHQyN?bx#%ec4-b*1)_jQ5JxM%f<2387 z3B}ckvI0##y;MjP3V3#wV7PA?*v*uUu_6&4e}6e7ViFR8Q&>3cw~7_E*}sBvg@)P=AFo5D2^q>(o-S4a>=2SH5{4HW$8IBh1B+iO zgVPPMb|+_Nc(KRZ)9Sd~&h`=X^+6{i3^fx+M=QOFqA_qSUS8f{02<`q z6UefaOXNHs66Hj5*yZ$H+Lc`FyQm|;hunQsRP48GZdaA@7f#z%sc27W-%17VHS0oP zBK9nyS09W2%_u3LzBX8*99W0fuV0h7!xHCP9IF#Y7=;{tc(CJQ_0+ z{_x>LgpRE2Rh&)s+64~pU9E;DRVjZ$j`WGJ(3U%>PcR4x#qI4`4Gav>@R@%=#w3#6 zhs|wjYVxG1x%dT%&=f%QFu3sP!S-|<)Pf%mxlfQdI5?0W5_UBD;`##Bc70WOww76WeRYl~;?Pd$!$JlPZOUq(*8vD- zWo7-Or>7TgYH0XfJoVL!7oWR%uAe~#23l%Z6j|+ZZh5+=L(jk-w|dWQ1DzwV0@AIJXPCy7TTG$EsKuu|(iz=vwltm1Z@U%yG_p z_u9i~mggFMji)McWn}uvdEA62$C^vo7tJQA0ff_E{xIW`fcn%7eF43BtiJxMPJ3tw z+p?)_%wEaRVEDfJ-4~|K9UT`}$3BcKEUAJ4gen!bepy+RaycqO%Uv;}`C2G(u4iwc zYBL5i(a~u@(Nifk|D2Xa*3sE{@7}#PB^{wu%70*2>WPz`_{$bOBcWJ+*X@jagn{w4 z#B}mxznf>Y%87-=Y^tHJ?^kqm^nDs3-qt)pF2{pU-LYI7Q&myEI5d6nd?>Idq!O_U zfr5k@zRmf13e^U)yi{(KA5=1$ix(j(akga?y&QhyiU0ppgI-0NB ziHE2s5Ba6+_d8kIL$(1|Le0&!cJRYzS%L&i`Tg4+q9z)wqyoF`sfx0D#~q~>^WJ`b z#DL>K+l>rUcP(q%yM>JQX=kPu4Uf^g$qyf2Eq84{^<`6Nt}wLMaC#l#GOa4OU!^x@ z9j7$kFa{Ce#M+t>7I_{9$eXgoQ|ILgpB2-jV1O$eQC@L!cz+?JOBX7auP{pF?92&>#nj{aIr=l!pNH$iRtqhUz%Avl+tP-|L((r&QnR1E(-qD3 z6<~M_yG>nJ*H*0G_C1~HDTs78x#obu#~u`(mfwvi;%R zyE8z!V7B?Lh=|C=#RVA|+27jQ*&I`Opu!clo0<@S5Fhi~+h+FGfROMx zEQZLRY!r0w?CsU{_XmZkIi`2~iH?a`9WSAQOaR=D5C2e7Qmz1qee~#2To&tMhG492`MdD5!5UfF4L_Xaa!8?Ev7}g)b2!$Pl=QEs=bz3#_Tds++4B zz^l2fZ3+ao^KK(fQT4-2dd-Hr00A4Jw*uH}>h2D(n|2AqWzgLjlvlq&YtZ*PN4>^B zC^uud} z0DS-9!(BN!IYb7`*4^QYK|y=^7ozkt^eKq&3X@Z}j4cG(`xr*f%&fM1Tw@oul0iXC zdsq_ng&_*A;1t?eZ_`F$A~naZlFUVTQu z&6*k-@067Ao;-O1e@Ku{M{75?v0?f_s;HtOYHUmiKOIPyL6MMv`9eG)=KLRiw@z51{pHK~`c;ef_GnBO`lAc#S(wRz=rUp-lyP4Xu0SHKL3y3kpP9TjN_bHj-RS@ zTJ}U9Z~9ZyWzHAGYZQiWc^6DJyhqJzGIw%c{}Vn>rsWbbaB=LCi`RDF3N!j7G+{z(rpv~s^%pKH&fSF3SJ( zV!DncPb!_-4K!bweq^Qk9Z2fpSyZl^`Q+b&+bL$3yeCnu61qk<%QM=4gTMo54RN~_k z4_rT8Ce?C(smiGJVkydu)qDmiFfb57iUFIu`(Tno(tMQ6d^iaRwcd}e+*hx$m`4U-xbo_3 z9U;=W!{Y*K^a%^Y!SnNkGfJtbs8HDCQcVmx_U`WH#9|%V-VUm z0(?NO8kSmbuC28}IlN&%>w$w%CE&skQ5H}Mxi1f7s?XLaG_|xMKr51bTne1}WUrmZ z0nqfyL>U7>(7B>vHLbY@A7j9R04AeBz{bRssR|v)l+XPGjO^yETTrek)vKeW5(V-R z$|I~G_w|JpoYbH<;ZCApKvQpTAY5^Fc^Ty`P{Icf9ylM3>Y)*GhJzv)7!{?w>0+d* z$qVQa&dFRUr=rrax7ZFnp4oUGlw=3E?-QWbEuEc<@E_#2Qdm>=^XQ-woPwGL;tElz z`Rq-r<*sa70z?GtUJt9{&!K!eYQSDplS%*hto`JocppM33{(UJfcSC;RUz-w4FvFp z?YMpC&W#?Jyn(jBYPaO^E^Xqp0kY(&&J*xUDHE3>$Qk)qob-3sY}OQ(4|G&Iyx z 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

HPBBe3 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 literal 0 HcmV?d00001 diff --git a/docsource/images/RFORA-basic-store-type-dialog.png b/docsource/images/RFORA-basic-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..ef99f91060a27461d0ced90a8050dbd7f0685c88 GIT binary patch literal 51335 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 literal 0 HcmV?d00001 diff --git a/docsource/images/RFORA-custom-fields-store-type-dialog.png b/docsource/images/RFORA-custom-fields-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..73f57c3c74f7db9b854be34a29426514b3b32b06 GIT binary patch literal 44469 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 smXUy+WEj@!m`TTCJ8 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 U2-Y$>_#s95oWj|p)0hAFZym3l)c^nh literal 0 HcmV?d00001 diff --git a/docsource/images/RFPEM-basic-store-type-dialog.png b/docsource/images/RFPEM-basic-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..1ad5309a5d29f5c8df3f80d3eacc8816441ad8a6 GIT binary patch literal 50797 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񔹋h*EHZ|bTL1=Xt6DX_y~^z527py+d7I|p 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 literal 0 HcmV?d00001 diff --git a/docsource/images/RFPEM-custom-fields-store-type-dialog.png b/docsource/images/RFPEM-custom-fields-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a3fb4c98ed2c50ff5d0a1ee6ed2430b6f58ce2 GIT binary patch literal 51959 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 D!6**5 literal 0 HcmV?d00001 diff --git a/docsource/images/RFPkcs12-advanced-store-type-dialog.png b/docsource/images/RFPkcs12-advanced-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..06bc1330ff9bdae62340242f418755b1824507de GIT binary patch literal 41690 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μ#BzJGyz8CTc(0bZ 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 z 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

HPBBe3 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 literal 0 HcmV?d00001 diff --git a/docsource/images/RFPkcs12-basic-store-type-dialog.png b/docsource/images/RFPkcs12-basic-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e9a4a8c8a7f28aba149d834a8055169fc78ccb GIT binary patch literal 51842 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 VZ<2gZE`CQ*Jf^0QDR=h9{{U0!BKiOT literal 0 HcmV?d00001 diff --git a/docsource/images/RFPkcs12-custom-fields-store-type-dialog.png b/docsource/images/RFPkcs12-custom-fields-store-type-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..acd59b16731670417ccefd020d15607921243327 GIT binary patch literal 40605 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�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%0D{NEl* z#aFf7jAc+?4$|(kyM#S!T^4aE zBUtWvZ zkTiex1AOOAb!NlUy`0O>Z6+%cri{iN`3o92=*w2@IJuk0GUVMY@-m*t=G8hC9pU9- zr)P=MyVGQHH@ncfc_cv#KNiWhPbz1i;AiU|y1|yp%ec^zn50A*tXJ2v+%fMHXO+I@ zzLMrtVyh%kE=ixpU;JTZTrP#-@m;r-G++Om*~{65aoG#K(v69wzr_}&-cnbussHv! zU2{H9zP3`3S*}q~*8iow?`)i0s9kaFHYHarJBzczhHb*x1-O_TsWxT>GQw`rV^3uL z7pmX0B@PmCszSg-T>a(R{U;Q5^Dv5-=sB6OGB>qYtgqhBr$pXA7<;|nc%X)Q&#t5W zD&-50-FiNR+Xb9+^z2Jv*~%{8ZkBC!tFK(?qrzuz|L!pQfee%{w&+OGFkJXu+HJbmfeXyuQ*v#r$q{?m?^(sr(iY$BOARFB`%nG`0nIb1nBP5%LTWG{eepS2Xy3>^J zyuJO@tj~B~s3-5c)+Jr{K9ABkwTUX8*^XU}`UPc9Q!+9f<@8o2<B+^HQ8#OCtwUiq#MJm+yH0R8fCT4Rn zmD08s$7z)M1jl`|=pJ1e3}6o^liENUF7Y)x((`9}UVlf9Svj%vWadr=@Xj`eOu$9E zXe3Tm`+?^TPD}Q)3DDqPdpH#yqGN>Rziz2ntSi$B*mYv(3*Q z_x8zmew5*7yHH<0wl(Vel;kSg3Rx2zJWJ&+mnXc|S6dEpH|qG5uJN0H)Rl?DMYJ^{ z)oBh=qdtfFy`?#GVg;=nylrZY9Lhd^jryg!2fh?fRkW7(Jd@Vb&9HgG8*l`1asHij zw$b(3VM|NBti?{_!C0vqt(H2gy=!)2Hopp03gd!{C*zALMRI=TS{ROeIcaL#PBkuA zN300fwIn;Yp5e6?j&goZI-@rEij*deh$K$in4u{u^#O zt=iQm=V#iq4W;FF2_a%pTh0yp^JlEu8C7&t5(*JAAd6(lYFT$ zFTYI_|Mj<2UY}Z2X)jA@mt3w`TvhM6s-@I?hQZk`*r16il&s)IXp5`ExCOQ75e9Kw znU*Jm`bNLx=u6#lMct|J!_qE6(G&XPl9Fz@j-LEBN>8W`kREjv@@Kq1pD$5VK%3>o z63xRS%&a;4%-8bQz}u90N)~*7&urC3`~wlzth*a*Zdb?A>^gd>C@0&JdTCGN#pIR# zAWDTby(Jw#p-`2Y`SCP)qbZN5(C9`dg)MXnGX0Z^E~V!}*O(pVQW@jhy?q!Gwf&+g zn>nmb{Wd$k*y}hoqq-E*U#7?^uU8PmYuG=KUo{?h%3Cb@o1XvF4N6!2+0;M-h4u~2 zz02e-1#JDRTx+Y6{KAuMxtH6shkobndStttV>Q)HxjN4IC4D^IBr0Vkg{m-ilU+>@ z6H3aw@$!#n@aiW}kM`pV64aqq^;QJ3GVzkc^ToNMYHU7;2ZuY*E*McdoxFYClUT3gc7^2}j|6#jaZ zCu_*a{cm1vep>$8X6vewn>y<0;To%@z_6ejBiUp(CKvjTqQtqYKEC$Q>8}s`- -## Overview -The Remote File Orchestrator Extension is a multi-purpose integration that can remotely manage a variety of file-based certificate stores and can easily be extended to manage others. The certificate store types that can be managed in the current version are: - -

-RFPkcs12 - -The RFPkcs12 store type can be used to manage any PKCS#12 compliant file format INCLUDING java keystores of type PKCS12. - -Use cases supported: -1. One-to-many trust entries - A trust entry is considered single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. -2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate identified with a custom alias. -3. A mix of trust and key entries. - -
- -
-RFJKS - -The RFJKS store type can be used to manage java keystores of types JKS or PKCS12. If creating a new java keystore and adding a certificate all via Keyfactor Command, the created java keystore will be of type PKCS12, as java keystores of type JKS have been deprecated as of JDK 9. - -Use cases supported: -1. One-to-many trust entries - A trust entry is considered single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. -2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate identified with a custom alias. -3. A mix of trust and key entries. - -
- -
-RFPEM - -The RFPEM store type can be used to manage PEM encoded files. - -Use cases supported: -1. Trust stores - A file with one-to-many certificates (no private keys, no certificate chains). -2. Single certificate stores with private key in the file. -3. Single certificate stores with certificate chain and private key in the file. -4. Single certificate stores with private key in an external file. -5. Single certificate stores with certificate chain in the file and private key in an external file - -NOTE: PEM stores may only have one private key (internal or external) associated with the store, as only one certificate/chain/private key combination can be stored in a PEM store supported by RFPEM. - -
- -
- -RFDER - -The RFDER store type can be used to manage DER encoded files. - -Use cases supported: -1. Single certificate stores with private key in an external file. -2. Single certificate stores with no private key. - -
- -
-RFKDB - -The RFKDB store type can be used to manage IBM Key Database Files (KDB) files. The IBM utility, GSKCAPICMD, is used to read and write certificates from and to the target store and is therefore required to be installed on the server where each KDB certificate store being managed resides, and its location MUST be in the system $Path. - -Use cases supported: -1. One-to-many trust entries - A trust entry is considered single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. -2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate identified with a custom alias. -3. A mix of trust and key entries. - -
- -
-RFORA - -The RFORA store type can be used to manage Pkcs12 Oracle Wallets. Please note that while this should work for Pkcs12 Oracle Wallets installed on both Windows and Linux servers, this has only been tested on wallets installed on Windows. Please note, when entering the Store Path for an Oracle Wallet in Keyfactor Command, make sure to INCLUDE the eWallet.p12 file name that by convention is the name of the Pkcs12 wallet file that gets created. - -Use cases supported: -1. One-to-many trust entries - A trust entry is considered single certificate without a private key in a certificate store. Each trust entry is identified with a custom alias. -2. One-to-many key entries - One-to-many certificates with private keys and optionally the full certificate chain. Each certificate identified with a custom alias. -3. A mix of trust and key entries. - -
- -The Keyfactor Univeral Orchestrator (UO) and RemoteFile Extension can be installed on either Windows or Linux operating systems as well as manage certificates residing on servers of both operating systems. A UO service managing certificates on remote servers is considered to be acting as an Orchestrator, while a UO service managing local certificates on the same server running the service is considered an Agent. When acting as an Orchestrator, connectivity from the orchestrator server hosting the RemoteFile extension to the orchestrated server hosting the certificate store(s) being managed is achieved via either an SSH (for Linux and possibly Windows orchestrated servers) or WinRM (for Windows orchestrated servers) connection. When acting as an agent, SSH/WinRM may still be used, OR the certificate store can be configured to bypass these and instead directly access the orchestrator server's file system. - -![](images/orchestrator-agent.png) - -Please review the [Prerequisites and Security Considerations](#prerequisites-and-security-considerations) and [Certificate Stores and Discovery Jobs](#certificate-stores-and-discovery-jobs) sections for more information on proper configuration and setup for these different architectures. The supported configurations of Universal Orchestrator hosts and managed orchestrated servers are detailed below: - -| | UO Installed on Windows | UO Installed on Linux | -|-----|-----|------| -|Orchestrated Server hosting certificate store(s) on remote Windows server|WinRM connection | SSH connection | -|Orchestrated Server hosting certificate store(s) on remote Linux server| SSH connection | SSH connection | -|Certificate store(s) on same server as orchestrator service (Agent)| WinRM connection or local file system | SSH connection or local file system | - -  -## Versioning - -The version number of a the Remote File Orchestrator Extension can be verified by right clicking on the RemoteFile.dll file in the Extensions/RemoteFile installation folder, selecting Properties, and then clicking on the Details tab. -  -  - -## Prerequisites and Security Considerations - -
-Certificate stores hosted on Linux servers: - -1. The Remote File Orchestrator Extension makes use of a few common Linux commands when managing stores on Linux servers. If the credentials you will be connecting with need elevated access to run these commands or to access the certificate store files these commands operate against, you must set up the user id as a sudoer with no password necessary and set the config.json "UseSudo" value to "Y". When RemoteFile is using orchestration, managing local or external certificate stores using SSH or WinRM, the security context is determined by the user id entered in the Keyfactor Command certificate store or discovery job screens. When RemoteFile is running as an agent, managing local stores only, the security context is the user id running the Keyfactor Command Universal Orchestrator service account. The full list of these commands below: - -|Shell Command|Used For| -|---|---| -|echo|Used to append a newline and terminate all commands sent.| -|find|Used by Discovery jobs to locate potential certificate stores on the file system.| -|cp|Used by Inventory and Management Add/Remove jobs to copy the certificate store file to a temporary file (only when an alternate download folder has been configured).| -|chown|Used by the Inventory and Management Add/Remove jobs to set the permissions on the temporary file (only when an alternate download folder has been configured).| -|tee|Used by Management Add/Remove jobs to copy the temporary uploaded certificate file to the certificate store file (only when an alternate upload folder has been configured).| -|rm|Used by Inventory and Management Add/Remove jobs to remove temporary files (only when an alternate upload/download folder has been configured).| -|install|Used by the Management Create Store job when initializing a certificate store file.| -|orapki|Oracle Wallet CLI utility used by Inventory and Management Add/Remove jobs to manipulate an Oracle Wallet certificate store. Used for the RFORA store type only.| -|gskcapicmd|IBM Key Database CLI utility used by Inventory and Management Add/Remove jobs to manipulate an IBM Key Database certificate store. Used for the RFKDB store type only.| - -2. When orchestrating management of local or external certificate stores, the Remote File Orchestrator Extension makes use of SFTP and/or SCP to transfer files to and from the orchestrated server. SFTP/SCP cannot make use of sudo, so all folders containing certificate stores will need to allow SFTP/SCP file transfer for the user assigned to the certificate store/discovery job. If this is not possible, set the values in the config.json apprpriately to use an alternative upload/download folder that does allow SFTP/SCP file transfer. If the certificate store/discovery job is configured for local (agent) access, the account running the Keyfactor Universal Orchestrator service must have access to read/write to the certificate store location, OR the config.json file must be set up to use the alternative upload/download file. - -3. SSH Authentication: When creating a Keyfactor certificate store for the remote file orchestrator extension, you may supply either a user id and password for the certificate store credentials (directly or through one of Keyfactor Command's PAM integrations), or supply a user id and SSH private key. When using a password, the connection is attempted using SSH Password Authentication. If that fails, Keyboard Interactive Authentication is automatically attempted. One or both of these must be enabled on the Linux box being managed. If private key authentication is desired, copy and paste the full SSH private key into the Password textbox (or pointer to the private key if using a PAM provider). Please note that SSH Private Key Authentication is not available when running locally as an agent. The following private key formats are supported: -- PKCS#1 (BEGIN RSA PRIVATE KEY) -- PKCS#8 (BEGIN PRIVATE KEY) -- ECDSA OPENSSH (BEGIN OPENSSH PRIVATE KEY) - -Please reference [Configuration File Setup](#configuration-file-setup) for more information on setting up the config.json file and [Certificate Stores and Discovery Jobs](#certificate-stores-and-discovery-jobs) for more information on the items above. -
- -
-Certificate stores hosted on Windows servers: -1. When orchestrating management of external (and potentially local) certificate stores, the RemoteFile Orchestrator Extension makes use of WinRM to connect to external certificate store servers. The security context used is the user id entered in the Keyfactor Command certificate store or discovery job screen. Make sure that WinRM is set up on the orchestrated server and that the WinRM port (by convention, 5585 for HTTP and 5586 for HTTPS) is part of the certificate store path when setting up your certificate stores/discovery jobs. If running as an agent, managing local certificate stores, local commands are run under the security context of the user account running the Keyfactor Universal Orchestrator Service. Please reference [Certificate Stores and Discovery Jobs](#certificate-stores-and-discovery-jobs) for more information on creating certificate stores for the RemoteFile Orchestrator Extension. - -
- -Please consult with your company's system administrator for more information on configuring SSH/SFTP/SCP or WinRM in your environment. - - -  -## Remote File Orchestrator Extension Installation -1. Review the [Prerequisites and Security Considerations](#prerequisites-and-security-considerations) section and make sure your environment is set up as required. -2. Refer to the [Creating Certificate Store Types](#creating-certificate-store-types) section to create the certificate store types you wish to manage. -3. Stop the Keyfactor Universal Orchestrator Service on the server you plan to install this extension to run on. -4. In the Keyfactor Orchestrator installation folder (by convention usually C:\Program Files\Keyfactor\Keyfactor Orchestrator for a Windows install or /opt/keyfactor/orchestrator/ for a Linux install), find the "Extensions" folder. Underneath that, create a new folder named "RemoteFile". You may choose to use a different name if you wish. -5. Download the latest version of the RemoteFile orchestrator extension from [GitHub](https://github.com/Keyfactor/remote-file-orchestrator). Click on the "Latest" release link on the right hand side of the main page and download the first zip file. -6. Copy the contents of the download installation zip file to the folder created in step 4. -7. (Optional) If you decide to create one or more certificate store types with short names different than the suggested values, edit the manifest.json file in the folder you created in step 4, and modify each "ShortName" in each "Certstores.{ShortName}.{Operation}" line with the ShortName you used to create the respective certificate store type. -8. Modify the config.json file to use the settings you desire. Please go to [Configuration File Setup](#configuration-file-setup) to learn more. -9. Start the Keyfactor Universal Orchestrator Service. - -
- -  -## Configuration File Setup - -The Remote File Orchestrator Extension uses a JSON configuration file. It is located in the {Keyfactor Orchestrator Installation Folder}\Extensions\RemoteFile. None of the values are required, and a description of each follows below: -{ - "UseSudo": "N", - "DefaultSudoImpersonatedUser": "", - "CreateStoreIfMissing": "N", - "UseNegotiate": "N", - "SeparateUploadFilePath": "", - "FileTransferProtocol": "SCP", - "DefaultLinuxPermissionsOnStoreCreation": "600", - "DefaultOwnerOnStoreCreation": "" -} - -
-UseSudo (Applicable for Linux hosted certificate stores only) - -* Determines whether to prefix Linux command with "sudo". This can be very helpful in ensuring that the user id running commands over an ssh connection uses "least permissions necessary" to process each task. Setting this value to "Y" will prefix all Linux commands with "sudo" with the expectation that the command being executed on the orchestrated Linux server will look in the sudoers file to determine whether the logged in ID has elevated permissions for that specific command. Setting this value to "N" will result in "sudo" not being added to Linux commands. -* Allowed values - Y/N -* Default value - N - -
- -
-DefaultSudoImpersonatedUser (Applicable for Linux hosted certificate stores only) - -* Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is set to an empty string, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see later in this section) as well as permissions to execute the commands listed in the "Prerequisites and Security Considerations" section above. This value will be used for all certificate stores managed by this orchestrator extension implementation UNLESS overriden by the SudoImpersonatedUser certificate store type custom field setting described later in the [Creating Certificate Store Types](#creating-certificate-store-types) section. -* Allowed values - Any valid user id that the destination Linux server will recognize -* Default value - blank (root will be used) - -
- -
-CreateStoreOnAddIfMissing - -* Determines, during a Management-Add job, if a certificate store should be created if it does not already exist. If set to "N", and the store referenced in the Management-Add job is not found, the job will return an error with a message stating that the store does not exist. If set to "Y", the store will be created and the certificate added to the certificate store. -* Allowed values - Y/N -* Default value - N - -
- -
-UseNegotiateAuth (Applicable for Windows hosted certificate stores only) - -* Determines if WinRM should use Negotiate (Y) when connecting to the remote server. -* Allowed values - Y/N -* Default value - N - -
- -
-SeparateUploadFilePath (Applicable for Linux hosted certificate stores only) - -* Set this to the path you wish to use as the location on the orchestrated server to upload/download and later remove temporary work files when processing jobs. If set to "" or not provided, the location of the certificate store itself will be used. File transfer is performed using the SCP or SFTP protocols (see the File TransferProtocol setting). -* Allowed values - Any valid, existing Linux path configured to allow SCP/SFTP file upload/download tranfers. -* Default value - blank (actual store path will be used) - -
- -
-FileTransferProtocol (Applicable for Linux hosted certificate stores only) - -* Determines the protocol to use when uploading/downloading files while processing a job. -* Allowed values - SCP, SFTP or Both. If "Both" is entered, SCP will be attempted first, and if that does not work, SFTP will be tried. -* Default value - SCP. - -
- -
-DefaultLinuxPermissionsOnStoreCreation (Applicable for Linux hosted certificate stores only) - -* The Linux file permissions that will be set on a new certificate store created via a Management Create job or a Management Add job where CreateStoreOnAddIsMissing is set to "Y". This value will be used for all certificate stores managed by this orchestrator instance unless overridden by the optional "Linux File Permissions on Store Creation" custom parameter setting on a specific certificate store. See the [Creating Certificate Store Types](#creating-certificate-store-types) section for more information on creating RemoteFile certificate store types. -* Allowed values - Any 3 digit value from 000-777. -* Default Value - 600. - -
- -
-DefaultOwnerOnStoreCreation (Applicable for Linux hosted certificate stores only) - -* When a Management job is run to remotely create the physical certificate store on a remote server, by default the file owner and group will be set to the user name associated with the Keyfactor certificate store. Setting DefaultOwnerOnStoreCreation to an alternate valid Linux user name will set that as the owner instead. The owner AND group may be supplied by adding a ":" as a delimitter between the owner and group values, such as ownerId:groupId. Supplying only the ownerId will set that value as the file owner. The group name will default to how the Linux "install" command handles assigning the group. The optional "Linux File Owner on Store Creation" custom parameter setting for a specific certificate store can override this value for a specific store. See the [Creating Certificate Store Types](#creating-certificate-store-types) section for more information on creating RemoteFile certificate store types. -* Allowed values - Any valid user id that the destination Linux server will recognize -* Default Value - blank (the ID associated with the Keyfactor certificate store will be used). - -
- -  -## Creating Certificate Store Types - -Below are the various certificate store types that the RemoteFile Orchestator Extension manages. To create a new Certificate Store Type in Keyfactor Command, first click on settings (the gear icon on the top right) => Certificate Store Types => Add. Next, follow the incstructions under each store type you wish to set up. - -
-RFPkcs12 - Pkcs12 formatted certificate file (including java keystores of type PKCS12) - -- Basic Tab: - - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFPkcs12**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. - -- Advanced Tab: - - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Required. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default - -- Custom Fields Tab: - - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. - - -- Entry Parameters Tab: - - - no additional entry parameters - -
- -
-RFJKS - Java keystore - -- Basic Tab: - - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFJKS**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. - -- Advanced Tab: - - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Required. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default - -- Custom Fields Tab: - - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above.**. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. - -- Entry Parameters Tab: - - - no additional entry parameters - -
- -
-RFPEM - PEM formatted certificate file - -- Basic Tab: - - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFPEM**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. - -- Advanced Tab: - - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Forbidden. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default - -- Custom Fields Tab: - - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above.**. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. - - **Name:** IsTrustStore, **Display Name:** Trust Store, **Type:** Bool, **Default Value:** false. This custom field is **not required**. Default value if not present is 'false'. If 'true', this store will be identified as a trust store. Any certificates attempting to be added via a Management-Add job that contain a private key will raise an error with an accompanying message. Multiple certificates may be added to the store in this use case. If set to 'false', this store can only contain a single certificate with chain and private key. Management-Add jobs attempting to add a certificate without a private key to a store marked as IsTrustStore = 'false' will raise an error with an accompanying message. - - **Name:** IncludesChain, **Display Name:** Store Includes Chain, **Type:** Bool, **Default Value:** false. This custom field is **not required**. Default value if not present is 'false'. If 'true' the full certificate chain, if sent by Keyfactor Command, will be stored in the file. The order of appearance is always assumed to be 1) end entity certificate, 2) issuing CA certificate, and 3) root certificate. If additional CA tiers are applicable, the order will be end entity certificate up to the root CA certificate. if set to 'false', only the end entity certificate and private key will be stored in this store. This setting is only valid when IsTrustStore = false. - - **Name:** SeparatePrivateKeyFilePath, **Display Name:** Separate Private Key File Location, **Type:** String, **Default Value:** empty. This custom field is **not required**. If empty, or not provided, it will be assumed that the private key for the certificate stored in this file will be inside the same file as the certificate. If the full path AND file name is put here, that location will be used to store the private key as an external file. This setting is only valid when IsTrustStore = false. - - **Name:** IsRSAPrivateKey, **Display Name:** Is RSA Private Key, **Type:** Bool, **Default Value:** false. This custom field is **not required**. Default value if not present is 'false'. If 'true' it will be assumed that the private key for the certificate is a PKCS#1 RSA formatted private key (BEGIN RSA PRIVATE KEY). If 'false' (default), encrypted/non-encrypted PKCS#8 (BEGIN [ENCRYPTED] PRIVATE KEY) is assumed If set to 'true' the store password **must** be set to "no password", as PKCS#1 does not support encrypted keys. This setting is only valid when IsTrustStore = false. - - **Name:** IgnorePrivateKeyOnInventory, **Display Name:** Ignore Private Key On Inventory, **Type:** Bool, **Default Value:** false. This custom field is **not required**. Default value if not present is 'false'. If 'true', inventory for this certificate store will be performed without accessing the certificate's private key or the store password. This will functionally make the store INVENTORY ONLY, as all certificates will be returned with "Private Key Entry" = false. Also, no certificate chain relationships will be maintained, and all certificates will be considered separate entries (basically a trust store). This may be useful in situations where the client does not know the store password at inventory run time, but would still like the certificates to be imported into Keyfactor Command. Once the correct store password is entered for the store, the client may de-select this option (change the value to False), schedule an inventory job, and then the appropriate private key entry and chain information should be properly stored in the Keyfactor Command location, allowing for renewal/removal of the certificate at a later time. - -- Entry Parameters Tab: - - - no additional entry parameters - -
- -
-RFDER - DER formatted certificate file - -- Basic Tab: - - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFDER**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. - -- Advanced Tab: - - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Forbidden. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default - -- Custom Fields Tab: - - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. - - **Name:** SeparatePrivateKeyFilePath, **Display Name:** Separate Private Key File Location, **Type:** String, **Default Value:** empty. This custom field is **not required**. If empty, or not provided, it will be assumed that there is no private key associated with this DER store. If the full path AND file name is entered here, that location will be used to store the private key as an external file in DER format. - -- Entry Parameters Tab: - - - no additional entry parameters - -
- -
-RFKDB - IBM Key Database File - -- Basic Tab: - - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFKDB**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. - -- Advanced Tab: - - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Required. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default - -- Custom Fields Tab: - - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. - -- Entry Parameters Tab: - - - no additional entry parameters - -
- -
-RFORA - Oracle Wallet - -- Basic Tab: - - - **Name** – Required. The display name you wish to use for the new Certificate Store Type. - - **Short Name** – Required. Suggested value - **RFORA**. If you choose to use a different value you must make the corresponding modification to the manifest.json file. See [Remote File Orchestrator Extension Installation](#remote-file-orchestrator-extension-installation), step 7 above. - - **Custom Capability** - Unchecked - - **Supported Job Types** - Inventory, Add, Remove, Create, and Discovery should all be checked. - - **Needs Server** - Checked - - **Blueprint Allowed** - Checked if you wish to make use of blueprinting. Please refer to the Keyfactor Command Reference Guide for more details on this feature. - - **Uses PowerShell** - Unchecked - - **Requires Store Password** - Checked. NOTE: This does not require that a certificate store have a password, but merely ensures that a user who creates a Keyfactor Command Certificate Store MUST click the Store Password button and either enter a password or check No Password. Certificate stores with no passwords are still possible for certain certificate store types when checking this option. - - **Supports Entry Password** - Unchecked. - -- Advanced Tab: - - - **Store Path Type** - Freeform - - **Supports Custom Alias** - Required. - - **Private Key Handling** - Optional. - - **PFX Password Style** - Default - -- Custom Fields Tab: - - - **Name:** LinuxFilePermissionsOnStoreCreation, **Display Name:** Linux File Permissions on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultLinuxPermissionsOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, must be 3 digits all between 0-7. This represents the Linux file permissions that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". - - **Name:** LinuxFileOwnerOnStoreCreation, **Display Name:** Linux File Owner on Store Creation, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultOwnerOnStoreCreation setting in config.json (see Configuration File Setup section above). This value, applicable to certificate stores hosted on Linux orchestrated servers only, represents the alternate Linux file owner:group that will be set for this certificate store if created via a Management Create job or a Management Add job where the config.json option CreateStoreOnAddIsMissing is set to "Y". If the group needs to be set as well, use a ":" as a delimitter between the owner and group values, such as ownerId:groupId. If the group is NOT supplied, the group value will be set per normal behavior of the Linux "Install" command. - - **Name:** SudoImpersonatedUser, **Display Name:** Sudo Impersonated User Id, **Type:** String, **Default Value:** none. This custom field is **not required**. If not present, value reverts back to the DefaultSudoImpersonatedUser setting in config.json (see Configuration File Setup section above). Used in conjunction with UseSudo="Y", this optional setting can be used to set an alternate user id you wish to impersonate with sudo. If this option does not exist or is empty, and nothing is set for DefaultSudoImpersonatedUser in your config.json, the default user of "root" will be used. Any user id used here must have permissions to SCP/SFTP files to/from each certificate store location OR the SeparateUploadFilePath (see Configuration File Setup section above) as well as permissions to execute the commands listed in the "Security Considerations" section above. - - **Name:** RemoveRootCertificate, **Display Name:** Remove Root Certificate from Chain, **Type:** Bool, **Default Value:** False. This custom field is **not required**. If not present, value is set to the Default Value. This value determines whether root CA certificates should be included in the certificate chain when adding/renewing certificates in Management Add jobs. If set to False, the root CA certificate is included in the chain. If True, it is removed and only the non-root CA certificates are included in the chain when adding the entry to the certificate store. - - **Name:** WorkFolder, **Display Name:** Work Folder, **Type:** String, **Default Value:** empty. This custom field is **required**. This required field should contain the path on the managed server where temporary work files can be created during Inventory and Management jobs. These files will be removed at the end of each job Please make sure that user id you have assigned to this certificate store will have access to create, modify, and delete files from this folder. - -- Entry Parameters Tab: - - - no additional entry parameters - -
- -  -## Certificate Stores and Discovery Jobs - -When creating new certificate stores or scheduling discovery jobs in Keyfactor Command, there are a few fields that are important to highlight here: - -
-Client Machine (certificate stores and discovery jobs) - -For Linux orchestrated servers, "Client Machine" should be the DNS name or IP address of the remote orchestrated server, while for Windows orchestratred servers, it should be the following URL format: protocol://dns-or-ip:port, where -* protocol is http or https, whatever your WinRM configuration uses -* dns-or-ip is the DNS name or IP address of the server -* port is the port WinRM is running under, usually 5985 for http and 5986 for https. - -Example: https://myserver.mydomain.com:5986 - -If running as an agent (accessing stores on the server where the Universal Orchestrator Services is installed ONLY), Client Machine can be entered as stated above, OR you can bypass SSH/WinRM and access the local file system directly by adding "|LocalMachine" to the end of your value for Client Machine, for example "1.1.1.1|LocalMachine". In this instance the value to the left of the pipe (|) is ignored. It is important to make sure the values for Client Machine and Store Path together are unique for each certificate store created, as Keyfactor Command requires the Store Type you select, along with Client Machine, and Store Path together must be unique. To ensure this, it is good practice to put the full DNS or IP Address to the left of the | character when setting up a cerificate store that will accessed without a WinRM/SSH connection. - -
- -
-Store Path (certificate stores only) - -For Linux orchestrated servers, "StorePath" will begin with a forward slash (/) and contain the full path and file name, including file extension if one exists (i.e. /folder/path/storename.ext). For Windows orchestrated servers, it should be the full path and file name, including file extension if one exists, beginning with a drive letter (i.e. c:\folder\path\storename.ext). - -
- -
-Server Username/Password (certificate stores and discovery jobs) - -A username and password (or valid PAM key if the username and/or password is stored in a KF Command configured PAM integration). The password can be an SSH private key if connecting via SSH to a server using SSH private key authentication. If acting as an *agent* using local file access, just check "No Value" for the username and password. - -
-
-Directories to Search (discovery jobs only) - -Enter one or more comma delimitted file paths to search (please reference the Keyfactor Command Reference Guide for more information), but there is also a special value that can be used on Windows orchestrated servers instead - "fullscan". Entering fullscan in this field will tell the RemoteFile discovery job to search all available drive letters at the root and recursively search all of them for files matching the other search criteria. - -
- -
-Extensions (discovery jobs only) - -In addition to entering one or more comma delimitted extensions to search for (please reference the Keyfactor Command Reference Guide for more information), a reserved value of "noext" can be used that will cause the RemoteFile discovery job to search for files that do not have an extension. This value can be chained with other extensions using the comma delimiter. For example, entering pem,jks,noext will cause the RemoteFile discovery job to return file locations with extensions of "pem", "jks", *and* files that do not have extensions. - -
- -Please refer to the Keyfactor Command Reference Guide for complete information on creating certificate stores and scheduling discovery jobs in Keyfactor Command. -  -  -## Developer Notes - -The Remote File Orchestrator Extension is meant to be extended to be used for other file based certificate store types than the ones referenced above. The advantage to extending this integration rather than creating a new one is that the configuration, remoting, and Inventory/Management/Discovery logic is already written. The developer needs to only implement a few classes and write code to convert the destired file based store to a common format. This section describes the steps necessary to add additional store/file types. Please note that familiarity with the [.Net Core BouncyCastle cryptography library](https://github.com/bcgit/bc-csharp) is a prerequisite for adding additional supported file/store types. - -Steps to create a new supported file based certificate store type: - -1. Clone this repository from GitHub -2. Open the .net core solution in the IDE of your choice -3. Under the ImplementationStoreTypes folder, create a new folder named for the new certificate store type -4. Create a new class (with namespace of Keyfactor.Extensions.Orchestrator.RemoteFile.{NewType}) in the new folder that will implement ICertificateStoreSerializer. By convention, {StoreTypeName}CertificateSerializer would be a good choice for the class name. This interface requires you to implement three methods: - - DesrializeRemoteCertificateStore - This method takes in a byte array containing the contents of file based store you are managing. The developer will need to convert that to an Org.BouncyCastle.Pkcs.Pkcs12Store class and return it. - - SerializeRemoteCertificateStore - This method takes in an Org.BouncyCastle.Pkcs.Pkcs12Store and converts it to a collection of custom file representations. - - GetPrivateKeyPath - This method returns the location of the external private key file for single certificate stores. Currently this is only used for RFPEM, and all other implementations return NULL for this method. If this is not applicable to your implementation just return a NULL value for this method. -5. Create an Inventory.cs class (with namespace of Keyfactor.Extensions.Orchestrator.RemoteFile.{NewType}) under the new folder and have it inherit InventoryBase. Override the internal GetCertificateStoreSerializer() method with a one line implementation returning a new instantiation of the class created in step 4. -6. Create a Management.cs class (with namespace of Keyfactor.Extensions.Orchestrator.RemoteFile.{NewType}) under the new folder and have it inherit ManagementBase. Override the internal GetCertificateStoreSerializer() method with a one line implementation returning a new instantiation of the class created in step 4. -7. Modify the manifest.json file to add three new sections (for Inventory, Management, and Discovery). Make sure for each, the "NewType" in Certstores.{NewType}.{Operation}, matches what you will use for the certificate store type short name in Keyfactor Command. On the "TypeFullName" line for all three sections, make sure the namespace matches what you used for your new classes. Note that the namespace for Discovery uses a common class for all supported types. Discovery is a common implementation for all supported store types. -8. After compiling, move all compiled files, including the config.json and manifest.json to {Keyfactor Orchestrator Installation Folder}\Extensions\RemoteFile. -9. Create the certificate store type in Keyfactor Command -10. Add a new CURL script to build the proper Keyfactor Command certificate store type and place it under "Certificate Store Type CURL Scripts". The name of the file should match the ShortName you are using for the new store type. -11. Update the documenation in readme_source.md by adding a new section under [Creating Certificate Store Types](#creating-certificate-store-types) for this new supported file based store type. Include a pointer to the CURL script created in step 10. -  -  -## License -[Apache](https://apache.org/licenses/LICENSE-2.0) -