From 6dcfb9b381750571acfe6cd1ee6d1040e48fdbd0 Mon Sep 17 00:00:00 2001 From: Kamalgurna Date: Mon, 28 Sep 2026 20:07:45 -0400 Subject: [PATCH 1/5] Install certificate Solution Ninja Install certificate Solution Ninja --- .../install-certificate-macintosh.md | 54 +++++ .../install-certificate-windows.md | 54 +++++ .../install-certificate-macintosh.md | 38 ++++ .../install-certificate-servers.md | 38 ++++ .../install-certificate-workstations.md | 38 ++++ .../cpval-enable-certificate-deployment.md | 40 ++++ .../cpval-mac-certificate-download-url.md | 40 ++++ .../cpval-mac-certstorelocation.md | 40 ++++ .../cpval-win-certificate-download-url.md | 40 ++++ .../cpval-win-certstorelocation.md | 40 ++++ docs/solutions/install-certifcates-ninja.md | 210 ++++++++++++++++++ .../image1.webp | Bin 0 -> 7760 bytes .../image1.webp | Bin 0 -> 16352 bytes .../image1.webp | Bin 0 -> 8032 bytes .../image1.webp | Bin 0 -> 8162 bytes .../image1.webp | Bin 0 -> 18142 bytes .../image1.webp | Bin 0 -> 15452 bytes .../image1.webp | Bin 0 -> 14740 bytes .../image1.webp | Bin 0 -> 8204 bytes 19 files changed, 632 insertions(+) create mode 100644 docs/ninjaone/automations/install-certificate-macintosh.md create mode 100644 docs/ninjaone/automations/install-certificate-windows.md create mode 100644 docs/ninjaone/compound-conditions/install-certificate-macintosh.md create mode 100644 docs/ninjaone/compound-conditions/install-certificate-servers.md create mode 100644 docs/ninjaone/compound-conditions/install-certificate-workstations.md create mode 100644 docs/ninjaone/custom-fields/cpval-enable-certificate-deployment.md create mode 100644 docs/ninjaone/custom-fields/cpval-mac-certificate-download-url.md create mode 100644 docs/ninjaone/custom-fields/cpval-mac-certstorelocation.md create mode 100644 docs/ninjaone/custom-fields/cpval-win-certificate-download-url.md create mode 100644 docs/ninjaone/custom-fields/cpval-win-certstorelocation.md create mode 100644 docs/solutions/install-certifcates-ninja.md create mode 100644 static/img/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5/image1.webp create mode 100644 static/img/docs/3f49f6d9-758b-49d6-b425-7e816270aab2/image1.webp create mode 100644 static/img/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740/image1.webp create mode 100644 static/img/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370/image1.webp create mode 100644 static/img/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e/image1.webp create mode 100644 static/img/docs/d3f49f6d9-758b-49d6-b425-7e816270aab2/image1.webp create mode 100644 static/img/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e/image1.webp create mode 100644 static/img/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc/image1.webp diff --git a/docs/ninjaone/automations/install-certificate-macintosh.md b/docs/ninjaone/automations/install-certificate-macintosh.md new file mode 100644 index 000000000..cbce5dfdd --- /dev/null +++ b/docs/ninjaone/automations/install-certificate-macintosh.md @@ -0,0 +1,54 @@ +--- +id: 'c4cb39c2-2b84-44d4-985a-90e297c5c85e' +slug: /c4cb39c2-2b84-44d4-985a-90e297c5c85e +title: 'Install Certificate - Macintosh' +title_meta: 'Install Certificate - Macintosh' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'This script installs the certificate to a defined certificate location on MAC machines.' +tags: ['installation', 'security', 'setup'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Overview +This script installs the certificate to a defined certificate location on MAC machines. If no particular location is defined, it will import the certificate at the root location of the machine and apply it to the entire system. + +## Sample Run + +![Image1](../../../static/img/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e/image1.webp) + +## Dependencies + +- [Custom Field - cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740) +- [Custom Field - cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) +- [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) + +## Parameters + +| Name | Example | Accepted Values | Required | Default | Type | Description | +| ---- | ------- | --------------- | -------- | ------- | ---- | ----------- | +|Certificate Download URL| `https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer` | - | `False` | - | Text/String | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | +| CertStoreLocation | `/System/Library/Keychains/SystemRootCertificates.keychain` | - | `False` | - | Text/String | Particular keychain to import a certificate on a MAC machine. It could be something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. If nothing is mentioned in the parameter, it will use the default system-wide keychain, applying trusted root certificates to the entire system, i.e., /Library/Keychains/System.keychain. | + +## Custom Fields + +| Field Name | Type | Mandatory | Scope | Description | +| ---------- | ---- | --------- | ----- | ----------- | +| [Custom Field - cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740) | Text | `False` | `Organization`, `Location`, `Device` | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | +| [Custom Field - cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) | Text | `False` | `Organization`, `Location`, `Device` | Particular keychain to import a certificate on a MAC machine. Something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. Default : /Library/Keychains/System.keychain | + +## Automation Setup/Import + +[Automation Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/scripts/install-certificate-macintosh.ps1) + +## Output + +- Activity Details + +## Changelog + +### 2026-09-28 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/automations/install-certificate-windows.md b/docs/ninjaone/automations/install-certificate-windows.md new file mode 100644 index 000000000..f28c9db2a --- /dev/null +++ b/docs/ninjaone/automations/install-certificate-windows.md @@ -0,0 +1,54 @@ +--- +id: '3f49f6d9-758b-49d6-b425-7e816270aab2' +slug: /3f49f6d9-758b-49d6-b425-7e816270aab2 +title: 'Install Certificate - Windows' +title_meta: 'Install Certificate - Windows' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'This script installs the certificate to a defined certificate location on Windows machines.' +tags: ['installation', 'security', 'setup', 'windows'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Overview +This script installs the certificate to a defined certificate location on Windows machines. If no particular location is defined, it will import the certificate at the root location of the machine and apply it to the entire system. + +## Sample Run + +![Image1](../../../static/img/docs/3f49f6d9-758b-49d6-b425-7e816270aab2/image1.webp) + +## Dependencies + +- [Custom Field - cPVAL Win Certificate Download URL](/docs/c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) +- [Custom Field - cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) +- [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) + +## Parameters + +| Name | Example | Accepted Values | Required | Default | Type | Description | +| ---- | ------- | --------------- | -------- | ------- | ---- | ----------- | +|Certificate Download URL| `https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer` | - | `False` | - | Text/String | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | +| CertStoreLocation | `Cert:/CurrentUser/Root` | - | `False` | - | Text/String | A particular certificate store on a Windows system to import the certificate. It could be something like Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. If nothing is mentioned in the parameter, it will use the default store location, i.e., Cert:/LocalMachine/Root. | + +## Custom Fields + +| Field Name | Type | Mandatory | Scope | Description | +| ---------- | ---- | --------- | ----- | ----------- | +| [Custom Field - cPVAL Win Certificate Download URL](/docs/c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) | Text | `False` | `Organization`, `Location`, `Device` | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | +| [Custom Field - cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370)| Text | `False` | `Organization`, `Location`, `Device` | A particular certificate store on a Windows system to import the certificate. E.g. Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. Default location : 'Cert:\LocalMachine\Root' | + +## Automation Setup/Import + +[Automation Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/scripts/install-certificate-windows.ps1) + +## Output + +- Activity Details + +## Changelog + +### 2026-09-28 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/compound-conditions/install-certificate-macintosh.md b/docs/ninjaone/compound-conditions/install-certificate-macintosh.md new file mode 100644 index 000000000..e95aedaf4 --- /dev/null +++ b/docs/ninjaone/compound-conditions/install-certificate-macintosh.md @@ -0,0 +1,38 @@ +--- +id: 'bb552db9-554d-4b72-9492-bf644aadda6e' +slug: /bb552db9-554d-4b72-9492-bf644aadda6e +title: 'Install Certificate - Macintosh' +title_meta: 'Install Certificate - Macintosh' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'Triggers the `Install Certificate - Macintosh` automation on Macintosh where certification installation is enabled for Macintosh from `cPVAL Enable Certificate Deployment` custom field.' +tags: ['installation', 'security', 'setup'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Summary +Triggers the [Automation - Install Certificate - Macintosh](/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e) on Macintosh where certification installation is enabled for Macintosh using [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). + +## Details + +- **Name:** `Install Certificate - Macintosh` +- **Description:** `Triggers the 'Install Certificate - Macintosh' automation on Macintosh where certification installation is enabled for Macintosh from 'cPVAL Enable Certificate Deployment' custom field.` +- **Recommended Agent Policy:** `MAC Policy` + +## Dependencies + +- [Automation - Install Certificate - Macintosh](/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e) +- [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) +- [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) + +## Compound Condition Creation + +- [Compound Condition Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/compound-conditions/install-certificate-macintosh.toml) + +## Changelog + +### 2026-09-28 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/compound-conditions/install-certificate-servers.md b/docs/ninjaone/compound-conditions/install-certificate-servers.md new file mode 100644 index 000000000..d75e126b2 --- /dev/null +++ b/docs/ninjaone/compound-conditions/install-certificate-servers.md @@ -0,0 +1,38 @@ +--- +id: 'c02dffe5-9db7-4a86-8b39-8c6a6b9fc17d' +slug: /c02dffe5-9db7-4a86-8b39-8c6a6b9fc17d +title: 'Install Certificate - Servers' +title_meta: 'Install Certificate - Servers' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'Triggers the `Install Certificate - Windows` automation on Windows Servers where certification installation is enabled for windows Servers from `cPVAL Enable Certificate Deployment` custom field.' +tags: ['installation', 'security', 'setup'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Summary +Triggers the [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) on Windows Servers where certification installation is enabled for windows Servers using [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). + +## Details + +- **Name:** `Install Certificate - Servers` +- **Description:** `Triggers the 'Install Certificate - Windows' automation on Windows Servers where certification installation is enabled for windows Servers from 'cPVAL Enable Certificate Deployment' custom field.` +- **Recommended Agent Policy:** `Windows Servers [Default]` + +## Dependencies + +- [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) +- [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) +- [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) + +## Compound Condition Creation + +- [Compound Condition Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/compound-conditions/install-certificate-servers.toml) + +## Changelog + +### 2026-09-28 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/compound-conditions/install-certificate-workstations.md b/docs/ninjaone/compound-conditions/install-certificate-workstations.md new file mode 100644 index 000000000..79c049d1e --- /dev/null +++ b/docs/ninjaone/compound-conditions/install-certificate-workstations.md @@ -0,0 +1,38 @@ +--- +id: 'fe460488-617b-4fc6-944e-5f8cf4c76516' +slug: /fe460488-617b-4fc6-944e-5f8cf4c76516 +title: 'Install Certificate - Workstations' +title_meta: 'Install Certificate - Workstations' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'Triggers the `Install Certificate - Windows` automation on Windows Workstations where certification installation is enabled for windows workstations from `cPVAL Enable Certificate Deployment` custom field.' +tags: ['installation', 'security', 'setup'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Summary +Triggers the [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) on Windows Workstations where certification installation is enabled for windows workstations using [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). + +## Details + +- **Name:** `Install Certificate - Workstations` +- **Description:** `Triggers the 'Install Certificate - Windows' automation on Windows Workstations where certification installation is enabled for windows workstations from 'cPVAL Enable Certificate Deployment' custom field.` +- **Recommended Agent Policy:** `Windows Workstation [Default]` + +## Dependencies + +- [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) +- [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) +- [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) + +## Compound Condition Creation + +- [Compound Condition Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/compound-conditions/install-certificate-workstations.toml) + +## Changelog + +### 2026-09-28 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/custom-fields/cpval-enable-certificate-deployment.md b/docs/ninjaone/custom-fields/cpval-enable-certificate-deployment.md new file mode 100644 index 000000000..f1f4241ac --- /dev/null +++ b/docs/ninjaone/custom-fields/cpval-enable-certificate-deployment.md @@ -0,0 +1,40 @@ +--- +id: 'd4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e' +slug: /d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e +title: 'cPVAL Enable Certificate Deployment' +title_meta: 'cPVAL Enable Certificate Deployment' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'Custom Field to select the operating systems on which the certificate should be deployed.' +tags: ['installation', 'security', 'setup', 'windows'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Summary +Custom Field to select the operating systems on which the certificate should be deployed. + +## Details + +| Label | Field Name | Definition Scope | Type | Required | Default Value | Options | Technician Permission | Automation Permission | API Permission | Description | Tool Tip | Footer Text | Custom Field Tab Name | +| ----- | ---- | ---------------- | ---- | -------- | ------------- | ------------- | --------------------- | --------------------- | -------------- | ----------- | -------- | ----------- | ----------- | +| cPVAL Enable Certificate Deployment | cpvalEnableCertificateDeployment | `Organization`, `Location`, `Device` | Drop-down | False | | | Editable | Read_Write | Read_Write | Select the operating systems on which the certificate should be deployed. | Select the operating systems on which the certificate should be deployed. | Select the operating systems on which the certificate should be deployed. | Install Certificate | + +## Dependencies + +- [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) + +## Custom Field Creation + +- [Custom Field Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/custom-fields/cpval-enable-certificate-deployment.toml) + +## Sample Screenshot + +![Image1](../../../static/img/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e/image1.webp) + +## Changelog + +### 2026-09-28 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/custom-fields/cpval-mac-certificate-download-url.md b/docs/ninjaone/custom-fields/cpval-mac-certificate-download-url.md new file mode 100644 index 000000000..c7f5bbe8f --- /dev/null +++ b/docs/ninjaone/custom-fields/cpval-mac-certificate-download-url.md @@ -0,0 +1,40 @@ +--- +id: '6771a3e9-b9e9-4347-afb7-68c5fc5cf740' +slug: /6771a3e9-b9e9-4347-afb7-68c5fc5cf740 +title: 'cPVAL MAC Certificate Download URL' +title_meta: 'cPVAL MAC Certificate Download URL' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'Custom Field to add direct download URL of the certificate.' +tags: ['installation', 'security', 'setup', 'windows'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Summary +Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer + +## Details + +| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Description | Tool Tip | Footer Text | Custom Field Tab Name | +| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | +| cPVAL MAC Certificate Download URL | cpvalMacCertificateDownloadUrl | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | Direct download URL of the certificate for Windows Machines. | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | SDirect download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | Install Certificate | + +## Dependencies + +- [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) + +## Custom Field Creation + +- [Custom Field Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/custom-fields/cpval-mac-certificate-download-url.toml) + +## Sample Screenshot + +![Image1](../../../static/img/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740/image1.webp) + +## Changelog + +### 2026-09-28 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/custom-fields/cpval-mac-certstorelocation.md b/docs/ninjaone/custom-fields/cpval-mac-certstorelocation.md new file mode 100644 index 000000000..7efac1e5a --- /dev/null +++ b/docs/ninjaone/custom-fields/cpval-mac-certstorelocation.md @@ -0,0 +1,40 @@ +--- +id: 'fdaeb10a-efad-47d0-baf4-fd9ee6c074dc' +slug: /fdaeb10a-efad-47d0-baf4-fd9ee6c074dc +title: 'cPVAL MAC CertStoreLocation' +title_meta: 'cPVAL MAC CertStoreLocation' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'Custom Field to add a particular keychain to import a certificate on a MAC machine.' +tags: ['installation', 'security', 'setup', 'windows'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Summary +Custom Field to add a Particular keychain to import a certificate on a MAC machine. It could be something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. If nothing is mentioned in the parameter, it will use the default system-wide keychain, applying trusted root certificates to the entire system, i.e., /Library/Keychains/System.keychain. + +## Details + +| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Description | Tool Tip | Footer Text | Custom Field Tab Name | +| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | +| cPVAL MAC CertStoreLocation | cpvalMacCertstorelocation | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | Particular keychain to import a certificate on a MAC machine. Something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. Default : /Library/Keychains/System.keychain | Particular keychain to import a certificate on a MAC machine. Something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. Default : /Library/Keychains/System.keychain | Particular keychain to import a certificate on a MAC machine. Something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. Default : /Library/Keychains/System.keychain | Install Certificate | + +## Dependencies + +- [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) + +## Custom Field Creation + +- [Custom Field Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/custom-fields/cpval-mac-certstorelocation.toml) + +## Sample Screenshot + +![Image1](../../../static/img/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc/image1.webp) + +## Changelog + +### 2026-09-28 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/custom-fields/cpval-win-certificate-download-url.md b/docs/ninjaone/custom-fields/cpval-win-certificate-download-url.md new file mode 100644 index 000000000..54c9c9d95 --- /dev/null +++ b/docs/ninjaone/custom-fields/cpval-win-certificate-download-url.md @@ -0,0 +1,40 @@ +--- +id: '1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5' +slug: /1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5 +title: 'cPVAL Win Certificate Download URL' +title_meta: 'cPVAL Win Certificate Download URL' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'Custom Field to add direct download URL of the certificate.' +tags: ['installation', 'security', 'setup', 'windows'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Summary +Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer + +## Details + +| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Description | Tool Tip | Footer Text | Custom Field Tab Name | +| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | +| cPVAL Win Certificate Download URL | cpvalWinCertificateDownloadUrl | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | Direct download URL of the certificate for Windows Machines. | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | SDirect download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | Install Certificate | + +## Dependencies + +- [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) + +## Custom Field Creation + +- [Custom Field Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/custom-fields/cpval-win-certificate-download-url.toml) + +## Sample Screenshot + +![Image1](../../../static/img/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5/image1.webp) + +## Changelog + +### 2026-09-28 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/custom-fields/cpval-win-certstorelocation.md b/docs/ninjaone/custom-fields/cpval-win-certstorelocation.md new file mode 100644 index 000000000..03c891142 --- /dev/null +++ b/docs/ninjaone/custom-fields/cpval-win-certstorelocation.md @@ -0,0 +1,40 @@ +--- +id: '73a3849d-464c-4bf1-ae15-a93a9bd54370' +slug: /73a3849d-464c-4bf1-ae15-a93a9bd54370 +title: 'cPVAL Win CertStoreLocation' +title_meta: 'cPVAL Win CertStoreLocation' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'Custom Field to add a particular certificate store on a Windows system to import the certificate.' +tags: ['installation', 'security', 'setup', 'windows'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Summary +Custom Field to add a particular certificate store on a Windows system to import the certificate. It could be something like Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. If nothing is mentioned in the parameter, it will use the default store location, i.e., Cert:/LocalMachine/Root. + +## Details + +| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Description | Tool Tip | Footer Text | Custom Field Tab Name | +| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | +| cPVAL Win CertStoreLocation | cpvalWinCertstorelocation | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | A particular certificate store on a Windows system to import the certificate. E.g. Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. Default location : 'Cert:\LocalMachine\Root'. | A particular certificate store on a Windows system to import the certificate. E.g. Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. Default location : 'Cert:\LocalMachine\Root' | A particular certificate store on a Windows system to import the certificate. E.g. Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. Default location : 'Cert:\LocalMachine\Root' | Install Certificate | + +## Dependencies + +- [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) + +## Custom Field Creation + +- [Custom Field Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/custom-fields/cpval-win-certstorelocation.toml) + +## Sample Screenshot + +![Image1](../../../static/img/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370/image1.webp) + +## Changelog + +### 2026-09-28 + +- Initial version of the document \ No newline at end of file diff --git a/docs/solutions/install-certifcates-ninja.md b/docs/solutions/install-certifcates-ninja.md new file mode 100644 index 000000000..91dddc5d3 --- /dev/null +++ b/docs/solutions/install-certifcates-ninja.md @@ -0,0 +1,210 @@ +--- +id: '12034de3-aa3a-4f6c-89da-a6f229e6fbec' +slug: /12034de3-aa3a-4f6c-89da-a6f229e6fbec +title: 'Install Certificates - Windows/Mac' +title_meta: 'Install Certificates - Windows/Mac' +keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] +description: 'Manages the deployment of certificates to supported operating systems' +tags: ['installation', 'security', 'setup'] +draft: false +unlisted: false +last_update: + date: 2026-09-28 +--- + +## Purpose + +This solution manages the deployment of certificates to supported operating systems using **NinjaOne custom fields** and automated deployment conditions. + +The solution supports the following platforms: + +* **Windows Workstations** +* **Windows Servers** +* **macOS** + +Users can centrally configure the certificate download URL, certificate store or keychain location, and the operating systems on which the certificate should be deployed. The appropriate automation is then triggered automatically based on the endpoint's operating system and deployment configuration. + +### Key Capabilities + +1. **Platform Support** + + The solution is designed for **Windows Workstations, Windows Servers, and macOS endpoints**. + +2. **Operating System Selection** + + The [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field is used to select the operating systems on which certificate deployment should be enabled. + +3. **Windows Certificate Deployment** + + Windows certificates can be downloaded from a specified URL and imported into a defined Windows certificate store. + + The certificate store can be customized, such as: + + * `Cert:/LocalMachine/Root` + * `Cert:/LocalMachine/My` + * `Cert:/CurrentUser/Root` + + If no store location is specified, the solution uses `Cert:/LocalMachine/Root` by default. + +4. **macOS Certificate Deployment** + + macOS certificates can be downloaded from a specified URL and imported into a defined keychain. + + The keychain can be customized, such as: + + * `/System/Library/Keychains/SystemRootCertificates.keychain` + * `/Users/YourUsername/Library/Keychains/login.keychain` + * `/Library/Keychains/System.keychain` + + If no keychain is specified, the solution uses `/Library/Keychains/System.keychain` by default. + +5. **Centralized Configuration** + + Certificate deployment settings are managed through NinjaOne custom fields, allowing administrators to configure certificate deployment without modifying the automation scripts. + +6. **Automated Platform Targeting** + + Separate compound conditions are used to target Windows Workstations, Windows Servers, and macOS endpoints. This ensures that the appropriate certificate installation automation is executed on the applicable platform. + + +## Associated Content + +### Custom Fields + +| Content | Purpose | +|-----------------------------------------------------|-------------------------------------------------| +| [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) | Custom Field to select the operating systems on which the certificate should be deployed. | +| [Custom Field - cPVAL Win Certificate Download URL](/docs/c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) | Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | +| [Custom Field - cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) | Custom Field to add a particular certificate store on a Windows system to import the certificate. It could be something like Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. If nothing is mentioned in the parameter, it will use the default store location, i.e., Cert:/LocalMachine/Root. | +| [Custom Field - cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740)| Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer. | +| [Custom Field - cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) | Custom Field to add a Particular keychain to import a certificate on a MAC machine. It could be something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. If nothing is mentioned in the parameter, it will use the default system-wide keychain, applying trusted root certificates to the entire system, i.e., /Library/Keychains/System.keychain. | + +### Automation + +| Name | Purpose | +| ---------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) | This script installs the certificate to a defined certificate location on Windows machines. If no particular location is defined, it will import the certificate at the root location of the machine and apply it to the entire system. | +| [Automation - Install Certificate - Macintosh](/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e) | This script installs the certificate to a defined certificate location on MAC machines. If no particular location is defined, it will import the certificate at the root location of the machine and apply it to the entire system. | + + +### Compound Conditions + +| Name | Purpose | +| ---------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| [Compound Condition - Install Certificate - Workstations](/docs/fe460488-617b-4fc6-944e-5f8cf4c76516) | Triggers the [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) on Windows Workstations where certification installation is enabled for windows workstations using [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). | +| [Compound Condition - Install Certificate - Servers](/docs/c02dffe5-9db7-4a86-8b39-8c6a6b9fc17d) | Triggers the [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) on Windows Servers where certification installation is enabled for windows Servers using [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). | +|[Compound Condition - Install Certificate - Macintosh](/docs/bb552db9-554d-4b72-9492-bf644aadda6e) | Triggers the [Automation - Install Certificate - Macintosh](/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e) on Macintosh where certification installation is enabled for Macintosh using [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). | + +## Implementation + +### Step 1: Create the Following Custom Fields + +Create all the custom fields listed below in NinjaOne. These are required for the solution to function correctly. + +* [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) +* [cPVAL Win Certificate Download URL](/docs/c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) +* [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) +* [cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740) +* [cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) + +### Step 2: Configure Certificate Deployment + +Configure the [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field to select the operating systems that should receive the certificate. + +Configure the appropriate certificate download URL and certificate store/keychain location for each selected platform. + +For Windows endpoints: + +* Specify the certificate download URL in [cPVAL Win Certificate Download URL](/docs/c5e34b8-839e-44b0-87ad-d2cb7e21bdd5). +* Optionally specify the certificate store in [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370). +* If no certificate store is specified, `Cert:/LocalMachine/Root` is used. + +For macOS endpoints: + +* Specify the certificate download URL in [cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740). +* Optionally specify the keychain in [cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc). +* If no keychain is specified, `/Library/Keychains/System.keychain` is used. + +### Step 3: Create the Automations + +Set up the following automations: + +* [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) +* [Automation - Install Certificate - Macintosh](/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e) + +The Windows automation handles certificate installation on Windows Workstations and Servers. + +The Macintosh automation handles certificate installation on macOS endpoints. + +### Step 4: Create the Compound Conditions + +Create the compound conditions that automatically target the appropriate endpoints. + +* [Compound Condition - Install Certificate - Workstations](/docs/fe460488-617b-4fc6-944e-5f8cf4c76516) +* [Compound Condition - Install Certificate - Servers](/docs/c02dffe5-9db7-4a86-8b39-8c6a6b9fc17d) +* [Compound Condition - Install Certificate - Macintosh](/docs/bb552db9-554d-4b72-9492-bf644aadda6e) + +The Workstations compound condition targets Windows Workstations where certificate deployment is enabled. + +The Servers compound condition targets Windows Servers where certificate deployment is enabled. + +The Macintosh compound condition targets macOS endpoints where certificate deployment is enabled. + + +## FAQ + +### Q: Which platforms are supported? + +> The Certificate Deployment solution supports **Windows Workstations, Windows Servers, and macOS endpoints**. + +### Q: What certificate file format should be used? + +> The solution is intended to download certificate files such as `.cer` from a direct download URL. + +### Q: Where is the certificate installed on Windows by default? + +> If no Windows certificate store is specified, the certificate is imported into `Cert:/LocalMachine/Root`. + +### Q: Where is the certificate installed on macOS by default? + +> If no macOS keychain is specified, the certificate is imported into `/Library/Keychains/System.keychain`. + +### Q: Can I specify a different Windows certificate store? + +> Yes. The [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) custom field can be used to specify the required Windows certificate store, such as `Cert:/LocalMachine/My` or `Cert:/CurrentUser/Root`. + +### Q: Can I specify a different macOS keychain? + +> Yes. The [cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) custom field can be used to specify the required macOS keychain. + +### Q: Can the same certificate be deployed to multiple operating systems? + +> Yes. Enable the applicable operating systems in the [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field and configure the corresponding certificate URL and store/keychain settings for each platform. + +### Q: What happens when certificate deployment is disabled? + +> The endpoint will not be targeted by the applicable certificate deployment compound condition, and the certificate installation automation will not be triggered for that endpoint. + +### Q: Why is the automation not running on an endpoint? + +> Verify that: +> * The endpoint is a supported **Windows Workstation, Windows Server, or macOS endpoint**. +> * The appropriate operating system is enabled in the [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field. +> * The endpoint meets the appropriate Workstation, Server, or Macintosh compound condition. +> * A valid certificate download URL has been configured. +> * The configured certificate store or keychain location is valid. +> * The endpoint can access the configured certificate download URL. + +### Q: Is any manual configuration required on the endpoint? + +> No additional manual endpoint configuration is required. The solution uses the configured NinjaOne custom fields, automations, and compound conditions to deploy the certificate. + +### Q: Can I use a custom certificate store or keychain? + +> Yes. The solution supports custom certificate store locations on Windows and custom keychain locations on macOS. If no custom location is specified, the applicable default location is used. + +## Changelog + +### 2026-09-28 + +* Initial version of the document diff --git a/static/img/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5/image1.webp b/static/img/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5/image1.webp new file mode 100644 index 0000000000000000000000000000000000000000..ce3b1f332d3354fa8ffa9c65c37e38b650cea570 GIT binary patch literal 7760 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 LaTPNCpU(dRx4*4; literal 0 HcmV?d00001 diff --git a/static/img/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370/image1.webp b/static/img/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370/image1.webp new file mode 100644 index 0000000000000000000000000000000000000000..75cfc781d21821ee6a6bdcb6314b56031df176bb GIT binary patch literal 8162 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≤Mr+5kGco!MG<%fW%^jii2bgWra^~fU(tA})+_EUmkuOP zT&z_|>!bU4Es7BVHPoNz5wA3~ysHyUjgcjdebX~m#lZ|4E1MJ7RN>ApT)=|jc`x6O zZHjdkrYX0qDSpBJqwdk^el|nMj^7z~k(5{b9T*lip2)e0>fu}P4ZYy z{439U8<@v*cHwx-gxR2H0!a07==aeff0A-Qi68bJ6*I?!xzkBkF>;fVDyY% zMStoWp{hsXyn1Qap^Lnk^zBmnUV0WTgu;?(PP|g@0U{5^BZ3UogL)ia_5{ck>)c>& zq0W3}OJ?(LDE}P%bB*#VtF|YxE;yA>GMaC9iJonnv}U`=60>pG#KT$}Gl9@UdFcyo zHY07lW{+<%W$%a<=b_dcOH__P+=Pg$BRK4~y6V@fZk}|hCv&hvT(S*dy8>I#Sd9A+xC#1n zO}N9x;bqBuOOVOKM+5Y%(W45Ivt9vFOUV=ErW?yiOCRS1Dg|Mn<3oL#6STbCBl<(M zdv~_=ojS3FgyS$_JYeZ4;MDrgeD0v^=^_s|ejQ0_{LfhY|D=nXhNcft#dgYy#t=0* z_2mr%HYdr+eJhj7;itTm0SlfSc5PfzlJP(xVqCg6NvYS~)5UnJ@KD4(lPrl1&K(Y4 zE!gD{W+}>HjD3s2Z2Aoru?5Fwtu9qd{t&?fj{2J1Aad`sM@YAAFbCV^2i^!@>w8VZ q=Uc*Cs4kr}u1|M9NMsR9QU!^d7;EHQ=c8*$@axXmCj|fZ!~X+khz$M! literal 0 HcmV?d00001 diff --git a/static/img/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e/image1.webp b/static/img/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e/image1.webp new file mode 100644 index 0000000000000000000000000000000000000000..6ddafc4ba8777b823842e0a285eaa04dd80fc53d GIT binary patch literal 18142 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 QtO3UGxAupo;PoH?0B|jS$N&HU literal 0 HcmV?d00001 diff --git a/static/img/docs/d3f49f6d9-758b-49d6-b425-7e816270aab2/image1.webp b/static/img/docs/d3f49f6d9-758b-49d6-b425-7e816270aab2/image1.webp new file mode 100644 index 0000000000000000000000000000000000000000..129500e43cad8172571851c35e02087dc1edbcf8 GIT binary patch literal 15452 zcmZvC1C%b!lI_m2++;`d6?khdN-;6u;-O`8OEq~H3L0_UDv{O`QezIorfPqnYlFZsWI5B%4@ zf_+(jMn8Rjp*Q`0etz@=^xOVvKE9}Z5C6F?CUdWl&^!ey&lqp2t8Xe_|AG~n70vMp z$q^gdvm$e(xm-3p%$47zF#-oJyf&3t49pEUWI@X%O%FP^khQyguJIDn)5MDoJI|y3(Mu)@}R%LXv%uVH)4lw`^z@kxvdACR)e7?Gx(yJS#Ir= zDcuYWds^Jc%MU=rPGrkZE;V}xE)jnN^g>;Ax@vaBqpwkZJ$esrG{Q*z-5ovkeiBd) z?OWQvd-yd^4n#gLg|&#@>pigiwc2xALMUMTp4F_4Q=n9h^xKhH<1cY87BiNoNM3c4 zy$W_zSQXUs&{Pblerj1Bj=W}dQWO_21KkT4Ol;SH;88boVKR5h6YP#B?Dmne`mm4} zZZS94;g!D^3s3^ZLmm=uG2+t1$l=un_)*3}LpQ3WL*|+Uh-mM%vU&FR=?Hs1dU&f> zb8O*N_oewZoyfyETQ6b76hCW@YM`c#_^2V?N6CB$AE(HqnL(JAtphL80VZb&ejN^7 z2ba+4QywZ$4J{*oGQ%G_KcG$s=2l^WfWaEGN_77Ta6}0)M`~2jjmeDCq@q?;p!F7D zjpipK#RxG1vi)!Eb<2f9Vl&{IpKeqzUXW2sL3x4uOa+Xw)nJ93~2hZ?r~p{P*BSI7?R{}u=W zo<>{Yi4H#BT9K6bR2Xxm%y|9^L7GD?Mz1YOjqKP@y>uNcwKfIvS}=HPmU9RoFKZT< z7vtd=IFf0Znz*Jmk)F%Wq!6|8-eyWgH0%?&;qNG|X9$V4O!3h@Ph~!`K=EMjyQFt) ztpk8t$e#ChaT+*Lm6-au--DP6p)x5CR^I(Vp~aZ3p&fWtrXLQ=)(X`5K_W7F zrb3t<;f zn)id$-GWqzl*5B7@`HV?piT`w@&IeOIag%MGrWI&!uWW;)W>%KGF#v%`sB$SXzMc*IXW0CfDbN(X>*pMCBknLCKop2jAs942! zeEViKRdayLAKg@O1h`BdYs!sp$#(VPBq!VUy?D!cq2n>vUk>4)f8B)v@a-yK@J@r)Gd2iGUUC)1ocW|BV^{VyyhK70v%|k8lnZbxh+Yg)|kJ|9IdrOGbHuZ(7Nr!qSh!EctK5%3_Yg z)OAPTKt;Ev`j-l3$*&0P_#sEt|5o|Od=dZQn%ma?e-LGUW%5vK<&X#**na@zzxxxt zCOysp`%fVJx66-?sVfsJE295W`3EFFc{LXcO5Xm#%KwTAvx(zAQ@(HQAAJ2k1Sp&& zHQPH=Lf}-9YkLE#1cNv|EKDIwer^gQpufCJ^FLnu_!yVbR<;pKQ$OK`sN*Eo7IeL<<=?pdPb{XhO4(n38SNve%{kI;@K7B0 z47fcu)ArjGG=~4{F$G+yLqr-tlk5<&m1!=oXfD|JK@^!2%=Hb;6&v2LBC?~nKB0Nk zc-7U&IL85idr1lMm{?>%OI?`~#XAM{Ss>Va6C3p=Z0C410AfqAM4b_u zqT_{o35DPp>>N|Xa+qnS1u)O8LfxJ<(&57!;}SD@=1=4IKRJz+ZXdUC_5kv}yoYrf8K5%Yq0N;J*8iJPsh_x>*!9OJVHtuj}KLXDom_jlyRxxB*lzZAguZ#K%@UP74NEbXjMm6r^C~7kA*Wz96YXz1uxKRWV!srL@rzdGYoOD!3~@5n{&FW*G10;I1`C;Dur7 zlQl=8$!hki?5>?fLeU(N+h`1k26>(^n`)0m1Hi6`K$)}U4oNqd=Av2!dlA)qZL`@Y-ya5y#C@3k;E@ zIniSo7-$?-uF2?l1TUzbYiHu_A+?0QSAn>k73$A3(Pif5F#LT9JE8qoI^vXZi|Kxd z@~eklGP;tPr9?@FDx{;@aI~t{!`VB!Ba6!UEF=m24~Kp_RT<9x|UM`c~a+{BhmMX8I!1;?ZPNW5;*KrDpQ1 z_vi(1hD%vjF*oWY!6LUYoU!dlEf`B7bi>Q~19dDdSDgTZTvu4{c8Lqoz)gVIMX;!E zyUoKXwL)bPt!DFjSfRE_7;n{9V~$laLSLC1fx!bA)kZ|Oc~$xy@h843i%)Wy6wPl; z^Vqkq((TBJdUXibC`b&JiX4;Xo#y&o8y7IC1zgu8LC!l=TdhlDMQ13Ey;)Jk&V^}7 zdvn5HK2GvKA$99EIK??E4QVXkJ|sqs*Rhvw@^CL^PkJDvzQ`AHQ&jji*Q43ea0)J7 z(qztv)|fI^5evhfY1bCWgmj6+xSXFkN>XLZ-hA2PM2v-4q$lkPv;6W_&kN^Mbl1do z*+Pn8y{z4gux<7~5n`}$<3f(MCXbj1e=_GWQ19*vW(EwcAczFrw*LC>gUOFOx_5$z z9Po1|b^mPt2har z6{W^?o$PLNFo0O(1eS9$;zFcGz-22+M$Y+_2WMc>e)@*eX2OgTfZqVPHc0ZGK9QHS z)lho9+Zb5qbtN2TA-|YK9N-8EtY=ZD`GGktep#|_eD8#boiU6@oN&2b_<9z!rh8LSSFY*Y4HsqS6X zy{{xF#;XNEBGQ~$%vEOHd!Zn5YFG({ZO|M)Z@sJw)^BdwS_O55&n5950f|wZA@lCf zK74C&q>uM+zl@zbmB`>!B$Jm#Ki5N$2D{|D5SZ3%4%0|*`A&nz(>T? z+;>FosQL?P>sp2MF$QI7%1z*i{pdMOs6fI+wgs&f6#_+ctl~>zJ-RT!o1J;c94y*s$8Tr_I^6_AmS*Je$y^7_hWoPi4q2&ZpD zSw8JY&D(=-s%DG$W?0`D10Z#Rq0IX@6m7SxWrIyF01xhYu!&~%bvs;>wG%#i_%Dss zS!%MgY@v|FX)fcuq3i*qZeb$e08AxR(ED0qtK@2s1oi35uA@rqaBntFW1*PFgFBLi z&1Q}UT|=+~cA*Ti(!y7e%^CL;pB8KG_0o)Rdia9YX6{qLCXAxuf@lpC`KXppZ(pWC z?rM3Gg?l>#vT$WOf5}FgidW|l3h2x#_3dby%ITUVM43_+hWs#;9>O5WaNiR%gNsf#z9-5mq=uh7 zwP&zX+ex=``5u+eQQ!4Y$uF9{&6cAuoy9EgrJZ5comHy#U`Se%n1*6c5sf7n@4HdW z!jpgGBK)9cboXSpoBWVAG%F6i%Yfs_I>Bz=hwD!m*=JBhQIP_cQ3%= z3#03A_fnrTO-vlt8PzlgZQwCt*|o9f8HiQ#Qd6Zosio=srXQ&qmfCA7_%3S)R!EYdZd$Qj&{*0ef2 zLe643S)2uR;i(=WsMO{KbR1woua|6h;(zt;(lBwg*BK~ z8Fa$Jqb;ad6YMsYADe^OGdrjrN5x_*_75LPKzTCFec!k&E04?8FSgn)^5nL3H)U7q zD=i2sFPRkM?D7rj9b?99WNQvJtip^WhP|W(tP<`IrRvL`0}mK%2i8TsS}{bt!7PVI z-UHLoZY$&GKNB%bZ462=gpYJ;lg~gszWU)XtIx|P5@pDQ=?le^u7hXFGw*?ItFLrT zK#Icg-vr3~uDnj!cjSR5a)Dqeoi1ZhVMJ}6tYG$DaAhtG>U9C3*B09ISQs z-8<}_8ZxjnM8A0}JS05v9lU=fnLYRmGO;#ir*CnTv*ca6_TGaVae!?qSBh2NxHEjH zjKN2msGt-(z0?BQ4fjrkzO_ARpJb7aZq-{O?ltxyd;ex7mf>h~IlFMkuLNWLB3)jY zZ%8Lcu+FU^2vk;S0A!5HXm)lKGWnw z1cw*Tm;8b!^mtI|?sC2doc)pBoz#&k8iRh9TdsLpSE-)^TCoFAb^BvzjMuZ?AtL1h4!AgQ%?HK!@Yw6 z=5QUwEX_2BK{K`LS(@I|GLhUpKhJ+iGq~7z3?IqGu2ZUDb>6?g`~~Nc!yh#3hgJ1#?Lz~{9rNWB#+3MRp4RY= z<&xhxo()6@CVMkyOQ6U~GkH2~ng^8@An;pWt>)Q>TAaRkUcDAx*J5;{g1lnRk5eX( z2k<@a{d>Oc;6o|V?4OXB)mtLVhUBr|mK<#d4M@u14he=?@uVg7vIJ7F%3VRQ|D<8R% z|Ed-ll2K&_HOX^tG}4(Y(Yma_s(tTh_)0Sn)YMS-MRDM+)8BEyxcR&Og<%cM8wwH0 zb_&LZ5s06oBR#i!Zh0Z*qxVp5U|Zfs=Hc@q@ay(qad~jv;@@dpsIUA9Kk4e!#isJM zxFdZBlmF@@%)@6?6`pFa3)03&+!-1oOwPB8ExP46fP>C*I>ip`o&Ifp|Lzn}g-=zN z_v0Ib!Euk&wl4%Ag+}_M2ew8h0*K_KWruGeZ&``#!{_!;M*>cs7vU?KLsz8cJzW}f z?PD(LnP1Qvt&A+`?Dh&!KQGN%=iuVWy;1!PTfQJqr*s7YZV535b+aEe&MeX1psucQ`gzGEyW9;BE@|+ zTxtQq;FwO?YEHM=*Zh+}9#z#r)^y=u+ZKa1kPv{+sxi#6t$JJ{5-$F2l)YS(7=_{S&@yfzCsmS|EZRD9 zAt^7T)Ns}5&1P<5J>xO2L47qbXbzK9Zx6mMXJ|k#X_XJiy`Gz6ewTS*`(+S*q{ne zfxBT^fNfsd1VkVF-y`e$V%11cnX1xV)Ud$I9N-}8V@T8+#*OS;bjs=}$fWo+k^z2> z1Lx!~8bg~1S{Ue2VNi=3^I;^3==z!7_Z?97XlP*{L|)Zqgne4iGSQ%m%dFW$j&pFE zyB7ZC3>0N=__M(lnSpp&AFod3yw&YSQ4%?fxp%JbAdnmn$D&q~fjxX41Oo2|4d0~H zQ3(hAa6~VE@Hd^!%*p7F|HSjU2rfTVwV9tG&n<-!B}qNz=O0xIOwA!$!k*cl=oaj@ zA8A!svh}?6tV(A)b9Q0R;o znR;}6V+W#=qHS|FRKhZGF7mWF&974L0W0SQDomLEnHpp_?;6AloP|Ti@so$3aoiV+ zGAYaRT`_)Tl%8`?%Spy=E|vkx-v8m5Gl|+D4X{M@A25bNli_TLsVE>gO;(j4%eJ{> zR^FGiLYJ4)1}Gu-ZkdUxvT&;&AhengKT57@@HdoqA@cVy1z_{l)G-+)tY!%vx#HE7 zS^65cHl+U9s9t4U<V|4N7)}^PPs{t3#_tWUOi?q6eCaj@=y5aOxu4SSuWy!B6_4kRP%VVce?Qi(oQ_4s zv~ZP@3JTzNUL&K6^Tp)1c@&-ZZXbITUg{rJv&ICn3U#nyj4e}3%P;M-(<2CJ4 zUsIz&%=}Gcz_8fFP^qb8Fagb4DbfPY3)x&b+Zt#^g33JBJDJ}mhlLvM^F6o<02{#( zGrh`J+x2Vfc!Z%i?|@?@dTw79NEa8B9xD!5s&!T#pV8T$7DJOsp!XSa zfWsNOe7<~XcOnuP{Ym)HzO)DKKosUNL3}~at0PSvKk|(QxWzfs^`+6l2XusK`wvC7 zEMTz68e52Uk-MjLwzaX#adrtgIoj5w@}!6XM?(k)x$1Fz`gb2#nc9U#Se_))fKu!e z3Xm_+w{Ih>2eBkb7EhmxK3JB7@ujK|BAgx?CyL0Pb-qBtqkwmLTk$O9OhbdfC8MH| zTH@i{4FXeYCz{Si9EH1B17foPI|YfW7bR5{;p#$akVF-ZoxtY)V&ANNPq&6ZvtCNA zY&K{b>p9F0h(Lr)FT|@y%FBRWI_u;!oVz#tGt}94yF;mbO>dT2Wizx(rw>ji2>>W2 zEPR-ciVosIDeVum-mcAWf&t!%9+O;gW=e~ypz>j0yfuD1nhOkdvIN0T2~68g5T8TF z;HOZteyjUA48MBV;U}qH0@3d>Qb6k4lhv;@VAp6q$z~rA+oBanY`F--vCI#fIA^Pf zuMSZ`V-2C_CpwNME_H9I77}=+C;rl`h@{BZ)6;R@)4Ark*W(WdcBH9l!zrz|5oR!? zXA#^4xzFw83bUh<+u-uRCD9)|=ytVjXFy;K3_v=csEo7in?t_|5lUkh19v1@2DlMs z$k|ky^N@plJAXIsckW!lA|;vv>mTeI!PH+e`5qV;NE{qoP4Da7&ZHd667jqNT|O^^ zc_F4?l&Z7A2p)X3X3l#Ch1#896NPrhuz93(##j|Ng&+=u1~F<72(-J%ATzEkO^MJ1 zKL*vLMoxvk%3fgJD-9I`S3Ac1-&!Pp>-*F?O}uAv^B`xFPUE2u;$y#*vbw9SHR$b& zQSg+NMeUVlxsH9K{0I|LYWcnLV5+h0Dt|Uz{LXG>|@3G^1?m^406L|=mAWqlTB{d7X(e2DrP>b z?JoPDlpbi))sZvR*7nM9oQA=5TRuQ~6N0s{9%(RkRWh)WR8r`%SL*W>vpM^*$${=8 z17xlV5H&LS&D@$Hi$CKg;AGxE+cJ*k0CkBO6n3f@K-IsH0NekYRNs)zfCyuTBrYuKk-~+y#Hvn#iHAq;iuTZdbp`#&ujV-yi&W%sASM&pVfB6Jb^42}1FQUrv zVKd|}gpHECs}OH&kSudnAbQ@Bu&uF2!!3EkB+WiPLc(D2fbtOG7ykwg>fY~HQ9Zz_ z4ZX1R5B<`$$CP#=0~aw}v^E3gU4GH`$h}LXu2r|%sAsErV8FsrlN1>$A?2+H-@e|UO<6t} z;LnmcV30uzAcf9T|4H#jxi1Lo(D45|CxU1aw=Mx57I07!hhb4D&*1lM+txujjI#-P zF)16D+lXXuAI7%nWdBap9lblMQz_iO6XnZ`BU&JYAwSj>*Fsz!b(G1fn_>2}Cd*Dhv)c zc34V%)e7i!3(I!S%Z}}*D>%+XjNp*l!}~-m7zp!+?$sX~0RPhsVC~9`Ku;AcQ%Q?K zD@H|pSz*h#PP+KK?VoE2RsdY_5!+t?O_%C2FyBpsDloN0L_~0SHbE9B7-@=UAuh;$ zfKD1(IPK%F5NPw!&OOo|p&2zC8d?x4i32R{k*Y8QQH`dyhqivoE_DXqjpg@_${3vM zdo71)!65PrN0P9>ILU6O<*VJFdKtMGnh~JHrV}>)kZQ`+Js!e(!$3wlDYf3hF@5;D zj+)3Nj-nIs#M;YE9VG$+)V+ zSb0A*wA{ja^_cVVh$7}@+)2}=71ANkhzE+Iq+*gC+!qf{qfc&bQZERGSz+%z`C2ZR0pw7d@ z8802V^V~w4IF~v^DdyI2CGYTotmG?JPE~2BYP}zBg@3HVxngasoV~(X(d$VvJj(X3pM#T&jp^FZ90 zpJQq-51d4qPP=m<>7R+epT?HvY}f6Q`wEcm0hAUno-9nWSa69AiPdz>QBs@yn73z- zYCJhMvB{ZSs|{8zQbok7GDs?jTq+M;8h1!1f)e6gYGNR)PH)|QBGfb+g+^y~z`t#B zui0SY;nrB(!(iHMAD+vg7UCrL4IXfEDbaA#?lTz3byu&yE1WCM(2zPjViBN(7PtjO zQE!y(U}^A{^^AZ1H)?HJlDEC()qyTa%x#ZFJ7U9>3#OU+<1S zR$1Ukz&zD2tW{sn2p^ibTq!-h)xtZ+)67`-(yu?krIO=BRxPQH7~jl+)6VDnK>Q=@ zzPr&XHY}yJA+NhaDn*=+45o$W!A*!wIkiZcQdgjY-_*;OulPOo5t)i(X2PZv&P9g7 z=4_*%V~AXf67?yM@-)M^NgTQ;z#1rB(jGR%Fi=N(Bv0(b8f`_N&K%dVub@uG6pO_( zz1RG7#+qWnjNE4GN#<2p#@w*AabUQ#kk+Ew zYIWrP5fA_49)aI+~)*pQQgi45+lMhxE9lrRi`wCU^T`nTY>?bd=vFmkOw z;o8XPGEL?M(~Qggv9^rq6S1)DQe;q2juZlMzF)rZs4qQtIY*l)F zy;>6#*~2{e7+llh2(DI}zNrwDuz2l=o_bXOsTsIBs+eID@zDR|z_|nIgjyJAw-vIm zMRwVG*P^Om=9v;CJs}`RTSwL40!Q)rd~K|tq?B{ypBe^de|m}S=i+JJG2{=FX@4RJ zG>yR>QsV1lKCSF(S+{k6(n{U+n=~oa*^oDoTcCiIg_29%3rEH=Lwzs5Q6XfpnYPXw zY;E8-3mv^12$CTr)v#gKU_V#sjT`YV*}1`+tuvf=*Zn^Y1!D>?tgQ1TV2g&42A=xe zw(LCZBd1d@qE7YFjS zHM6@nC>q1oM1)+PCJN8mK>m#!Ga1SH>vyWvEAyx(oaEV#wG)v>jj8|m<)7$1R-uGK zXxr<=T#Sqdvm;SL-$f163+s&YE;Sbs&0kWIf7UlX<~a*8fZNJn#T+p;s_?%O2%Sun zv+h$M>N@(pA#SSze(hdFhF~h3iWVeDaS}ga?iC0@dax=#AS^UsR^UH1daGRl0=dOm zYO+w9ojCi3jGR;)yz;^PO+xT}kJp?=JW98$=L7h6Z)*+YIAl74>ntgO)=b2~hJOdt z0K4b?-TKApLNl;Nl1hGC@2-}A?=B3w45@Z8By-m%06F61nMv`BOA>nBXWP)Nh6rC0 z%17R{NS4s9YR&kXrIOba*swv}x6@4Y{T8g`apI8|3_A-H6!6||7nBg)dZ#*arly;% zt%Qa4Ed^;=Xb{)1&T3x^k{?-HdeC{-)yMuTh91PQdmw<}f1hiRzF1zspVxOV$w zY4@;y&GGm6*cC>Q`ySV%P6&<=3_}jcMYh8rBwl1Jv|KqYpE@*{U94=(CFB%S6D)V? zyAz6IdzCsnJlUZd(mwmA*P9+{om2q0X=t+Yw_Aa0u!4G58UQOW@jwSI+KuN_A4V=d zd7<)(fFkAKIh?XHsRbCz#7hMGhavPE0y&0JOIoHWvm8@sakE3zlNojNq%N}riR%2l zQsLn2=<=jOWMXbcJPE`#PCz&$aVaWZv8<;lJa=~!4uk^(CcuDBKII3v(=iuV#r(p? z;v0n6kL8kEqvitT>aq`7Zq#|s1z%(wsAhF7SBjuO-3&!}MXe{lkLp|v8Ev8YJ0QUn zf-Il3LwVJdy!D7k0T+6KNo9P{arTVzmpA+z-qA_7w0jTK1TUUOrRxw3 zL`U8jWHHCpKNW{Cyk&o1>2Lt8)f&(}Rfz#kgn5GJ5v6ow)G(~#S0>U%f7f+AEc;)o zoOJaX3fGcbCW~#4Z{5V^?!Q}lIUQUQBMvI}i}$afYwZO73+ozs8yX%stUw@z{xeOm zioX+bEKe0ZNW;Y<$wRI z4%6j^2mxJlu5wV%6pctwoXND=Z1L>K^BZe5$#@8ji|RuW(qgWdU@7f{CtGO|Y&c>U zWLvVWS5AOa>uy3^TWml_W;wysFlkH zC(b_+hrw&@042M=cnQZAuG!?OQ&G&cgOn%(Y086oTY!K0%HN7%@OapGHBPD- zPNBKCNDhsH5AnxkB!}VVH`_}`Vb~H*@jLe@Y#fpZcz_3^20%Unt_3TQ zu%j$5)9MW2KvU(zq^SIQxrujZa(@9qNJjMUa+^z12Pv1d-j9dgMG_(vM{qrLreoPq zl@@xmmTILra!g1Zboy|tsfEZtGgU*rZ$!*KMmM$t!?}D3^|{rP1>S0lHPvUvdM6~h z0UUemS{r7wSpFkk5uhQB9>k_&2S)hLXV~IqDX-_&mSpb2T|CdMvhdyr#HIIWuYHg> z*fomwlyTZ<>Sc*+WG!HLJj;sbHQg#Ty|+uxHy+m>^7|WpIRcJ(HpwztwLm;Z)vP|e zY~Vw1_`kUCWj={zi4&!II?C+Vp}tjSUY~9;^7-9^?4N?|R15uiBL&y@#YfWuYwFmD z{LYjlAn#1O$3V5ygW>T4Y$m60vO9iy4e7L-<_;yR!7kc5&r*P$>hyyn4ikoThH^p> zU#=P{53PavTq2MW{7R_C6T*bahCe%h1PzNDC*CtSB%HVpty&P++vwmsKA5@#nY7+< zB~w1S%MlpK-yt~ll+idnk;w<~C|YR1k%;?z{ShhH* z`&MyXAP4wfmNJlDL=bQIBchmAGl9;U|;6-y?K%wSi zpARo+l)nlpp!> zQyIh2?-w^o&%^yANtZeWKP+kAQm;ZNz!Ie?TrLk#xSa5$eeP)ntEtxN4Qz0aB=-Fl z9!MVHd|@=6ugafGpE)&PLlE$%<@b{MF9#`Q1f69 zfb&DV$Oa3!iu}Z%^U>A=DTmp$P?4;q$uzbu|en4O3cWaJoE2mrp+62`yVPN@D6r}Xi|gTouf6zGPWQWA z(&ls%=wOnw8%o`*#IH^IyH-HUsHfPs|)@?#P_H>SVyY_E;1m!%SC? z)G-j50)^6~`S`kY#tLaf?8xaNU~7f1@yC}zMCn1=rxIYj#k%{RvUJ! zs7QKj;z7>SLSP*!=GW4G`A_RU%}{4BTXkQ~ez{=ac#TOkVav8kW#l_liD3l?-%T~7 zNP9ShHu=kLA_fFVd}&$_QI%BV*3H~YveYq>+E)6Pgf7Vi$on4A$52+LmytBub-s;lJ@U_Ct1@k z?KPpD+)*J0Bw)n_=TD{(cI-%Y61wvdaDGXs92?dXa}`XMhG7@dDtQ=mUj*D#9z3!K zx~7!fok&^2$-$up1aW)w$~xIzH^sQ!$D13YXOUl`qBugK&UHx{DH5ulh80q3jijj2 z=7T;(>hcOcwpI3;(?RcSX?3?Yeii(cuFbXuD;yK6r6}yZFYK5>ixf5I0f4Y6(4WKB z((g96hZ3SNFc6YNjq59(0)m$~G}Gk&U{_zp{p{2@>C)@ZKsO{R%y0WYUF&qD_YKe+bip}f zZQ|uEZ2c1x*`h)Z8~EHAU?kbA8CEA>>1Vr)Ed2fjtDekWS@pvo?v|iBdj;YaRgv4m z=C(O&)>d4m=Yd1!h2>$KOiH)ykMvV|pGQ8G!d9VVu2u9=V0LZkd4P9iW{em5u7zWP z^AVAI%7#Y0&Rj?0o-P6s+f%+`E6&$V7<7sS*j_N$i8;>o>X_~ zc6u$Io&4+cazVsazB=*hzaa1mG*j3aC9t~6yV8)43_52yp~$CH0UGYfWT@oZysddp zCQ80sxEAKg3eJH@2@Xy54I~VIso!zy~XJ>DMAn^;+fQi=^ z2WGYLayx}f=t^ipvFg57&T6C_iB$WrTxGa}24|*EouW#lEa`8z!bsD4sGTmsSeziA zf2o=-#e57>l{=rjw?PLT)HO#4L{0own(s5mia>M1y1`n6P8Z`u4Z}5jCOe4b8fvoG zoZf=6(Wp2-g(PH!Co+7ry9eRgmhgrq>)55fBGD7lc9c(IX9)A1)*fZUSJhi{^M>eT z8+@gD1=G;UJ=!eNOCyHW#XGZ4p<@KPbHk0XN`h}RSy^8G3oD%`wD`}YT+z&im2lKs zI2*XJUe94|;i$%qvBDIFg+)~U9WOu9njVhW9BxXZHps0qCzxlfxFEGKi zqw*piYloK{Gr#C5>^LPF>-f|$WJ{HS4SA9MkWz85@Tm;~?Gct8@CW{Lu^TO!}i)C)~G zoc8ZSsVSL&eA3;b0@s?O@fQ}aJM)&--y=`?fc@I;pze9h?l5!f`0=aDIU?FGxS|}7 zBhkKqWv4ox@U}aySeMfTbYdi@bcS_@aXieRUi2JO;G-h*Qz0_*a!n0fK(Q3Aa{G@q zjd3dRFPllO9k%dr-9Te1cbw*kA%1VqoJEFq>V3xcgY15ZKB0#q)Bx(&)AQ4?Wc*&G4Mdqh{=HsL+~0o;3|@dLEk5O!gl|(<0c}X)gqS1urWr zGjl06FT)z&kv5Dfv=f&yG`O2%iK#l~Dk&$vZ_57iRp1{D=%#>>!;b@rJZna#Xd}EE zOplEKFtMed^9RT|bS!!&@%rOujeiG_}Gz zrWyVDS~*1axpqIa45jfC@&pxR%*HmQ{S&SwI_cJA!2LNCOG9hiB9j>G!=-vi_ zaHb(g`f&(yjecI!d!&?Zww@j%nPybe+Ve*Vl2*hzNFmmJ3bAfdh_&DXth;1lePLJ< z@qJ7im1moN0K~OfBtT7^0GNf)u6rKL{&;)GbQ%Cy8|8ZO2lP;R0zkz+c&fBMWv>+l5YQyO;%SXS>MFB4@R2?84TwZPYfgvzktJ zpoVse0a0zyM15{ElT z4cnq~_x{vQw#Dv&Ey!t4TsY^fch4pM=T{s$MeRt8DhoC?D=Sk}c!3=aS@tKIIR-RM zxe5dNC*3zPeB9(yURZ&Ln1sz`N$WtBKCYgU#;&{bE$UppyK++M_+6!r7i8(iQ2>>I ztmwB}iX{LIk#(w6j%8gld%jb&Y0g=uL}tWW=O=gqqVMVFs%a;=bk^nm*@sz;3cDXo z>DR+5oYb^=k^>*FS@5-+moe=Go%UPJ&QYg&ShdPFVp;N-z6;}%nXroX4niy=f92t^ zO?%qPtJ={6v>p=SA!Qs8APkmTe@!j5;;h`_Hp zKq8jI>D&FDboVt3{UN=4b6mkmkmK_BhN#PtwGJ9+@(>&8t*HgTOj66UR3Hn=AP YocxiKCk~twQ=xfdnPvicJ^Dv+ZnAtNPK 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 literal 0 HcmV?d00001 From f926a94ecbdc8d65f697d71fd9007f198ca4e387 Mon Sep 17 00:00:00 2001 From: Kamalgurna Date: Tue, 29 Sep 2026 06:40:41 -0400 Subject: [PATCH 2/5] fixed the test errors fixed the test errors --- .../image1.webp | Bin 15452 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/img/docs/d3f49f6d9-758b-49d6-b425-7e816270aab2/image1.webp diff --git a/static/img/docs/d3f49f6d9-758b-49d6-b425-7e816270aab2/image1.webp b/static/img/docs/d3f49f6d9-758b-49d6-b425-7e816270aab2/image1.webp deleted file mode 100644 index 129500e43cad8172571851c35e02087dc1edbcf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15452 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 YocxiKCk~twQ=xfdnPvicJ^ Date: Tue, 29 Sep 2026 08:11:34 -0400 Subject: [PATCH 3/5] Fixed the test errors Fixed the test errors --- docs/ninjaone/automations/install-certificate-windows.md | 2 +- docs/solutions/install-certifcates-ninja.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ninjaone/automations/install-certificate-windows.md b/docs/ninjaone/automations/install-certificate-windows.md index f28c9db2a..adf0c6397 100644 --- a/docs/ninjaone/automations/install-certificate-windows.md +++ b/docs/ninjaone/automations/install-certificate-windows.md @@ -21,7 +21,7 @@ This script installs the certificate to a defined certificate location on Window ## Dependencies -- [Custom Field - cPVAL Win Certificate Download URL](/docs/c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) +- [Custom Field - cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) - [Custom Field - cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) - [Solution - Install Certificates - Windows/Mac](/docs/12034de3-aa3a-4f6c-89da-a6f229e6fbec) diff --git a/docs/solutions/install-certifcates-ninja.md b/docs/solutions/install-certifcates-ninja.md index 91dddc5d3..3155f928c 100644 --- a/docs/solutions/install-certifcates-ninja.md +++ b/docs/solutions/install-certifcates-ninja.md @@ -74,7 +74,7 @@ Users can centrally configure the certificate download URL, certificate store or | Content | Purpose | |-----------------------------------------------------|-------------------------------------------------| | [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) | Custom Field to select the operating systems on which the certificate should be deployed. | -| [Custom Field - cPVAL Win Certificate Download URL](/docs/c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) | Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | +| [Custom Field - cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) | Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | | [Custom Field - cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) | Custom Field to add a particular certificate store on a Windows system to import the certificate. It could be something like Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. If nothing is mentioned in the parameter, it will use the default store location, i.e., Cert:/LocalMachine/Root. | | [Custom Field - cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740)| Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer. | | [Custom Field - cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) | Custom Field to add a Particular keychain to import a certificate on a MAC machine. It could be something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. If nothing is mentioned in the parameter, it will use the default system-wide keychain, applying trusted root certificates to the entire system, i.e., /Library/Keychains/System.keychain. | From 3fba5b5454e53535a9aa87780f3c1943190e7a26 Mon Sep 17 00:00:00 2001 From: Kamalgurna Date: Tue, 29 Sep 2026 08:56:47 -0400 Subject: [PATCH 4/5] Test error fixes --- docs/ninjaone/automations/install-certificate-windows.md | 2 +- docs/solutions/install-certifcates-ninja.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/ninjaone/automations/install-certificate-windows.md b/docs/ninjaone/automations/install-certificate-windows.md index adf0c6397..94d2f3bb6 100644 --- a/docs/ninjaone/automations/install-certificate-windows.md +++ b/docs/ninjaone/automations/install-certificate-windows.md @@ -36,7 +36,7 @@ This script installs the certificate to a defined certificate location on Window | Field Name | Type | Mandatory | Scope | Description | | ---------- | ---- | --------- | ----- | ----------- | -| [Custom Field - cPVAL Win Certificate Download URL](/docs/c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) | Text | `False` | `Organization`, `Location`, `Device` | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | +| [Custom Field - cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) | Text | `False` | `Organization`, `Location`, `Device` | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | | [Custom Field - cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370)| Text | `False` | `Organization`, `Location`, `Device` | A particular certificate store on a Windows system to import the certificate. E.g. Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. Default location : 'Cert:\LocalMachine\Root' | ## Automation Setup/Import diff --git a/docs/solutions/install-certifcates-ninja.md b/docs/solutions/install-certifcates-ninja.md index 3155f928c..203f8892e 100644 --- a/docs/solutions/install-certifcates-ninja.md +++ b/docs/solutions/install-certifcates-ninja.md @@ -102,7 +102,7 @@ Users can centrally configure the certificate download URL, certificate store or Create all the custom fields listed below in NinjaOne. These are required for the solution to function correctly. * [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) -* [cPVAL Win Certificate Download URL](/docs/c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) +* [cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) * [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) * [cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740) * [cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) @@ -115,7 +115,7 @@ Configure the appropriate certificate download URL and certificate store/keychai For Windows endpoints: -* Specify the certificate download URL in [cPVAL Win Certificate Download URL](/docs/c5e34b8-839e-44b0-87ad-d2cb7e21bdd5). +* Specify the certificate download URL in [cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5). * Optionally specify the certificate store in [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370). * If no certificate store is specified, `Cert:/LocalMachine/Root` is used. From 195f06bf093702cb94b03b9f50d04a281101881c Mon Sep 17 00:00:00 2001 From: Rj98-sh Date: Tue, 29 Sep 2026 10:20:03 -0400 Subject: [PATCH 5/5] QA - Update --- .../install-certificate-macintosh.md | 15 +--- .../install-certificate-windows.md | 15 +--- .../cpval-enable-certificate-deployment.md | 7 +- .../cpval-mac-certificate-download-url.md | 9 +- .../cpval-mac-certstorelocation.md | 8 +- .../cpval-win-certificate-download-url.md | 8 +- .../cpval-win-certstorelocation.md | 8 +- docs/solutions/install-certifcates-ninja.md | 87 ++++++++++--------- 8 files changed, 76 insertions(+), 81 deletions(-) diff --git a/docs/ninjaone/automations/install-certificate-macintosh.md b/docs/ninjaone/automations/install-certificate-macintosh.md index cbce5dfdd..f9bc288e5 100644 --- a/docs/ninjaone/automations/install-certificate-macintosh.md +++ b/docs/ninjaone/automations/install-certificate-macintosh.md @@ -27,17 +27,10 @@ This script installs the certificate to a defined certificate location on MAC ma ## Parameters -| Name | Example | Accepted Values | Required | Default | Type | Description | -| ---- | ------- | --------------- | -------- | ------- | ---- | ----------- | -|Certificate Download URL| `https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer` | - | `False` | - | Text/String | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | -| CertStoreLocation | `/System/Library/Keychains/SystemRootCertificates.keychain` | - | `False` | - | Text/String | Particular keychain to import a certificate on a MAC machine. It could be something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. If nothing is mentioned in the parameter, it will use the default system-wide keychain, applying trusted root certificates to the entire system, i.e., /Library/Keychains/System.keychain. | - -## Custom Fields - -| Field Name | Type | Mandatory | Scope | Description | -| ---------- | ---- | --------- | ----- | ----------- | -| [Custom Field - cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740) | Text | `False` | `Organization`, `Location`, `Device` | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | -| [Custom Field - cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) | Text | `False` | `Organization`, `Location`, `Device` | Particular keychain to import a certificate on a MAC machine. Something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. Default : /Library/Keychains/System.keychain | +| Name | Example | Required | Default | Type | Description | +| ---- | ------- | --------------- | -------- | ------- | ----------- | +|Certificate Download URL| `https://example.com/certficates/DNSFilter.cer` | `False` | - | Text/String | Direct download URL of the certificate. Something like this: https://example.com/certficates/DNSFilter.cer | +| CertStoreLocation | `/System/Library/Keychains/SystemRootCertificates.keychain` | `False` | `/Library/Keychains/System.keychain` | Text/String | Particular keychain to import a certificate on a MAC machine. It could be something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. If nothing is mentioned in the parameter, it will use the default system-wide keychain, applying trusted root certificates to the entire system, i.e., /Library/Keychains/System.keychain. | ## Automation Setup/Import diff --git a/docs/ninjaone/automations/install-certificate-windows.md b/docs/ninjaone/automations/install-certificate-windows.md index 94d2f3bb6..b75ce446f 100644 --- a/docs/ninjaone/automations/install-certificate-windows.md +++ b/docs/ninjaone/automations/install-certificate-windows.md @@ -27,17 +27,10 @@ This script installs the certificate to a defined certificate location on Window ## Parameters -| Name | Example | Accepted Values | Required | Default | Type | Description | -| ---- | ------- | --------------- | -------- | ------- | ---- | ----------- | -|Certificate Download URL| `https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer` | - | `False` | - | Text/String | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | -| CertStoreLocation | `Cert:/CurrentUser/Root` | - | `False` | - | Text/String | A particular certificate store on a Windows system to import the certificate. It could be something like Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. If nothing is mentioned in the parameter, it will use the default store location, i.e., Cert:/LocalMachine/Root. | - -## Custom Fields - -| Field Name | Type | Mandatory | Scope | Description | -| ---------- | ---- | --------- | ----- | ----------- | -| [Custom Field - cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) | Text | `False` | `Organization`, `Location`, `Device` | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | -| [Custom Field - cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370)| Text | `False` | `Organization`, `Location`, `Device` | A particular certificate store on a Windows system to import the certificate. E.g. Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. Default location : 'Cert:\LocalMachine\Root' | +| Name | Example | Required | Default | Type | Description | +| ---- | ------- | -------- | ------- | ---- | ----------- | +|Certificate Download URL| `https://example.com/DNSFilter.cer` | `False` | - | Text/String | Direct download URL of the certificate. Something like this: https://example.com/certficates/DNSFilter.cer | +| CertStoreLocation | `Cert:/CurrentUser/Root` | `False` | `Cert:/LocalMachine/Root` | Text/String | A particular certificate store on a Windows system to import the certificate. It could be something like Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. If nothing is mentioned in the parameter, it will use the default store location, i.e., `Cert:/LocalMachine/Root`. | ## Automation Setup/Import diff --git a/docs/ninjaone/custom-fields/cpval-enable-certificate-deployment.md b/docs/ninjaone/custom-fields/cpval-enable-certificate-deployment.md index f1f4241ac..1c4765673 100644 --- a/docs/ninjaone/custom-fields/cpval-enable-certificate-deployment.md +++ b/docs/ninjaone/custom-fields/cpval-enable-certificate-deployment.md @@ -13,13 +13,14 @@ last_update: --- ## Summary + Custom Field to select the operating systems on which the certificate should be deployed. ## Details -| Label | Field Name | Definition Scope | Type | Required | Default Value | Options | Technician Permission | Automation Permission | API Permission | Description | Tool Tip | Footer Text | Custom Field Tab Name | -| ----- | ---- | ---------------- | ---- | -------- | ------------- | ------------- | --------------------- | --------------------- | -------------- | ----------- | -------- | ----------- | ----------- | -| cPVAL Enable Certificate Deployment | cpvalEnableCertificateDeployment | `Organization`, `Location`, `Device` | Drop-down | False | |
  • Disabled
  • Windows Workstations
  • Windows Server
  • Windows
  • Windows Workstations and Macintosh
  • Macintosh
  • All
| Editable | Read_Write | Read_Write | Select the operating systems on which the certificate should be deployed. | Select the operating systems on which the certificate should be deployed. | Select the operating systems on which the certificate should be deployed. | Install Certificate | +| Label | Field Name | Definition Scope | Type | Required | Default Value | Options | Technician Permission | Automation Permission | API Permission | Custom Field Tab Name | +| ----- | ---- | ---------------- | ---- | -------- | ------------- | ------------- | --------------------- | --------------------- | -------------- | ----------- | +| cPVAL Enable Certificate Deployment | cpvalEnableCertificateDeployment | `Organization`, `Location`, `Device` | Drop-down | False | |
  • Disabled
  • Windows Workstations
  • Windows Server
  • Windows
  • Windows Workstations and Macintosh
  • Macintosh
  • All
| Editable | Read_Write | Read_Write | Install Certificate | ## Dependencies diff --git a/docs/ninjaone/custom-fields/cpval-mac-certificate-download-url.md b/docs/ninjaone/custom-fields/cpval-mac-certificate-download-url.md index c7f5bbe8f..b5bf0a0f5 100644 --- a/docs/ninjaone/custom-fields/cpval-mac-certificate-download-url.md +++ b/docs/ninjaone/custom-fields/cpval-mac-certificate-download-url.md @@ -13,13 +13,14 @@ last_update: --- ## Summary -Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer + +Custom Field to add direct download URL of the certificate. Something like this: https://example.com/certficates/DNSFilter.cer ## Details -| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Description | Tool Tip | Footer Text | Custom Field Tab Name | -| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | -| cPVAL MAC Certificate Download URL | cpvalMacCertificateDownloadUrl | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | Direct download URL of the certificate for Windows Machines. | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | SDirect download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | Install Certificate | +| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Custom Field Tab Name | +| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | +| cPVAL MAC Certificate Download URL | cpvalMacCertificateDownloadUrl | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | Install Certificate | ## Dependencies diff --git a/docs/ninjaone/custom-fields/cpval-mac-certstorelocation.md b/docs/ninjaone/custom-fields/cpval-mac-certstorelocation.md index 7efac1e5a..74c753a9f 100644 --- a/docs/ninjaone/custom-fields/cpval-mac-certstorelocation.md +++ b/docs/ninjaone/custom-fields/cpval-mac-certstorelocation.md @@ -13,13 +13,13 @@ last_update: --- ## Summary -Custom Field to add a Particular keychain to import a certificate on a MAC machine. It could be something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. If nothing is mentioned in the parameter, it will use the default system-wide keychain, applying trusted root certificates to the entire system, i.e., /Library/Keychains/System.keychain. +Custom Field to add a Particular keychain to import a certificate on a MAC machine. It could be something like `/System/Library/Keychains/SystemRootCertificates.keychain`, `/Users/YourUsername/Library/Keychains/login.keychain`, etc. If nothing is mentioned in the parameter, it will use the default system-wide keychain, applying trusted root certificates to the entire system, i.e., `/Library/Keychains/System.keychain`. ## Details -| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Description | Tool Tip | Footer Text | Custom Field Tab Name | -| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | -| cPVAL MAC CertStoreLocation | cpvalMacCertstorelocation | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | Particular keychain to import a certificate on a MAC machine. Something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. Default : /Library/Keychains/System.keychain | Particular keychain to import a certificate on a MAC machine. Something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. Default : /Library/Keychains/System.keychain | Particular keychain to import a certificate on a MAC machine. Something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. Default : /Library/Keychains/System.keychain | Install Certificate | +| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Custom Field Tab Name | +| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | +| cPVAL MAC CertStoreLocation | cpvalMacCertstorelocation | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | Install Certificate | ## Dependencies diff --git a/docs/ninjaone/custom-fields/cpval-win-certificate-download-url.md b/docs/ninjaone/custom-fields/cpval-win-certificate-download-url.md index 54c9c9d95..b8f77cbaa 100644 --- a/docs/ninjaone/custom-fields/cpval-win-certificate-download-url.md +++ b/docs/ninjaone/custom-fields/cpval-win-certificate-download-url.md @@ -13,13 +13,13 @@ last_update: --- ## Summary -Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer +Custom Field to add direct download URL of the certificate. Something like this: https://example.com/certficates/DNSFilter.cer ## Details -| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Description | Tool Tip | Footer Text | Custom Field Tab Name | -| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | -| cPVAL Win Certificate Download URL | cpvalWinCertificateDownloadUrl | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | Direct download URL of the certificate for Windows Machines. | Direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | SDirect download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | Install Certificate | +| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Custom Field Tab Name | +| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | +| cPVAL Win Certificate Download URL | cpvalWinCertificateDownloadUrl | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | Install Certificate | ## Dependencies diff --git a/docs/ninjaone/custom-fields/cpval-win-certstorelocation.md b/docs/ninjaone/custom-fields/cpval-win-certstorelocation.md index 03c891142..b57882864 100644 --- a/docs/ninjaone/custom-fields/cpval-win-certstorelocation.md +++ b/docs/ninjaone/custom-fields/cpval-win-certstorelocation.md @@ -13,13 +13,13 @@ last_update: --- ## Summary -Custom Field to add a particular certificate store on a Windows system to import the certificate. It could be something like Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. If nothing is mentioned in the parameter, it will use the default store location, i.e., Cert:/LocalMachine/Root. +Custom Field to add a particular certificate store on a Windows system to import the certificate. It could be something like `Cert:/CurrentUser/Root`, `Cert:/LocalMachine/My`, etc. If nothing is mentioned in the parameter, it will use the default store location, i.e., Cert:/LocalMachine/Root. ## Details -| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Description | Tool Tip | Footer Text | Custom Field Tab Name | -| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | -| cPVAL Win CertStoreLocation | cpvalWinCertstorelocation | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | A particular certificate store on a Windows system to import the certificate. E.g. Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. Default location : 'Cert:\LocalMachine\Root'. | A particular certificate store on a Windows system to import the certificate. E.g. Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. Default location : 'Cert:\LocalMachine\Root' | A particular certificate store on a Windows system to import the certificate. E.g. Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. Default location : 'Cert:\LocalMachine\Root' | Install Certificate | +| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Custom Field Tab Name | +| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | +| cPVAL Win CertStoreLocation | cpvalWinCertstorelocation | `Organization`, `Location`, `Device` | Text | False | | Read Only | Read/Write | Read/Write | Install Certificate | ## Dependencies diff --git a/docs/solutions/install-certifcates-ninja.md b/docs/solutions/install-certifcates-ninja.md index 203f8892e..2e69746aa 100644 --- a/docs/solutions/install-certifcates-ninja.md +++ b/docs/solutions/install-certifcates-ninja.md @@ -2,7 +2,7 @@ id: '12034de3-aa3a-4f6c-89da-a6f229e6fbec' slug: /12034de3-aa3a-4f6c-89da-a6f229e6fbec title: 'Install Certificates - Windows/Mac' -title_meta: 'Install Certificates - Windows/Mac' +title_meta: 'Install Certificates - Windows/Mac' keywords: ['certificate', 'windows', 'mac', 'install', 'root', 'trusted', 'keychain', 'location'] description: 'Manages the deployment of certificates to supported operating systems' tags: ['installation', 'security', 'setup'] @@ -22,7 +22,7 @@ The solution supports the following platforms: * **Windows Servers** * **macOS** -Users can centrally configure the certificate download URL, certificate store or keychain location, and the operating systems on which the certificate should be deployed. The appropriate automation is then triggered automatically based on the endpoint's operating system and deployment configuration. +Users can centrally configure the certificate download URL, the certificate store or keychain location, and the operating systems on which the certificate should be deployed. The appropriate automation is then triggered automatically based on the endpoint's operating system and deployment configuration. ### Key Capabilities @@ -38,7 +38,7 @@ Users can centrally configure the certificate download URL, certificate store or Windows certificates can be downloaded from a specified URL and imported into a defined Windows certificate store. - The certificate store can be customized, such as: + The certificate store can be customized, for example: * `Cert:/LocalMachine/Root` * `Cert:/LocalMachine/My` @@ -50,7 +50,7 @@ Users can centrally configure the certificate download URL, certificate store or macOS certificates can be downloaded from a specified URL and imported into a defined keychain. - The keychain can be customized, such as: + The keychain can be customized, for example: * `/System/Library/Keychains/SystemRootCertificates.keychain` * `/Users/YourUsername/Library/Keychains/login.keychain` @@ -64,36 +64,34 @@ Users can centrally configure the certificate download URL, certificate store or 6. **Automated Platform Targeting** - Separate compound conditions are used to target Windows Workstations, Windows Servers, and macOS endpoints. This ensures that the appropriate certificate installation automation is executed on the applicable platform. - + Separate compound conditions are used to target Windows Workstations, Windows Servers, and macOS endpoints. This ensures that the appropriate certificate installation automation is executed on each platform. ## Associated Content -### Custom Fields +### Custom Fields | Content | Purpose | |-----------------------------------------------------|-------------------------------------------------| -| [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) | Custom Field to select the operating systems on which the certificate should be deployed. | -| [Custom Field - cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) | Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer | -| [Custom Field - cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) | Custom Field to add a particular certificate store on a Windows system to import the certificate. It could be something like Cert:/CurrentUser/Root, Cert:/LocalMachine/My, etc. If nothing is mentioned in the parameter, it will use the default store location, i.e., Cert:/LocalMachine/Root. | -| [Custom Field - cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740)| Custom Field to add direct download URL of the certificate. Something like this: https://labtech.provaltech.com/Labtech/Transfer/software/certficates/DNSFilter.cer. | -| [Custom Field - cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) | Custom Field to add a Particular keychain to import a certificate on a MAC machine. It could be something like /System/Library/Keychains/SystemRootCertificates.keychain, /Users/YourUsername/Library/Keychains/login.keychain, etc. If nothing is mentioned in the parameter, it will use the default system-wide keychain, applying trusted root certificates to the entire system, i.e., /Library/Keychains/System.keychain. | +| [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) | Custom field used to select the operating systems on which the certificate should be deployed. | +| [cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) | Custom field used to specify the direct download URL of the certificate for Windows, for example: `https://example.com/certificates/DNSFilter.cer`. | +| [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) | Custom field used to specify the Windows certificate store into which the certificate is imported, for example: `Cert:/CurrentUser/Root` or `Cert:/LocalMachine/My`. If no value is specified, the default store location `Cert:/LocalMachine/Root` is used. | +| [cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740)| Custom field used to specify the direct download URL of the certificate for macOS, for example: `https://example.com/certificates/DNSFilter.cer`. | +| [cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) | Custom field used to specify the macOS keychain into which the certificate is imported, for example: `/System/Library/Keychains/SystemRootCertificates.keychain` or `/Users/YourUsername/Library/Keychains/login.keychain`. If no value is specified, the default system-wide keychain `/Library/Keychains/System.keychain` is used, which applies the trusted root certificate to the entire system. | ### Automation | Name | Purpose | | ---------------------------------------- | --------------------------------------------------------------------------------------------------------- | -| [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) | This script installs the certificate to a defined certificate location on Windows machines. If no particular location is defined, it will import the certificate at the root location of the machine and apply it to the entire system. | -| [Automation - Install Certificate - Macintosh](/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e) | This script installs the certificate to a defined certificate location on MAC machines. If no particular location is defined, it will import the certificate at the root location of the machine and apply it to the entire system. | - +| [Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) | Installs the certificate to the defined certificate store on Windows machines. If no store is defined, the certificate is imported into `Cert:/LocalMachine/Root` and applied to the entire system. | +| [Install Certificate - Macintosh](/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e) | Installs the certificate to the defined keychain on macOS machines. If no keychain is defined, the certificate is imported into `/Library/Keychains/System.keychain` and applied to the entire system. | ### Compound Conditions | Name | Purpose | | ---------------------------------------- | --------------------------------------------------------------------------------------------------------- | -| [Compound Condition - Install Certificate - Workstations](/docs/fe460488-617b-4fc6-944e-5f8cf4c76516) | Triggers the [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) on Windows Workstations where certification installation is enabled for windows workstations using [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). | -| [Compound Condition - Install Certificate - Servers](/docs/c02dffe5-9db7-4a86-8b39-8c6a6b9fc17d) | Triggers the [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) on Windows Servers where certification installation is enabled for windows Servers using [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). | -|[Compound Condition - Install Certificate - Macintosh](/docs/bb552db9-554d-4b72-9492-bf644aadda6e) | Triggers the [Automation - Install Certificate - Macintosh](/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e) on Macintosh where certification installation is enabled for Macintosh using [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). | +| [Install Certificate - Workstations](/docs/fe460488-617b-4fc6-944e-5f8cf4c76516) | Triggers the [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) on Windows Workstations where certificate installation is enabled for Windows Workstations using the [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). | +| [Install Certificate - Servers](/docs/c02dffe5-9db7-4a86-8b39-8c6a6b9fc17d) | Triggers the [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) on Windows Servers where certificate installation is enabled for Windows Servers using the [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). | +| [Install Certificate - Macintosh](/docs/bb552db9-554d-4b72-9492-bf644aadda6e) | Triggers the [Automation - Install Certificate - Macintosh](/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e) on macOS endpoints where certificate installation is enabled for Macintosh using the [Custom Field - cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e). | ## Implementation @@ -102,27 +100,28 @@ Users can centrally configure the certificate download URL, certificate store or Create all the custom fields listed below in NinjaOne. These are required for the solution to function correctly. * [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) -* [cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) +* [cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) * [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) * [cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740) * [cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) ### Step 2: Configure Certificate Deployment -Configure the [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field to select the operating systems that should receive the certificate. +Set the [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field to the option that matches the operating systems that should receive the certificate. -Configure the appropriate certificate download URL and certificate store/keychain location for each selected platform. +Then configure the certificate download URL and the certificate store or keychain location for each selected platform. For Windows endpoints: * Specify the certificate download URL in [cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5). * Optionally specify the certificate store in [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370). +* Optionally, specify the certificate store in [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370). * If no certificate store is specified, `Cert:/LocalMachine/Root` is used. For macOS endpoints: * Specify the certificate download URL in [cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740). -* Optionally specify the keychain in [cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc). +* Optionally, specify the keychain in [cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc). * If no keychain is specified, `/Library/Keychains/System.keychain` is used. ### Step 3: Create the Automations @@ -132,13 +131,13 @@ Set up the following automations: * [Automation - Install Certificate - Windows](/docs/3f49f6d9-758b-49d6-b425-7e816270aab2) * [Automation - Install Certificate - Macintosh](/docs/c4cb39c2-2b84-44d4-985a-90e297c5c85e) -The Windows automation handles certificate installation on Windows Workstations and Servers. +The Windows automation handles certificate installation on Windows Workstations and Windows Servers. The Macintosh automation handles certificate installation on macOS endpoints. ### Step 4: Create the Compound Conditions -Create the compound conditions that automatically target the appropriate endpoints. +Create the compound conditions that automatically target the appropriate endpoints: * [Compound Condition - Install Certificate - Workstations](/docs/fe460488-617b-4fc6-944e-5f8cf4c76516) * [Compound Condition - Install Certificate - Servers](/docs/c02dffe5-9db7-4a86-8b39-8c6a6b9fc17d) @@ -150,16 +149,27 @@ The Servers compound condition targets Windows Servers where certificate deploym The Macintosh compound condition targets macOS endpoints where certificate deployment is enabled. - ## FAQ ### Q: Which platforms are supported? -> The Certificate Deployment solution supports **Windows Workstations, Windows Servers, and macOS endpoints**. +> The solution supports **Windows Workstations, Windows Servers, and macOS endpoints**. + +### Q: Which options are available in the cPVAL Enable Certificate Deployment custom field? + +> The [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field is a drop-down with the following options: +> +> * `Disabled` +> * `Windows Workstations` +> * `Windows Server` +> * `Windows` (Windows Workstations and Windows Servers) +> * `Windows Workstations and Macintosh` +> * `Macintosh` +> * `All` (Windows Workstations, Windows Servers, and macOS) ### Q: What certificate file format should be used? -> The solution is intended to download certificate files such as `.cer` from a direct download URL. +> The solution is intended to download certificate files, such as `.cer` files, from a direct download URL. ### Q: Where is the certificate installed on Windows by default? @@ -171,37 +181,34 @@ The Macintosh compound condition targets macOS endpoints where certificate deplo ### Q: Can I specify a different Windows certificate store? -> Yes. The [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) custom field can be used to specify the required Windows certificate store, such as `Cert:/LocalMachine/My` or `Cert:/CurrentUser/Root`. +> Yes. Use the [cPVAL Win CertStoreLocation](/docs/73a3849d-464c-4bf1-ae15-a93a9bd54370) custom field to specify the required Windows certificate store, such as `Cert:/LocalMachine/My` or `Cert:/CurrentUser/Root`. If no store is specified, the default location is used. ### Q: Can I specify a different macOS keychain? -> Yes. The [cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) custom field can be used to specify the required macOS keychain. +> Yes. Use the [cPVAL MAC CertStoreLocation](/docs/fdaeb10a-efad-47d0-baf4-fd9ee6c074dc) custom field to specify the required macOS keychain. If no keychain is specified, the default location is used. -### Q: Can the same certificate be deployed to multiple operating systems? +### Q: Can the same certificate be deployed to both Windows and macOS? -> Yes. Enable the applicable operating systems in the [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field and configure the corresponding certificate URL and store/keychain settings for each platform. +> Yes. Select an option in the [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field that includes both platforms (`Windows Workstations and Macintosh` or `All`). Windows and macOS use separate download URL fields, so enter the certificate URL in both [cPVAL Win Certificate Download URL](/docs/1c5e34b8-839e-44b0-87ad-d2cb7e21bdd5) and [cPVAL MAC Certificate Download URL](/docs/6771a3e9-b9e9-4347-afb7-68c5fc5cf740). ### Q: What happens when certificate deployment is disabled? -> The endpoint will not be targeted by the applicable certificate deployment compound condition, and the certificate installation automation will not be triggered for that endpoint. +> When the [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field is set to `Disabled` or left empty, the endpoint is not targeted by any of the certificate deployment compound conditions, and the certificate installation automation is not triggered for that endpoint. ### Q: Why is the automation not running on an endpoint? > Verify that: +> > * The endpoint is a supported **Windows Workstation, Windows Server, or macOS endpoint**. -> * The appropriate operating system is enabled in the [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field. -> * The endpoint meets the appropriate Workstation, Server, or Macintosh compound condition. -> * A valid certificate download URL has been configured. +> * The [cPVAL Enable Certificate Deployment](/docs/d4f25ab4-f6e9-4f70-a4b5-a7fa61c2e69e) custom field is set to an option that includes the endpoint's operating system. +> * The appropriate Workstations, Servers, or Macintosh compound condition is applied to the endpoint's agent policy. +> * A valid certificate download URL has been configured for the endpoint's platform. > * The configured certificate store or keychain location is valid. > * The endpoint can access the configured certificate download URL. ### Q: Is any manual configuration required on the endpoint? -> No additional manual endpoint configuration is required. The solution uses the configured NinjaOne custom fields, automations, and compound conditions to deploy the certificate. - -### Q: Can I use a custom certificate store or keychain? - -> Yes. The solution supports custom certificate store locations on Windows and custom keychain locations on macOS. If no custom location is specified, the applicable default location is used. +> No. The solution uses the configured NinjaOne custom fields, automations, and compound conditions to deploy the certificate. ## Changelog