createKeyPair returns a promise