Encryption Keys / Integration with Credit Card Readers

We would like to integrate our application software with a Verifone platform that uses an MX 915 device for credit card processing.  The device communicates via sockets and initial testing on that part of the process seems to work well.  However, part of the full integration has to include "registering" the device with the POS and in order to do that, we have to generate an RSA 2048-bit key that we can send to this device and get back an encrypted key that we will store and send along with the transactions to process.

All of this with creating these keys is a bit over what we typically do and we have no experience with this at all.  

Can anyone provide any ideas/suggestions/how to even get us started in the right direction?

Any help is appreciated.