feat: adds support for E2E TLS connection between AMT and RPS#2598
Open
feat: adds support for E2E TLS connection between AMT and RPS#2598
Conversation
There was a problem hiding this comment.
Pull request overview
Adds secure activation support to enable end-to-end TLS connectivity between AMT and RPS, including a port-switch handshake with rpc-go and additional TLS certificate handling needed for that flow.
Changes:
- Introduces
port_switch/port_switch_ackmessaging and parsing to coordinate switching to TLS (16993). - Extends activation + TLS state machines to support “secure activation” (generate/store certs, switch port, then continue over TLS tunnel).
- Adjusts WSMAN timeouts for TLS-enforced devices in selected configuration steps.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| src/utils/ClientResponseMsg.ts | Adds port_switch response message type handling. |
| src/utils/ClientMsgJsonParser.ts | Adds PORT_SWITCH_ACK payload decoding behavior. |
| src/stateMachines/wiredNetworkConfiguration.ts | Uses longer WSMAN timeout for TLS-enforced devices during 802.1x Put. |
| src/stateMachines/tls.ts | Secure-activation TLS cert generation/storage and new PUT_TLS_CREDENTIAL_CONTEXT path. |
| src/stateMachines/networkConfiguration.ts | Minor formatting-only import change. |
| src/stateMachines/featuresConfiguration.ts | Uses longer WSMAN timeout for TLS-enforced devices for Put operations. |
| src/stateMachines/error.ts | Adds a new logger instance (currently unused). |
| src/stateMachines/common.ts | Adds import for CONNECTION_RESET_ERROR (currently unused). |
| src/stateMachines/activation.ts | Implements secure activation flow (vault cert storage, port switch handshake, secure TLS tunnel init, upgrade continuation). |
| src/stateMachines/activation.test.ts | Updates test context to include secureCCMComplete. |
| src/models/RCS.Config.ts | Adds secure-activation flags, TLS cert fields, and new client methods. |
| src/interfaces/ISecretManagerService.ts | Extends device credentials schema to store TLS certs. |
| src/Validator.ts | Extracts secure activation flag from client payload. |
| src/DataProcessor.ts | Adds handler for PORT_SWITCH_ACK. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
76021da to
ae65365
Compare
ae65365 to
e4bcbb0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Checklist
What are you changing?
Anything the reviewer should know when reviewing this PR?
requires #2594 and wsman-messages update before being merged.
If the there are associated PRs in other repositories, please link them here (i.e. device-management-toolkit/repo#365 )