-
Notifications
You must be signed in to change notification settings - Fork 264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Minimum viable SSL connection #5228
Open
fishface60
wants to merge
7
commits into
RPTools:develop
Choose a base branch
from
fishface60:ssl-client
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains 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
This is documentation for a manual process that will be incrementally automated.
fe9437e
to
198bd3c
Compare
SocketConnection has two constructors, either one wrapping an existing socket or one that creates the socket when started. Creating the socket from just the host and port is insufficiently flexible for supporting SSL sockets and since the only difference for how to handle SSL sockets is how they are created, making creation more flexible is the minimal change required to support them.
For now this could plausibly be a boolean in RemoteServerConfig.Socket but it is expected to grow additional complication.
This also adds support for rptools-maptool+tcps URIs to connect to SSL servers over the command-line. This adds the useSSL flag to an existing variant as the minimal change.
198bd3c
to
b292439
Compare
I assume the final intent of this change is to move everything into MT and not require any manual set up, or socat or openssl commands to be run or installed on the users machines? |
On Wed, 12 Feb 2025, 01:17 Craig Wisniewski, ***@***.***> wrote:
I assume the final intent of this change is to move everything into MT and
not require any manual set up, or socat or openssl commands to be run or
installed on the users machines?
Yep, the plan is that this CA stuff becomes automated and users are
prompted to trust the CA certificate on first use and verified through some
secure back-channel like the PIN is.
I suppose I could have named the PR better.
I think I called it Minimum Viable because if you really wanted to a GM
could set things up manually and it wouldn't be a huge hassle for players
to use.
The big document is partly "here's an explanation of how it works" but
right now it's more useful for being able to test it at all. After
everything is finished it's probably only there for historical interest and
could be mostly or entirely removed.
… |
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.
Identify the Bug or Feature request
Works towards #5164
Description of the Change
Most of the change is documenting how to set up a CA from MapTool's RSA keys, generate certificates and create the SSL tunnel.
The code change is adding support for creating an SSLSocket instead of a regular Socket and the URIs and Dialog to opt into using SSL.
Possible Drawbacks
Having a "Use SSL" checkbox to connect to a MapTool server behind a SSL port without corresponding config to create an SSL server is confusing.
Release Notes
doc/SSL.md
for documentation on how to create and configure certificates while the manual steps have yet to be automated.This change is