Я пытаюсь создать внутренний центр сертификации внутри моей компании. Одной из основных целей этого является предоставление сертификатов нашим клиентам, которые они будут использовать для установления TLS-соединений между нашими клиентскими и серверными приложениями (как на базе ОС Windows). Сейчас я работаю при следующих ограничениях:Сертификат X509 для конкретного приложения в Windows?
- Сертификат сервера выдается к каждому из наших клиентов, серверов, и должен быть установлен на сервере клиента таким образом, что наш Application Server можно использовать для установления сеансов TLS.
- Доверенный корневой сертификат для нашего ЦС будет упакован вместе с нашим клиентским приложением и должен быть установлен без помех вместе с приложением таким образом, чтобы клиентское приложение могло использовать его для проверки сертификата сервера. (Предполагается, что установщик имеет административный доступ на клиентской машине.)
- Доверенный корневой сертификат должен быть доступен любому пользователю клиентского приложения на клиентской машине и не должен запрашивать у пользователя пароль.
- Я смущаюсь разместить доверенный корневой сертификат в разделе «Доверенные корневые центры сертификации» в хранилище сертификатов «Локальная машина», поскольку он может затем использоваться в большей области, чем просто проверка подлинности нашего приложения (для аутентификации веб-страниц для IE, например.) В случае, если наш корневой сертификат скомпрометирован, я предпочел бы ограничить ущерб нашему собственному приложению.
Где и как я должен устанавливать сертификат сервера и доверенный корневой сертификат на сервере и на клиентских компьютерах (опять же, используя ОС Windows), чтобы эти ограничения выполнялись?