If a station types in the proper password during a public key-exchange, but the manager cancels, then the station will have the manager's address and public key, but not the other way around. This will make the following public key-exchange requests fail unless you re-create the station.
This can probably be solved by having a ready-state when the key-exchange is done. If the key-exchange didn't execute successfully, the stations shouldn't save the public key.
If a station types in the proper password during a public key-exchange, but the manager cancels, then the station will have the manager's address and public key, but not the other way around. This will make the following public key-exchange requests fail unless you re-create the station.
This can probably be solved by having a ready-state when the key-exchange is done. If the key-exchange didn't execute successfully, the stations shouldn't save the public key.