Eu recebi a resposta da lista de discussão do EJBCA e também peguei informações no código-fonte.
Talvez possa ser de alguma ajuda para outra pessoa, por isso vou colar aqui a resposta.
The underlying method used by EJBCA to generate private key is via the Java class java.util.Random and the class java.security.SecureRandom.
In EJBCA code, the key are generated by the method createCryptoToken from the class CryptoTokenManagementSessionBean which uses SecureRandom() from the file modules/cesecore-ejb/src/org/cesecore/keys/token/CryptoTokenManagementSessionBean.java
At the end OpenJDK SecureRandom implementation uses /dev/random. So the overall entropy is the entropy of /dev/random. There is plenty of methods to improve it's entropy pool. A solution is with using hardware token.
NB: Aqui aplica-se apenas ao sistema sem HSM (nesse caso, a chave é gerada no HSM, portanto, depende do HSM) e executada no Linux (e provavelmente no sistema com / dev / random, portanto, a família BSD ).