For devices like decrypting HTTPS proxies, there is often a built-in mechanism for generating a key-pair and CSR. An admin can then have their in-house authority sign the CSR with a subordinate CA template, and bind the certificate to the CSR in the appliance. In this case, the private key doesn't leave the appliance (and generally cannot be exported).
The same appliances often provide an option to upload an encrypted private key and certificate. In this scenario, the admin would use (for example) OpenSSL to generate the key and CSR on a separate machine, procure the certificate, and then upload them. The advantages in that case are the ability to store the private key for backup, potentially to specify longer key lengths, and add additional information to the CSR that may not be available in the generation wizard on the appliance. This of course assumes a solid key escrow/backup process.
My question is: Assuming there is a hardened, dedicated, offline machine (or "vault") for generating the key and CSR, which is the preferred method? From a security best-practice perspective, should the key be generated on the target appliance using the wizard, or the dedicated "OpenSSL" machine?
should the key be generated on the target appliance using the wizard
-- I always recommend this option. The key must be generated on device where it will be used. The only exception is when device has no capabilities to generate the key. – Crypt32 Sep 5 '18 at 17:39