Если вы хотите сгенерировать сертификаты, вам нужно заставить клиента сгенерировать пару ключей и отправить вам хотя бы открытый ключ. Вы можете сделать это в Firefox с помощью вызова Javascript, это crypto.generateCRMFRequest . Я предполагаю, что есть специфичные для браузера методы, доступные и в других браузерах. Но сначала вам нужно выяснить, как выдать сертификат после получения открытого ключа.
Вы можете написать что-нибудь на сервере с OpenSSL, но он имеет встроенную поддержку CSR, а не формат CRMF, который вам отправит Firefox. Таким образом, вам нужно написать некоторый код для преобразования CRMF в CSR, что потребует какой-то возможности обработки DER & hellip; Я просто выхожу на поверхность - управление ЦС, даже для игрушечного приложения, не тривиально.
Решения SSO, такие как OpenId и PKI, перекрываются, и в PKI есть элегантность. Но дьявол кроется в деталях, и есть веские причины, по которым этот подход существует уже давно, но получил распространение только в правительственных и военных приложениях.
Если вы заинтересованы в этом, ответьте на некоторые вопросы, относящиеся к платформе, на которой вы хотели бы развивать свою службу CA.