Invalid Public Key for Player

You may see something like this

communication failed: TLS handshake failed: invalid public key for player

This usually means that there is an issue with the public and private TLS keys in the MPC nodes' configuration files.

The MPC nodes communicate with each other using TLS. For that to work, each MPC node must have its own key pair, and the key pairs must be correctly specified in the MPC node configuration files. Se here for more on how to generate the key pairs.

For debugging with three MPC nodes, you can try to use the following sample keys in your configuration files. If you use only two MPC nodes, you can just use the first two configuration files and remove the section [Players.2].

Do not use the following keys in production!

Config file for Player 0:

[Player]
    PrivateKey: "MHcCAQEEIBFDKzYFNs30KRA5Or1Mnd5/jRr30QKiqdZkLZCZArsroAoGCCqGSM49AwEHoUQDQgAEIHC1nsfwEa564XsOXtYepwxRrvJfFdinWU5NnraAOMYPdTC1bKpzoHoSU+m9qXTjOVgY9AGFp3Qm5GVxrjI/fg=="
[Players.0]
    Publickey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIHC1nsfwEa564XsOXtYepwxRrvJfFdinWU5NnraAOMYPdTC1bKpzoHoSU+m9qXTjOVgY9AGFp3Qm5GVxrjI/fg=="
[Players.1]
    Publickey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEV8vuFWjoyfrZ8pFZmEjJ4TiUjFmEqFW1hWfnesmz1AcEgutqXpuIZDFMji76fzw7kXUCEcC7ETZXhEAbqku/tQ=="
[Players.2]
    Publickey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEH4yRAD39g4yBUKcXNcBDpFpd1o81Fab/pkDRN8zLtn/5hPelPrfK5p4SXJsd6f69q531PrSWwIaoGQ5kiwyU6w=="

Config file for Player 1:

[Player]
    PrivateKey: "MHcCAQEEINOcAgqVwPVG/KIIxAMIAHHr8wLS1kEYaJH+aqoCBFyGoAoGCCqGSM49AwEHoUQDQgAEV8vuFWjoyfrZ8pFZmEjJ4TiUjFmEqFW1hWfnesmz1AcEgutqXpuIZDFMji76fzw7kXUCEcC7ETZXhEAbqku/tQ=="
[Players.0]
    Publickey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIHC1nsfwEa564XsOXtYepwxRrvJfFdinWU5NnraAOMYPdTC1bKpzoHoSU+m9qXTjOVgY9AGFp3Qm5GVxrjI/fg=="
[Players.1]
    Publickey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEV8vuFWjoyfrZ8pFZmEjJ4TiUjFmEqFW1hWfnesmz1AcEgutqXpuIZDFMji76fzw7kXUCEcC7ETZXhEAbqku/tQ=="
[Players.2]
    Publickey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEH4yRAD39g4yBUKcXNcBDpFpd1o81Fab/pkDRN8zLtn/5hPelPrfK5p4SXJsd6f69q531PrSWwIaoGQ5kiwyU6w=="

Config file for Player 2:

[Player]
    PrivateKey: "MHcCAQEEIFx2G0+/wB57R2UR5I6yQT1rWpsyzJ1cNDfvHdIYvQuUoAoGCCqGSM49AwEHoUQDQgAEH4yRAD39g4yBUKcXNcBDpFpd1o81Fab/pkDRN8zLtn/5hPelPrfK5p4SXJsd6f69q531PrSWwIaoGQ5kiwyU6w=="
[Players.0]
    Publickey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIHC1nsfwEa564XsOXtYepwxRrvJfFdinWU5NnraAOMYPdTC1bKpzoHoSU+m9qXTjOVgY9AGFp3Qm5GVxrjI/fg=="
[Players.1]
    Publickey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEV8vuFWjoyfrZ8pFZmEjJ4TiUjFmEqFW1hWfnesmz1AcEgutqXpuIZDFMji76fzw7kXUCEcC7ETZXhEAbqku/tQ=="
[Players.2]
    Publickey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEH4yRAD39g4yBUKcXNcBDpFpd1o81Fab/pkDRN8zLtn/5hPelPrfK5p4SXJsd6f69q531PrSWwIaoGQ5kiwyU6w=="