With registering my EOS ERC-20 tokens, I received an EOS public key and an EOS private key.
To be safe and secure I would love to check if my keys are valid. Without uploading them to a web service anywhere.
Any suggestions?
A public key, by it's very nature (and definition) is safely exposable online. This is what you would send someone if they were going to pay you in EOS. The same concept is true of any crypto currency. To verify if your EOS are registered you only need your ETH public key.
You can safely input your ETH public key on this site (left side: TOKEN REGISTRATION
) which will confirm if they're registered or not.
Update:
If you want to verify your public and private keys are a matching set you can download the ECC repo from EOSIO here: github.com/EOSIO/eosjs-ecc, specifically using the isValidPublic and isValidPrivate functions.
Now that the mainnet has launched one of the easiest ways to check if your EOS keys (not the ERC-20 based keys!) are valid:
Paste your EOS public key on http://eosflare.io, it should show the autogenerated EOS account name. If not, then there's no account on the EOS mainnet associated to that public key.
You could use Scatter, the browser extension which has a Key Pairs feature that lets you paste a private key and then it shows the associated public key for it, which you can then compare with your own public key.
You can use $ cleos wallet import <public_key>
if you have a keosd
instance running, and then $ cleos wallet private_keys
to see the private key associated with your public key.
This does not connect to any external services and can be done offline.