Eu acho que você provavelmente já está fazendo isso no menor número de etapas possível. Você não pode ter um PFX antes de ter a chave privada e o CSR assinado, e você não poderá ter um certificado assinado até que a CA tenha aprovado sua solicitação. (O que pode ou não exigir a aprovação manual do Administrador, dependendo das configurações do modelo de certificado.)
No entanto, o certreq extrai suas chaves privadas do seu armazenamento de certificados, pois gera CSRs, e é por isso que você geralmente precisa concluir a solicitação de certificado no mesmo computador a partir do qual gerou a solicitação. Eu não posso deixar de sentir que isso é, pelo menos em parte, algumas tentativas do codificador da Microsoft para "nos proteger de nós mesmos", porque não saberíamos como manter nossas preciosas chaves privadas privadas. E eu não posso culpá-los. Nós provavelmente veríamos chaves privadas penduradas no perfil da área de trabalho de cada desenvolvedor da web em cada servidor da web se o certreq não mantivesse as chaves privadas longe delas.
De qualquer forma, eu discordo, mas se você quiser mais flexibilidade sobre sua chave privada do que o certreq lhe oferece, use a ferramenta de linha de comando OpenSSL para gerar suas chaves privadas. ( openssl genrsa -out private.key 2048
) Então você pode fazer o que quiser com eles sem a etapa extra de ter que exportá-los do seu armazenamento de certificados.