@@ -58,12 +58,6 @@ Uses A10's native REST API (AXAPI) for direct certificate management:
5858- Automatically detects and handles template bindings and virtual service configurations
5959- Implements intelligent certificate replacement to avoid service disruption
6060
61- #### ThunderMgmt Store Type
62- Uses SCP (Secure Copy Protocol) for management interface certificates:
63- - Orchestrator uploads certificates to an intermediate Linux SCP server
64- - A10 appliance retrieves certificates from the SCP server via API calls
65- - Designed for management interface SSL certificate deployment
66-
6761#### A10 vThunder Requirements
6862- A10 vThunder appliance with AXAPI support
6963- API versions 4.x or 6.x supported (automatically detected)
@@ -177,6 +171,64 @@ This guide explains how to create a user on A10 vThunder for API (AXAPI) access
177171 exit
178172 ```
179173
174+ ##### ThunderSsl Aliases
175+
176+ In the ThunderSsl store type, the ** alias** directly corresponds to the certificate and private key names stored on the A10 appliance:
177+
178+ - ** Certificate Name** : The alias becomes the SSL certificate identifier in A10's certificate store
179+ - ** Private Key Name** : The same alias is used for the associated private key
180+ - ** Template References** : SSL templates reference certificates by this exact alias name
181+ - ** API Operations** : All A10 API calls use this alias to identify the certificate/key pair
182+
183+ ###### Example ThunderSsl Usage
184+ ```
185+ Alias: "webserver-prod-2025"
186+ → A10 Certificate: "webserver-prod-2025"
187+ → A10 Private Key: "webserver-prod-2025"
188+ → Template Reference: server-ssl template uses cert "webserver-prod-2025"
189+ ```
190+
191+ ###### Alias Renaming for Template-Bound Certificates
192+
193+ When replacing a certificate that's bound to SSL templates, the orchestrator uses an intelligent renaming strategy:
194+
195+ 1 . ** Timestamp Generation** : Creates a Unix timestamp (10 digits)
196+ 2 . ** Alias Pattern Matching** :
197+ - If alias contains existing timestamp: ` webserver-prod_1640995200 ` → ` webserver-prod_1672531200 `
198+ - If no timestamp found: ` webserver-prod ` → ` webserver-prod_1672531200 `
199+ 3 . ** Length Validation** : Ensures final alias stays within A10's 240-character limit
200+ 4 . ** Template Updates** : All SSL templates are updated to reference the new timestamped alias
201+ 5 . ** Cleanup** : Original certificate is removed after successful template updates
202+
203+ ###### Replacement Workflow Example
204+ ```
205+ Original: "api-gateway-cert"
206+ Step 1: Generate new alias → "api-gateway-cert_1672531200"
207+ Step 2: Upload certificate with new alias
208+ Step 3: Update server-ssl templates: cert "api-gateway-cert" → "api-gateway-cert_1672531200"
209+ Step 4: Update client-ssl templates: cert "api-gateway-cert" → "api-gateway-cert_1672531200"
210+ Step 5: Remove old certificate "api-gateway-cert"
211+ Step 6: Rebind templates to virtual services
212+ ```
213+
214+ ###### Alias Best Practices
215+ - Use descriptive names that indicate purpose: ` web-frontend-ssl ` , ` api-backend-tls `
216+ - Avoid special characters that might conflict with A10 naming rules
217+ - Consider including environment indicators: ` prod-web-cert ` , ` stage-api-cert `
218+ - Remember that renaming will append timestamps for template-bound certificates
219+
220+ ###### Character Limitations
221+ - ** Maximum Length** : 240 characters (enforced by orchestrator)
222+ - ** Recommended Characters** : Letters, numbers, hyphens, underscores
223+ - ** Avoid** : Special characters that might cause issues in API calls or file operations
224+
225+ ##### Troubleshooting Alias Issues
226+
227+ ###### ThunderSsl Common Issues
228+ - ** Template Update Failures** : Verify templates exist and are accessible
229+ - ** Long Alias Names** : Orchestrator will truncate to fit timestamp if needed
230+ - ** Special Characters** : May cause API call failures
231+
180232##### Notes
181233
182234- This user will now be able to authenticate and perform actions via A10's AXAPI (v2/v3) interface.
@@ -379,6 +431,57 @@ It may be possible to use the A10 device itself as the SCP target location if it
379431
380432---
381433
434+ ##### ThunderMgmt Aliases
435+
436+ In the ThunderMgmt store type, the ** alias** determines the filename for certificates stored on the SCP server:
437+
438+ - ** Certificate File** : ` {alias}.crt ` on the SCP server
439+ - ** Private Key File** : ` {alias}.key ` on the SCP server
440+ - ** A10 API Reference** : The A10 management interface loads certificates using SCP URLs pointing to these files
441+
442+ ###### Example ThunderMgmt Usage
443+ ```
444+ Alias: "mgmt-interface-cert"
445+ → SCP Server Files:
446+ - /home/scpuser/mgmt-interface-cert.crt
447+ - /home/scpuser/mgmt-interface-cert.key
448+ → A10 API Call:
449+ - Certificate URL: scp://scpuser:[email protected] :/home/scpuser/mgmt-interface-cert.crt 450+ - Key URL: scp://scpuser:[email protected] :/home/scpuser/mgmt-interface-cert.key 451+ ```
452+
453+ ###### For Alias Names
454+ - Use names that clearly identify the management purpose: ` mgmt-interface-2025 `
455+ - Ensure filenames are valid for both SCP server filesystem and A10 API calls
456+ - Consider including renewal dates: ` mgmt-cert-jan2025 `
457+
458+ ###### ThunderMgmt File Management
459+
460+ The orchestrator handles file operations as follows:
461+
462+ 1 . ** Add Operation** :
463+ - Uploads ` {alias}.crt ` and ` {alias}.key ` to SCP server
464+ - Calls A10 API to load certificate from SCP URLs
465+ - A10 device pulls files directly from SCP server
466+
467+ 2 . ** Remove Operation** :
468+ - Deletes ` {alias}.crt ` and ` {alias}.key ` from SCP server
469+ - Does not modify A10 management interface configuration
470+
471+ 3 . ** Replace Operation** (with Overwrite=true):
472+ - Overwrites existing ` {alias}.crt ` and ` {alias}.key ` files
473+ - Calls A10 API to reload certificate from same SCP URLs
474+
475+ ###### Character Limitations
476+ - ** Maximum Length** : 240 characters (enforced by orchestrator)
477+ - ** Recommended Characters** : Letters, numbers, hyphens, underscores
478+ - ** Avoid** : Special characters that might cause issues in API calls or file operations
479+
480+ ###### ThunderMgmt Common Issues
481+ - ** File Path Issues** : Ensure SCP user has access to the target directory
482+ - ** Invalid Filenames** : Some characters may not be valid for filesystem operations
483+ - ** URL Encoding** : Special characters in aliases may require URL encoding in SCP URLs
484+
382485##### ✅ Summary
383486
384487This extension coordinates certificate and private key delivery by using SCP as a bridge between orchestrator logic and A10's strict API requirements. It ensures secure and automated deployment for the management interface certificates with minimal manual intervention.
@@ -620,17 +723,6 @@ Please refer to the **Universal Orchestrator (remote)** usage section ([PAM prov
620723
621724< details><summary> A10 Thunder Management Certificates (ThunderMgmt)< /summary>
622725
623- # ## ⚙️ Configuration Fields
624-
625- | Name | Display Name | Description | Type | Required |
626- | -------------------| -------------------------------| --------------------------------------------------------------| --------| ----------|
627- | OrchToScpServerIp | Orch To Scp Server IP | IP from the orchestrator to the SCP Linux server | String | ✅ |
628- | ScpPort | Port Used For SCP | Port used to connect to the SCP server | String | ✅ |
629- | ScpUserName | Username Used For SCP | Username for SCP access on the Linux server | Secret | ✅ |
630- | ScpPassword | Password Used For SCP | Password for SCP access on the Linux server | Secret | ✅ |
631- | A10ToScpServerIp | A10 Device To SCP Server IP | IP used by the A10 device to reach the SCP server (can be private) | String | ✅ |
632- | allowInvalidCert | Allow Invalid Cert on A10 API | If true, allows self-signed/untrusted certs for A10 API access | Bool | ✅ (default: true) |
633-
634726
635727# ## Store Creation
636728
@@ -725,116 +817,6 @@ Please refer to the **Universal Orchestrator (remote)** usage section ([PAM prov
725817
726818
727819
728- # # Certificate Alias Management
729-
730- Understanding how aliases work is crucial for proper certificate management across both store types.
731-
732- # ### ThunderSsl Aliases
733-
734- In the ThunderSsl store type, the ** alias** directly corresponds to the certificate and private key names stored on the A10 appliance:
735-
736- - ** Certificate Name** : The alias becomes the SSL certificate identifier in A10' s certificate store
737- - **Private Key Name**: The same alias is used for the associated private key
738- - **Template References**: SSL templates reference certificates by this exact alias name
739- - **API Operations**: All A10 API calls use this alias to identify the certificate/key pair
740-
741- ##### Example ThunderSsl Usage
742- ```
743- Alias: "webserver-prod-2025"
744- → A10 Certificate: "webserver-prod-2025"
745- → A10 Private Key: "webserver-prod-2025"
746- → Template Reference: server-ssl template uses cert "webserver-prod-2025"
747- ```
748-
749- ##### Alias Renaming for Template-Bound Certificates
750-
751- When replacing a certificate that' s bound to SSL templates, the orchestrator uses an intelligent renaming strategy:
752-
753- 1. ** Timestamp Generation** : Creates a Unix timestamp (10 digits)
754- 2. ** Alias Pattern Matching** :
755- - If alias contains existing timestamp: ` webserver-prod_1640995200` → ` webserver-prod_1672531200`
756- - If no timestamp found: ` webserver-prod` → ` webserver-prod_1672531200`
757- 3. ** Length Validation** : Ensures final alias stays within A10' s 240-character limit
758- 4. **Template Updates**: All SSL templates are updated to reference the new timestamped alias
759- 5. **Cleanup**: Original certificate is removed after successful template updates
760-
761- ##### Replacement Workflow Example
762- ```
763- Original: "api-gateway-cert"
764- Step 1: Generate new alias → "api-gateway-cert_1672531200"
765- Step 2: Upload certificate with new alias
766- Step 3: Update server-ssl templates: cert "api-gateway-cert" → "api-gateway-cert_1672531200"
767- Step 4: Update client-ssl templates: cert "api-gateway-cert" → "api-gateway-cert_1672531200"
768- Step 5: Remove old certificate "api-gateway-cert"
769- Step 6: Rebind templates to virtual services
770- ```
771-
772- #### ThunderMgmt Aliases
773-
774- In the ThunderMgmt store type, the **alias** determines the filename for certificates stored on the SCP server:
775-
776- - **Certificate File**: `{alias}.crt` on the SCP server
777- - **Private Key File**: `{alias}.key` on the SCP server
778- - **A10 API Reference**: The A10 management interface loads certificates using SCP URLs pointing to these files
779-
780- ##### Example ThunderMgmt Usage
781- ```
782- Alias: "mgmt-interface-cert"
783- → SCP Server Files:
784- - /home/scpuser/mgmt-interface-cert.crt
785- - /home/scpuser/mgmt-interface-cert.key
786- → A10 API Call:
787- - Certificate URL: scp://scpuser:[email protected] :/home/scpuser/mgmt-interface-cert.crt 788- - Key URL: scp://scpuser:[email protected] :/home/scpuser/mgmt-interface-cert.key 789- ```
790-
791- ##### ThunderMgmt File Management
792-
793- The orchestrator handles file operations as follows:
794-
795- 1. **Add Operation**:
796- - Uploads `{alias}.crt` and `{alias}.key` to SCP server
797- - Calls A10 API to load certificate from SCP URLs
798- - A10 device pulls files directly from SCP server
799-
800- 2. **Remove Operation**:
801- - Deletes `{alias}.crt` and `{alias}.key` from SCP server
802- - Does not modify A10 management interface configuration
803-
804- 3. **Replace Operation** (with Overwrite=true):
805- - Overwrites existing `{alias}.crt` and `{alias}.key` files
806- - Calls A10 API to reload certificate from same SCP URLs
807-
808- #### Alias Best Practices
809-
810- ##### For ThunderSsl
811- - Use descriptive names that indicate purpose: `web-frontend-ssl`, `api-backend-tls`
812- - Avoid special characters that might conflict with A10 naming rules
813- - Consider including environment indicators: `prod-web-cert`, `stage-api-cert`
814- - Remember that renaming will append timestamps for template-bound certificates
815-
816- ##### For ThunderMgmt
817- - Use names that clearly identify the management purpose: `mgmt-interface-2025`
818- - Ensure filenames are valid for both SCP server filesystem and A10 API calls
819- - Consider including renewal dates: `mgmt-cert-jan2025`
820-
821- ##### Character Limitations
822- - **Maximum Length**: 240 characters (enforced by orchestrator)
823- - **Recommended Characters**: Letters, numbers, hyphens, underscores
824- - **Avoid**: Special characters that might cause issues in API calls or file operations
825-
826- #### Troubleshooting Alias Issues
827-
828- ##### ThunderSsl Common Issues
829- - **Template Update Failures**: Verify templates exist and are accessible
830- - **Long Alias Names**: Orchestrator will truncate to fit timestamp if needed
831- - **Special Characters**: May cause API call failures
832-
833- ##### ThunderMgmt Common Issues
834- - **File Path Issues**: Ensure SCP user has access to the target directory
835- - **Invalid Filenames**: Some characters may not be valid for filesystem operations
836- - **URL Encoding**: Special characters in aliases may require URL encoding in SCP URLs
837-
838820# # API Integration Details
839821
840822# ## AXAPI Endpoints Used
@@ -847,13 +829,6 @@ The orchestrator handles file operations as follows:
847829- ** Partitions** : ` /axapi/v3/active-partition`
848830- ** Memory Operations** : ` /axapi/v3/write/memory`
849831
850- ### Certificate Format Support
851-
852- - **PKCS#12**: Full support for certificates with private keys
853- - **PEM**: Individual certificate files
854- - **Certificate Chains**: Automatic handling of certificate chains
855- - **Private Key Extraction**: Secure extraction and separate storage
856-
857832# ## Advanced Features
858833
859834# ### Partition Support
@@ -877,13 +852,6 @@ Advanced virtual service management:
877852- Coordinated unbinding and rebinding operations
878853- Support for multiple template types on single ports
879854
880- #### Alias Management
881-
882- Sophisticated alias handling:
883- - Automatic timestamp generation for replacements
884- - 240-character limit compliance
885- - Duplicate alias detection and resolution
886-
887855# ## TEST CASES
888856
889857Case Number| Case Name| Case Description| Store Path| Overwrite Flag| Alias Name| Expected Results| Passed
0 commit comments