From 6d16a7ae21c629ef3bda576c14bc1491d65bd6fc Mon Sep 17 00:00:00 2001 From: Matthew Lopez <73856503+MatthewL246@users.noreply.github.com> Date: Tue, 28 Jun 2022 19:10:38 -0400 Subject: [PATCH] Add instructions for compiling OpenSSL This is necessary for distributions that install OpenSSL 3.x.x by default, which is too new for connecting to Nintendo's servers. --- readme.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/readme.md b/readme.md index cdff579..28df897 100644 --- a/readme.md +++ b/readme.md @@ -24,3 +24,20 @@ Running the launcher script will now automatically load the Pretendo addon scrip 3. Upload the created `CACERT_NINTENDO_CA_G3.der` file to `/storage_mlc/sys/title/0005001b/10054000/content/scerts`, replacing the original file. To undo this modification, just upload the backup files back to the `content` folder. + +### Using a custom version of OpenSSL with mitmproxy + +1. Install mitmproxy normally with `pip install mitmproxy`. +2. Get the [latest version](https://www.openssl.org/source/) of **OpenSSL 1.1.1** and download it with `curl https://www.openssl.org/source/openssl-1.1.1(version).tar.gz | tar xz; cd openssl-1.1.1(version)` +3. Compile OpenSSL and Python cryptography according to the [Python cryptography module documentation](https://cryptography.io/en/latest/installation/#build-on-linux): +``` +sudo apt-get install build-essential libffi-dev python3-dev cargo -y +sudo apt-get remove libssl-dev -y +./config -Wl,-Bsymbolic-functions -fPIC shared +sudo make -j8 +sudo make install_sw +openssl version +hash -r +pip install cryptography --no-binary cryptography --force +``` +Running `mitmproxy --version` should now show the custom version of OpenSSL.