Wenn man ein Client-Zertifikat für den Einsatz auf dem eigenen Webserver oder darauf laufende Anwendungen benötigt, kann man sich diese kostenpflichtig erstellen lassen.
Man kann sich jedoch auch mittels OpenSSL eine eigene RootCA-Zertifizierungsstelle anlegen und mit dieser dann eigene Client-Zertifikate signieren und ausgeben.
Alles was es dazu benötigt ließt du unter RootCA und Client-Zertifikat(e) erstellen.