Das Problem daran ist, dass ein solches Zertifikat nur dann etwas bringt, wenn der Nutzer es im Browser (oder ein eigener Client) auch als korrekt erkennen kann. Das funktioniert nur mit einem jeweils passenden Zertifikat, nicht mit einem "Generalzertifikat".
Nutzt du ein selbst signiertes Zertifikat, kann man nicht erkennen, wenn sich jemand mit einem Proxy dazwischen setzt. Denn derjenige würde dann ja auch wieder ein selbst signiertes Zertifikat präsentieren. Dadurch kann er die Kommunikation komplett mitlesen.
Das machen übrigens z.B. manche Antivirenprogramme, um auch verschlüsselte Kommunikation zu scannen. Probleme macht das, wenn auf der anderen Seite nicht nur geprüft wird, ob da ein Zertifikat ist, sondern auch, ob es das richtige ist. Dann klappt die Kommunikation nicht mehr.
Den Port kannst du frei wählen, aber dieser muss dann natürlich in der
URL explizit angegeben werden. Da die Standardports oft schon belegt sind, sollte der Nutzer natürlich auch selbst einen wählen können.