Skip to content

feat: adds support for E2E TLS connection between AMT and RPS#2598

Open
rsdmike wants to merge 1 commit intomainfrom
tls11_18support
Open

feat: adds support for E2E TLS connection between AMT and RPS#2598
rsdmike wants to merge 1 commit intomainfrom
tls11_18support

Conversation

@rsdmike
Copy link
Member

@rsdmike rsdmike commented Mar 16, 2026

PR Checklist

  • Unit Tests have been added for new changes
  • API tests have been updated if applicable
  • All commented code has been removed
  • If you've added a dependency, you've ensured license is compatible with Apache 2.0 and clearly outlined the added dependency.

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 )

@rsdmike rsdmike marked this pull request as ready for review March 17, 2026 20:37
Copilot AI review requested due to automatic review settings March 17, 2026 20:37
@rsdmike rsdmike marked this pull request as draft March 17, 2026 20:37
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_ack messaging 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.

Base automatically changed from tlsness to main March 18, 2026 20:04
@rsdmike rsdmike force-pushed the tls11_18support branch 4 times, most recently from 76021da to ae65365 Compare March 18, 2026 20:37
@rsdmike rsdmike marked this pull request as ready for review March 18, 2026 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants