У людей, незнакомых с X.509 выдача сертификатов ассоциируется обычно с чем-то официальным, либо с чем-то таким с формами, полями, кнопками...
А на самом деле все значительно проще.
Удостоверяющий центр (СA, Certificate Authority) - это просто обвязка для OpenSSL, так как все делается через него (или через его аналог в винде). Требуется сертификат СA, его ключ и небольшой конфиг, в котором прописывается, какие поля будут в сертификате и что они будут содержать. Сам сертификат - это просто бинарный файлик, в котором прописана некоторая информация (какая - задано в шаблоне сертификата, который формируется СA). Вся ценность сертификата, за которую платят деньги - это то, что СА гарантирует правильность этой информации. Именно поэтому для продающих сайтов так не рекомендуется брать сертификаты у разных letsencrypt - да, я могу написать на бумажке "Паспорт", но кто мне поверит?
Для выдачи сертификата собственным СА нужно прежде всего всем, кто будет использовать данные сертификаты, расставить сертификат самого СА и сделать его доверенным. Сделать это можно не всюду - например в андроиде добавление своего корневого СА приведет к появлению желтого треугольника с надписью "АААА, за Вами сделят!", а в виндофоне это просто невозможно. Если этого не сделать, то постоянно при обращении к устройству, которое использует этот сертификат будут постоянные вопли про недоверенный сертификат.
Процесс получения собственно сертификата состоит из:
- формирования запроса на сертификат (CSR, Certificate Signing Request) и ключа
- передачи CSR в CA
- формирования самого сертификата
- возврата сертификата туда, где формировали запрос.
CSR - бинарный файл, формируется он множеством различных способов - через OpenSSL, через виндовые программы, многие устройства сами формируют CSR. CSR - не сертификат, а только исходные данные для него. Одновременно с сертификатом формируется ключ сертификата, который следует хранить в тайне. Утеря ключа сертификата означает, что этим сертификатом сможет свободно пользоваться злоумышленник и никто не сможет сказать, владелец сертификата им воспользовался или нет.
Для передачи CSR в CA его обычно кодируют в base64 и в таком виде отправляют. Если текст сертификата начинается с --- BEGIN CERTIFICATE --- - это как раз оно.
CА, получив CSR, формирует сертификат и возвращает его обратно тому, кто выпустил CSR. Сертификат также кодируется в base64.
Срок действия сертификата ограничен. Для обычных сертификатов он составляет год, но ничего не мешает сделать срок как более длинным, таки более коротким. Срок действия самого сертификата СА обычно большой - 5 - 10 лет.
Изменить содержимое сертификата нельзя - поэтому при формировании CSR нужно быть очень внимательным, если конечно у Вас не корпоративный СА