Bonjour Ricardo,
en effet lorsque tu souhaites mettre en place SSL/TLS, il est question de clé privée et clé public. L’une dépend de l’autre. Ce qui sera chiffré avec la clé publique contenue dans le certificat, ne pourra être déchiffré qu’avec la clé privée associée.
Le certificat est un document électronique qui permet de lier une clé public à une identité (url web, mail etc…). Dans un certificat tu trouveras donc l’identité du site pour lequel il va être utilisé ainsi que la clé publique.
Pour créer cet ensemble (clé privée / certificat), tu peux utiliser Openssl. (Man req)
Tu as des exemples en bas de page de “man req”
Pour créer un certificat auto-signé, tu peux utiliser la commande suivante :
openssl req -newkey rsa:2048 -keyout cle_privee.pem -rand /dev/urandom
-nodes -out certificat.pem -days 1000 -x509
L’explication des différentes options est donnée dans la même page du man.
A savoir que tu peux également créer ta propre autorité de certification avec laquelle tu pourras ensuite générer (signer pour être plus précis) des certificats pour tes différents serveurs. Par exemple : web, messagerie, cloud etc…
En espérant répondre à ta question.
Bon courage 
@+