Esta questão é mais adequada para o site link .
Certificados do lado do cliente não devem ser assinados por uma autoridade de certificação reconhecida; mais precisamente, eles devem ser assinados por tal raiz / intermediário que apenas assina o que você confiou para representar seus clientes.
Obviamente, a raiz pública pertencente a uma autoridade de certificação reconhecida assina outros certificados além dos seus clientes; assinar um certificado com algum texto de assunto (CN) é o mesmo que confiar que quem solicitou assinatura tem o direito de agir como esse assunto. Isso significa que uma CA reconhecida, por sua própria natureza, "confia" muito mais em Assuntos do que você confiaria. Em outras palavras, o seu servidor precisa ter cuidado extra para distinguir os assuntos que você confiam em todo o grupo.
Certificados reconhecidos publicamente também são um custo extra para comprar e renovar.
Embora possam existir soluções por CAs reconhecidas que atendam aos seus requisitos, elas sempre seriam mais caras, mais complicadas e <<> menos seguras do que assinar por conta própria ( com sua própria raiz, após o seu próprio processo de verificação de identidade do cliente). Não faz nenhum sentido para mim.
Ainda pior solução é pagar por certificados públicos e, em seguida, remover todas as raízes públicas do seu armazenamento de confiança e adicionar apenas certificados específicos de cliente final, um por um. Esse "compromisso" simplesmente une os custos de ambas as alternativas sem nenhum dos seus respectivos benefícios.
Atualização Profissionalmente, eu freqüentemente coopero com bancos e processadores PCI para pagamentos de comércio eletrônico. Na maioria das vezes, eles exigem suas próprias CAs para os certificados do lado do servidor e do lado do cliente e se recusam a usar CAs reconhecidas publicamente.