Skip to content

Getting SEGA's RSA Keys

acffordyce973 edited this page Jan 28, 2016 · 12 revisions

SEGA's keys

When connecting to the PSO2 servers, PSO2 normally encrypts it's packets with SEGA's RSA public key. To use a proxy, you provide your own public key and inject it into the client so the proxy can decrypt it. In order for the proxy to re-encrypt the packets when it sends it on to SEGA's server, the proxy needs one of the 4 keys used to encrypt packets installed on it.

##Notice: As of episode 4, none of the methods below work. Please contact us on IRC and ask for the latest SEGAKey.blob file.

Dumping SEGA's RSA pubkeys from the Client

In order to do this, you need to have the latest version of PSO2.

PSO2 Tweaker Method

To get the key with PSO2Tweaker, enable the Item Translation patch and open up or create a file named translation.cfg in the pso2_bin folder, and add two lines:

PublicKeyDump:1
PublicKeyPath:SEGAKey.blob

After you start the game, if everything works right, it should create one file with the name SEGAKey.blob. Simply upload SEGAKey.blob to your proxy server in the keys folder, use the command described in the README.md to convert it to a .pem, rename it to SEGAKey.pem and you should be good!

Remember to remove the lines from translation.cfg after you get the blob.

RSAKeyDumper.dll Method

You can use the RSAKeyDumper.dll provided in the tools folder to get the key. To use it, simply rename it to ddraw.dll, place it in pso2_bin and start PSO2.

After you start the game, if everything works right, it should create 4 files with the name SEGAKey#.blob, where # is between 0 and 3. Simply upload SEGAKey0.blob to your proxy server in the keys folder, use the command described in the README.md to convert it to a .pem, rename it to SEGAKey.pem and you should be good!