I am working on a device whose OS provides an RSA Private primitive, where the inputs are the message, and the usual components of a private key. Unfortunately it is bugged so that in some cases of supplying garbage for the private key, the device panics instead of returning an error code. 

To try and avoid panics I would like to perform some pre-checks on the private key components. However, due to limited device resources, I'd prefer not to install a full Bignum library.

Are there any simple calculations I can do on the key components to check the key is valid? Time-efficiency is not a problem.

For example I can do peasant multiplication to verify $n = pq$; but what about validating $d\_P$, $d\_Q$, $q\_{\mathrm{inv}}$ and $d$ ?