From 9c731e210e7d53ac841b46de43c4c067cbd6fb55 Mon Sep 17 00:00:00 2001 From: leefine02 Date: Tue, 13 Aug 2024 17:20:38 +0000 Subject: [PATCH 1/9] ab#61963 --- Bundle/Management.cs | 2 +- F5Client.cs | 23 +++++++++++++---------- F5DataModels.cs | 2 ++ SSLProfile/Management.cs | 8 ++++---- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/Bundle/Management.cs b/Bundle/Management.cs index 7ca56d9..b88fc57 100644 --- a/Bundle/Management.cs +++ b/Bundle/Management.cs @@ -97,7 +97,7 @@ private void PerformAddJob(F5Client f5) if (!JobConfig.Overwrite) { throw new Exception($"An entry named '{name}' exists and 'overwrite' was not selected"); } LogHandlerCommon.Debug(logger, JobConfig.CertificateStoreDetails, $"Replace entry '{name}' in '{JobConfig.CertificateStoreDetails.StorePath}'"); - f5.ReplaceEntry(partition, name, JobConfig.JobCertificate.Contents); + f5.ReplaceEntry(partition, name, JobConfig.JobCertificate.Contents, null); } else { diff --git a/F5Client.cs b/F5Client.cs index 818854e..51fc30a 100644 --- a/F5Client.cs +++ b/F5Client.cs @@ -83,7 +83,7 @@ public F5Client(CertificateStore certificateStore, string serverUserName, string #region Certificate/PFX Shared - public void AddEntry(string partition, string name, string b64Certificate) + public void AddEntry(string partition, string name, string b64Certificate, string certificatePassword) { LogHandlerCommon.MethodEntry(logger, CertificateStore, "AddEntry"); LogHandlerCommon.Trace(logger, CertificateStore, $"Processing certificate for partition '{partition}' and name '{name}'"); @@ -94,7 +94,7 @@ public void AddEntry(string partition, string name, string b64Certificate) if (certificate.HasPrivateKey) { LogHandlerCommon.Trace(logger, CertificateStore, $"Certificate for partition '{partition}' and name '{name}' has a private key - performing addition"); - AddPfx(entryContents, partition, name, password, null); + AddPfx(entryContents, partition, name, password, null, certificatePassword); LogHandlerCommon.Trace(logger, CertificateStore, $"PFX addition for partition '{partition}' and name '{name}' completed"); } else @@ -106,7 +106,7 @@ public void AddEntry(string partition, string name, string b64Certificate) LogHandlerCommon.MethodExit(logger, CertificateStore, "AddEntry"); } - public void ReplaceEntry(string partition, string name, string b64Certificate) + public void ReplaceEntry(string partition, string name, string b64Certificate, string certificatePassword) { LogHandlerCommon.MethodEntry(logger, CertificateStore, "ReplaceEntry"); LogHandlerCommon.Trace(logger, CertificateStore, $"Processing certificate for partition '{partition}' and name '{name}'"); @@ -118,7 +118,7 @@ public void ReplaceEntry(string partition, string name, string b64Certificate) if (certificate.HasPrivateKey) { LogHandlerCommon.Trace(logger, CertificateStore, $"Certificate for partition '{partition}' and name '{name}' has a private key - performing replacement"); - ReplacePfx(entryContents, partition, name, password); + ReplacePfx(entryContents, partition, name, password, certificatePassword); LogHandlerCommon.Trace(logger, CertificateStore, $"PFX replacement for partition '{partition}' and name '{name}' completed"); } else @@ -220,7 +220,7 @@ private void AddCertificate(byte[] entryContents, string partition, string name) LogHandlerCommon.MethodExit(logger, CertificateStore, "AddCertificate"); } - private void AddPfx(byte[] entryContents, string partition, string name, string password, string keyName) + private void AddPfx(byte[] entryContents, string partition, string name, string password, string keyName, string certificatePassword) { LogHandlerCommon.MethodEntry(logger, CertificateStore, "AddPfx"); LogHandlerCommon.Trace(logger, CertificateStore, $"Uploading PFX to {partition}-{name}.p12"); @@ -238,6 +238,8 @@ private void AddPfx(byte[] entryContents, string partition, string name, string name = $"{name}", localfile = $"/var/config/rest/downloads/{partition}-{name}.p12{keyNameParam}", passphrase = password, + keyPassphrase = String.IsNullOrEmpty(certificatePassword) ? string.Empty : certificatePassword, + keySecurityType = String.IsNullOrEmpty(certificatePassword) ? "normal" : "password", partition = partition }, "pkcs12"); } @@ -248,7 +250,7 @@ private void AddPfx(byte[] entryContents, string partition, string name, string // again with that key name appended onto the localfile parameter. An F5 hotfix is necessary to produce // this message and use the updated /pkcs12 API that accepts the separate key name. if (string.IsNullOrEmpty(keyName) && ex.message.Contains(INVALID_KEY_MSG_ID)) - AddPfx(entryContents, partition, name, password, GetKeyName(ex.message)); + AddPfx(entryContents, partition, name, password, GetKeyName(ex.message), certificatePassword); else throw (name.Contains(".crt", StringComparison.OrdinalIgnoreCase) && ex.Message.Contains("expected to exist", StringComparison.OrdinalIgnoreCase) ? @@ -287,7 +289,7 @@ private void ReplaceCertificate(byte[] entryContents, string partition, string n LogHandlerCommon.MethodExit(logger, CertificateStore, "ReplaceCertificate"); } - private void ReplacePfx(byte[] entryContents, string partition, string name, string password) + private void ReplacePfx(byte[] entryContents, string partition, string name, string password, string certificatePassword) { LogHandlerCommon.MethodEntry(logger, CertificateStore, "ReplacePfx"); string timestamp = DateTime.Now.ToString("MM-dd-yy:H:mm:ss"); @@ -297,7 +299,7 @@ private void ReplacePfx(byte[] entryContents, string partition, string name, str ArchiveFile($"/config/filestore/files_d/{partition}_d/certificate_d/:{partition}:{name}_*", $"{partition}-{name}-{timestamp}.crt"); LogHandlerCommon.Trace(logger, CertificateStore, $"Adding PFX to partition '{partition}' and name '{name}'"); - AddPfx(entryContents, partition, name, password, null); + AddPfx(entryContents, partition, name, password, null, certificatePassword); LogHandlerCommon.MethodExit(logger, CertificateStore, "ReplacePfx"); } @@ -703,6 +705,7 @@ public List GetSSLProfiles(int pageSize) { try { + LogHandlerCommon.Trace(logger, CertificateStore, $"Processing alias {profiles[i].name}"); // Exclude 'ca-bundle.crt' as that can only be managed by F5 if (profiles[i].name.Equals("ca-bundle.crt", StringComparison.OrdinalIgnoreCase) || profiles[i].name.Equals("f5-ca-bundle.crt", StringComparison.OrdinalIgnoreCase)) @@ -860,14 +863,14 @@ public void AddBundleEntry(string bundle, string partition, string name, string if (!CertificateExists(partition, name)) { LogHandlerCommon.Debug(logger, CertificateStore, $"Add entry '{name}' in '{CertificateStore.StorePath}'"); - AddEntry(partition, name, b64Certificate); + AddEntry(partition, name, b64Certificate, null); } else { if (!overwrite) { throw new Exception($"An entry named '{name}' exists and 'overwrite' was not selected"); } LogHandlerCommon.Debug(logger, CertificateStore, $"Replace entry '{name}' in '{CertificateStore.StorePath}'"); - ReplaceEntry(partition, name, b64Certificate); + ReplaceEntry(partition, name, b64Certificate, null); } // Add the entry to the bundle diff --git a/F5DataModels.cs b/F5DataModels.cs index 753da1a..7ea6aae 100644 --- a/F5DataModels.cs +++ b/F5DataModels.cs @@ -108,6 +108,8 @@ internal class F5InstallCommand public string localfile { get; set; } public string passphrase { get; set; } + public string keyPassphrase { get; set; } + public string keySecurityType { get; set; } public string partition { get; set; } } diff --git a/SSLProfile/Management.cs b/SSLProfile/Management.cs index 367f6e8..d882506 100644 --- a/SSLProfile/Management.cs +++ b/SSLProfile/Management.cs @@ -57,7 +57,7 @@ public override JobResult ProcessJob(ManagementJobConfiguration config) { case CertStoreOperationType.Add: LogHandlerCommon.Debug(logger, config.CertificateStoreDetails, $"Add entry '{config.JobCertificate.Alias}' to '{config.CertificateStoreDetails.StorePath}'"); - PerformAddJob(f5); + PerformAddJob(f5, config.CertificateStoreDetails.StorePassword); break; case CertStoreOperationType.Remove: LogHandlerCommon.Trace(logger, config.CertificateStoreDetails, $"Remove entry '{config.JobCertificate.Alias}' from '{config.CertificateStoreDetails.StorePath}'"); @@ -81,7 +81,7 @@ public override JobResult ProcessJob(ManagementJobConfiguration config) } } - private void PerformAddJob(F5Client f5) + private void PerformAddJob(F5Client f5, string certificatePassword) { LogHandlerCommon.MethodEntry(logger, JobConfig.CertificateStoreDetails, "PerformAddJob"); string name = JobConfig.JobCertificate.Alias; @@ -92,12 +92,12 @@ private void PerformAddJob(F5Client f5) if (!JobConfig.Overwrite) { throw new Exception($"An entry named '{name}' exists and 'overwrite' was not selected"); } LogHandlerCommon.Debug(logger, JobConfig.CertificateStoreDetails, $"Replace entry '{name}' in '{JobConfig.CertificateStoreDetails.StorePath}'"); - f5.ReplaceEntry(partition, name, JobConfig.JobCertificate.Contents); + f5.ReplaceEntry(partition, name, JobConfig.JobCertificate.Contents, null); } else { LogHandlerCommon.Debug(logger, JobConfig.CertificateStoreDetails, $"The entry '{name}' does not exist in '{JobConfig.CertificateStoreDetails.StorePath}' and will be added"); - f5.AddEntry(partition, name, JobConfig.JobCertificate.Contents); + f5.AddEntry(partition, name, JobConfig.JobCertificate.Contents, certificatePassword); } LogHandlerCommon.MethodExit(logger, JobConfig.CertificateStoreDetails, "PerformAddJob"); } From 5ff94abad0778f45dfb711a2cac5f08abfed2cb4 Mon Sep 17 00:00:00 2001 From: leefine02 Date: Tue, 13 Aug 2024 19:44:10 +0000 Subject: [PATCH 2/9] ab#61963 --- images/image11.png | Bin 30891 -> 32634 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/image11.png b/images/image11.png index 256ad51ec41d66154cd2bdabe7122785845540d8..00d10a4ae5d94f47139973ec16bf83b208442bc1 100644 GIT binary patch literal 32634 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
    RKo)TQYN!u+(}QPKUll}046I%3eV2e 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 O8_J3r3bk@pZ~q(o9GC?F literal 30891 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 From 92410d6bca9a7b0864b18adc1c632e458b0cecfd Mon Sep 17 00:00:00 2001 From: leefine02 Date: Tue, 13 Aug 2024 19:50:12 +0000 Subject: [PATCH 3/9] ab#61963 --- images/image13.png | Bin 27820 -> 44705 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/image13.png b/images/image13.png index 541196518d2414c8ac7124df551b5f6ac6e28e4a..3b8c929694a1104dce8f604879c6b517480da582 100644 GIT binary patch literal 44705 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 IX#=1C0`OY-?*IS* From 8868eccc31ffe0059a5f29f7c8d25c93f21affb6 Mon Sep 17 00:00:00 2001 From: leefine02 Date: Tue, 13 Aug 2024 20:24:32 +0000 Subject: [PATCH 4/9] ab#61963 --- readme_source.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/readme_source.md b/readme_source.md index a0736a4..5568c08 100644 --- a/readme_source.md +++ b/readme_source.md @@ -91,31 +91,35 @@ If you choose to manually create a F5 store In Keyfactor Command rather than run - **Container** – Optional. Select a container if utilized. -- **Client Machine & Credentials** – Required. The server name or IP Address and login credentials for the F5 device. The credentials for server login can be any of: - - - UserId/Password - - - PAM provider information to pass the UserId/Password or UserId/SSH private key credentials - - When entering the credentials, UseSSL ***must*** be selected. +- **Client Machine** – Required. The server name or IP Address for the F5 device. - **Store Path** – Required. Enter the name of the partition on the F5 device you wish to manage. This value is case sensitive, so if the partition name is "Common", it must be entered as "Common" and not "common". +- **Orchestrator** – Required. Select the orchestrator you wish to use to manage this store + - **Primary Node Online Required** – Optional. Select this if you wish to stop the orchestrator from adding, replacing or renewing certificates on nodes that are inactive. If this is not selected, adding, replacing and renewing certificates on inactive nodes will be allowed. If you choose not to add this custom field, the default value of False will be assumed. - **Primary Node** - Only required (and shown) if Primary Node Online Required is added and selected. Enter the fully qualified domain name of the F5 device that acts as the primary node in a highly available F5 implementation. If you're using a single F5 device, this will typically be the same value you entered in the Client Machine field. -- **Primary Node Check Retry Maximum** - Only required (and shown) if Primary Node Online Required is added and selected. Enter the number of times a Management-Add job will attempt to add/replace/renew a certificate if the node is inactive before failing. - - **Primary Node Check Retry Wait Seconds** - Only required (and shown) if Primary Node Online Required is added and selected. Enter the number of seconds to wait between attempts to add/replace/renew a certificate if the node is inactive. +- **Primary Node Check Retry Maximum** - Only required (and shown) if Primary Node Online Required is added and selected. Enter the number of times a Management-Add job will attempt to add/replace/renew a certificate if the node is inactive before failing. + - **Version of F5** - Required. Select v13, v14, or v15 to match the version for the F5 device being managed +- **Server Username/Server Password** - Required. The credentials for server login can be any of: + + - UserId/Password + + - PAM provider information to pass the UserId/Password or UserId/SSH private key credentials + +- **Use SSL** - Required. True if using https to access the F5 device. False if using http. + - **Ignore SSL Warning** - Optional. Select this if you wish to ignore SSL warnings from F5 that occur during API calls when the site does not have a trusted certificate with the proper SAN bound to it. If you choose not to add this custom field, the default value of False will be assumed and SSL warnings will cause errors during orchestrator extension jobs. - **Use Token Authentication** - Optional. Select this if you wish to use F5's token authentiation instead of basic authentication for all API requests. If you choose not to add this custom field, the default value of False will be assumed and basic authentication will be used for all API requests for all jobs. Setting this value to True will enable an initial basic authenticated request to acquire an authentication token, which will then be used for all subsequent API requests. -- **Orchestrator** – Required. Select the orchestrator you wish to use to manage this store +- **Store Password** - Required for F5-SL-REST only. Check "No Password" if you wish the private key of any added certificate to be set to Key Security Type "Normal". Enter a value (either a password or pointer to an installed PAM provider key for the password) to be used to encrypt the private key of any added certificate for Key Security Type of "Password". - **Inventory Schedule** – Set a schedule for running Inventory jobs or none, if you choose not to schedule Inventory at this time. From dd6ae65cf59d5bc44dc4ac79d87c25594b8db82b Mon Sep 17 00:00:00 2001 From: leefine02 Date: Wed, 14 Aug 2024 13:33:15 +0000 Subject: [PATCH 5/9] ab#61963 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 866e642..1a63531 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v1.6.0 +- Add Store Password (optional) to allow for setting key type to "Password" when adding/replacing a certificate. This will encrypt the private key deployed on the F5 device with the password set as the Store Password. + v1.5.0 - Add new optional custom paramter - UseTokenAuth - to make token auth vs basic auth (default) a selectable option From 99c59d4935bad7b665f3354164d78f8335264c06 Mon Sep 17 00:00:00 2001 From: leefine02 Date: Wed, 14 Aug 2024 17:08:30 +0000 Subject: [PATCH 6/9] ab#61963 --- .../workflows/keyfactor-starter-workflow.yml | 46 +++++++------------ 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/.github/workflows/keyfactor-starter-workflow.yml b/.github/workflows/keyfactor-starter-workflow.yml index b779b53..aa54b9c 100644 --- a/.github/workflows/keyfactor-starter-workflow.yml +++ b/.github/workflows/keyfactor-starter-workflow.yml @@ -1,33 +1,19 @@ -name: Starter Workflow -on: [workflow_dispatch, push, pull_request] +name: Keyfactor Bootstrap Workflow -jobs: - call-create-github-release-workflow: - uses: Keyfactor/actions/.github/workflows/github-release.yml@main - - call-assign-from-json-workflow: - uses: Keyfactor/actions/.github/workflows/assign-env-from-json.yml@main - - call-dotnet-build-and-release-workflow: - needs: [call-create-github-release-workflow, call-assign-from-json-workflow] - uses: Keyfactor/actions/.github/workflows/dotnet-build-and-release.yml@main - with: - release_version: ${{ needs.call-create-github-release-workflow.outputs.release_version }} - release_url: ${{ needs.call-create-github-release-workflow.outputs.release_url }} - release_dir: ${{ needs.call-assign-from-json-workflow.outputs.release_dir }} +on: + workflow_dispatch: + pull_request: + types: [opened, closed, synchronize, edited, reopened] + push: + create: + branches: + - 'release-*.*' - secrets: - token: ${{ secrets.PRIVATE_PACKAGE_ACCESS }} - - call-generate-readme-workflow: - if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' - uses: Keyfactor/actions/.github/workflows/generate-readme.yml@main +jobs: + call-starter-workflow: + uses: keyfactor/actions/.github/workflows/starter.yml@v2 secrets: - token: ${{ secrets.APPROVE_README_PUSH }} - - call-update-catalog-workflow: - needs: call-assign-from-json-workflow - if: needs.call-assign-from-json-workflow.outputs.update_catalog == 'True' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') - uses: Keyfactor/actions/.github/workflows/update-catalog.yml@main - secrets: - token: ${{ secrets.SDK_SYNC_PAT }} + token: ${{ secrets.V2BUILDTOKEN}} + APPROVE_README_PUSH: ${{ secrets.APPROVE_README_PUSH}} + gpg_key: ${{ secrets.KF_GPG_PRIVATE_KEY }} + gpg_pass: ${{ secrets.KF_GPG_PASSPHRASE }} \ No newline at end of file From 0601ee0ddefe5e2c213d04236fd5bca2783f4043 Mon Sep 17 00:00:00 2001 From: Keyfactor Date: Wed, 14 Aug 2024 17:09:33 +0000 Subject: [PATCH 7/9] Update generated README --- README.md | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index bfd004c..8a70640 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ + # F5 The F5 Orchestrator allows for the remote management of F5 Stores. Discovery, Inventory, and Management functions are supported. #### Integration status: Production - Ready for use in production environments. - ## About the Keyfactor Universal Orchestrator Extension This repository contains a Universal Orchestrator Extension which is a plugin to the Keyfactor Universal Orchestrator. Within the Keyfactor Platform, Orchestrators are used to manage “certificate stores” — collections of certificates and roots of trust that are found within and used by various applications. @@ -13,23 +13,22 @@ The Universal Orchestrator is part of the Keyfactor software distribution and is The Universal Orchestrator is the successor to the Windows Orchestrator. This Orchestrator Extension plugin only works with the Universal Orchestrator and does not work with the Windows Orchestrator. - ## Support for F5 -F5 is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket with your Keyfactor representative. +F5 is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket via the Keyfactor Support Portal at https://support.keyfactor.com ###### To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab. - --- +--- + ## Keyfactor Version Supported The minimum version of the Keyfactor Universal Orchestrator Framework needed to run this version of the extension is 10.1 - ## Platform Specific Notes The Keyfactor Universal Orchestrator may be installed on either Windows or Linux based platforms. The certificate operations supported by a capability may vary based what platform the capability is installed on. The table below indicates what capabilities are supported based on which platform the encompassing Universal Orchestrator is running. @@ -39,7 +38,7 @@ The Keyfactor Universal Orchestrator may be installed on either Windows or Linux |Supports Management Remove|✓ |✓ | |Supports Create Store| | | |Supports Discovery|✓ |✓ | -|Supports Renrollment| | | +|Supports Reenrollment| | | |Supports Inventory|✓ |✓ | @@ -192,31 +191,35 @@ If you choose to manually create a F5 store In Keyfactor Command rather than run - **Container** – Optional. Select a container if utilized. -- **Client Machine & Credentials** – Required. The server name or IP Address and login credentials for the F5 device. The credentials for server login can be any of: - - - UserId/Password - - - PAM provider information to pass the UserId/Password or UserId/SSH private key credentials - - When entering the credentials, UseSSL ***must*** be selected. +- **Client Machine** – Required. The server name or IP Address for the F5 device. - **Store Path** – Required. Enter the name of the partition on the F5 device you wish to manage. This value is case sensitive, so if the partition name is "Common", it must be entered as "Common" and not "common". +- **Orchestrator** – Required. Select the orchestrator you wish to use to manage this store + - **Primary Node Online Required** – Optional. Select this if you wish to stop the orchestrator from adding, replacing or renewing certificates on nodes that are inactive. If this is not selected, adding, replacing and renewing certificates on inactive nodes will be allowed. If you choose not to add this custom field, the default value of False will be assumed. - **Primary Node** - Only required (and shown) if Primary Node Online Required is added and selected. Enter the fully qualified domain name of the F5 device that acts as the primary node in a highly available F5 implementation. If you're using a single F5 device, this will typically be the same value you entered in the Client Machine field. -- **Primary Node Check Retry Maximum** - Only required (and shown) if Primary Node Online Required is added and selected. Enter the number of times a Management-Add job will attempt to add/replace/renew a certificate if the node is inactive before failing. - - **Primary Node Check Retry Wait Seconds** - Only required (and shown) if Primary Node Online Required is added and selected. Enter the number of seconds to wait between attempts to add/replace/renew a certificate if the node is inactive. +- **Primary Node Check Retry Maximum** - Only required (and shown) if Primary Node Online Required is added and selected. Enter the number of times a Management-Add job will attempt to add/replace/renew a certificate if the node is inactive before failing. + - **Version of F5** - Required. Select v13, v14, or v15 to match the version for the F5 device being managed +- **Server Username/Server Password** - Required. The credentials for server login can be any of: + + - UserId/Password + + - PAM provider information to pass the UserId/Password or UserId/SSH private key credentials + +- **Use SSL** - Required. True if using https to access the F5 device. False if using http. + - **Ignore SSL Warning** - Optional. Select this if you wish to ignore SSL warnings from F5 that occur during API calls when the site does not have a trusted certificate with the proper SAN bound to it. If you choose not to add this custom field, the default value of False will be assumed and SSL warnings will cause errors during orchestrator extension jobs. - **Use Token Authentication** - Optional. Select this if you wish to use F5's token authentiation instead of basic authentication for all API requests. If you choose not to add this custom field, the default value of False will be assumed and basic authentication will be used for all API requests for all jobs. Setting this value to True will enable an initial basic authenticated request to acquire an authentication token, which will then be used for all subsequent API requests. -- **Orchestrator** – Required. Select the orchestrator you wish to use to manage this store +- **Store Password** - Required for F5-SL-REST only. Check "No Password" if you wish the private key of any added certificate to be set to Key Security Type "Normal". Enter a value (either a password or pointer to an installed PAM provider key for the password) to be used to encrypt the private key of any added certificate for Key Security Type of "Password". - **Inventory Schedule** – Set a schedule for running Inventory jobs or none, if you choose not to schedule Inventory at this time. @@ -246,3 +249,6 @@ First, in Keyfactor Command navigate to Certificate Locations =\> Certificate St Once the Discovery job has completed, a list of F5 certificate store locations should show in the Certificate Stores Discovery tab in Keyfactor Command. Right click on a store and select Approve to bring up a dialog that will ask for the remaining necessary certificate store parameters described in Step 2a. Complete those and click Save, and the Certificate Store should now show up in the list of stores in the Certificate Stores tab. +When creating cert store type manually, that store property names and entry parameter names are case sensitive + + From 97c94e11526b0f785dddb69353ae38f7c5b039c0 Mon Sep 17 00:00:00 2001 From: leefine02 Date: Wed, 14 Aug 2024 17:13:34 +0000 Subject: [PATCH 8/9] ab#61963 --- integration-manifest.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integration-manifest.json b/integration-manifest.json index 5d9f0c1..b9c0aa5 100644 --- a/integration-manifest.json +++ b/integration-manifest.json @@ -12,6 +12,7 @@ "orchestrator": { "UOFramework": "10.1", "pam_support": true, + "keyfactor_platform_version": "10.4", "win": { "supportsCreateStore": false, "supportsDiscovery": true, @@ -349,7 +350,7 @@ "BlueprintAllowed": true, "CustomAliasAllowed": "Required" } - } + } } } } From 2f9e221dec873c504db0488c8b23f9ac66509f1c Mon Sep 17 00:00:00 2001 From: leefine02 Date: Wed, 25 Sep 2024 19:16:35 +0000 Subject: [PATCH 9/9] ab#61963 --- integration-manifest.json | 2 +- readme_source.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/integration-manifest.json b/integration-manifest.json index b9c0aa5..506e61f 100644 --- a/integration-manifest.json +++ b/integration-manifest.json @@ -128,7 +128,7 @@ "EntryParameters": [], "PasswordOptions": { "EntrySupported": false, - "StoreRequired": false, + "StoreRequired": true, "Style": "Default" }, "PrivateKeyAllowed": "Optional", diff --git a/readme_source.md b/readme_source.md index 5568c08..c18bdf0 100644 --- a/readme_source.md +++ b/readme_source.md @@ -62,7 +62,7 @@ The version number of a the F5 Orchestrator can be verified by right clicking on - **Custom Capability** - Leave unchecked - **Supported Job Types** – Select Inventory and Add for all 3 types, and Discovery for CA Bundles and SSL Certificates. - **General Settings** - Select Needs Server. Leave Uses PowerShell unchecked. Select Blueprint Allowed if you plan to use blueprinting. -- **Password Settings** - Leave both options unchecked +- **Password Settings** - Leave both options unchecked for F5-WS-REST and F5-CA-REST. Select Needs Store Password for F5-SL-REST. - **All selections on Advanced tab** - Set the values on this tab ***exactly*** as they are shown in the above screen prints for each applicable store type.