A criptografia de chave pública é um processo . Um certificado, enquanto isso, é uma peça de informação ; não faz nada por si só. Portanto, você pode substituir uma chave pública por um certificado, mas não pode substituir a criptografia de chave pública por um certificado.
Além disso, os certificados são uma extensão de chaves públicas; eles carregam uma chave pública junto com informações sobre quem a possui e quem a emitiu. Então, dizer "basta usar um certificado em vez de uma chave pública" está para trás.
Alguns protocolos (como OpenPGP ou TLS) usam certificados porque fazem uso das informações em certificados; geralmente para ter certeza de que é um certificado "real" e não apenas algo inventado no local. Isso é importante não para criptografia, mas para autenticação .
Outros protocolos (como IPSec ou SSH) podem usar ambos - configuração manual de chaves públicas correspondentes a cada usuário & host, ou verificação automática de certificados de acordo com os nomes armazenados neles.
(Na verdade, a criptografia de chave pública é usada muito pouco em TLS ou SSH modernos. Lembre-se de que ela é muito mais lenta que a criptografia simétrica e, portanto, ambas as extremidades apenas decidem por uma chave simétrica aleatória). sessão, e usá-lo para criptografar simétrica a maior parte dos dados usando AES ou RC4 ou tal.No passado, um lado iria gerar a chave de sessão, criptografá-lo com a chave pública do outro lado, e enviá-lo ao longo, onde ele seria descriptografado usando a chave privada. Agora, no entanto, os dois lados usam protocolos DH ou semelhantes para calcular a chave de sessão, e o único objetivo das chaves públicas é autenticar os cálculos enviados pelos dois lados.)