My application consumes public key and private key from the user. One way to take input is to take keystore path, password and alias as input.
However, user may not want to share the entire keystore with the application.
Would like to know if there is any standard way to consume only keys from the user?
No, there is no a standard way to share key pairs, as far as I know.
The user can of course always decide to split the key store so that access can be managed at a lower granular level. All the keys required for an application - at the same access level - can then be put in a separate key store.
It is often also possible to use a key-specific password. That last one is a bit tricky though. For one, the user has to deal with two passwords now instead of just one. Furthermore, the application is probably allowed to make changes to the key store even if the password for the private key is missing.
Generally you should - were possible - create key pairs locally rather than using existing ones. You would only import keys if there is a strong use case for it. E.g. you might want to share keys such as PGP keys as the public key is already trusted by some of the participants within your system.