Должен ли я иметь 3 корневых центра сертификации, 1 корневой центр сертификации + 3 промежуточных узла или какую-либо другую установку PKI для следующей ситуации?
У меня три варианта использования:
Каждая пара ключей будет использоваться ровно для одного из вариантов использования.
Предположим, мне не нужен сторонний центр сертификации, и вместо этого я работаю с настраиваемым PKI в закрытой системе. Я вижу два основных способа поддержать это:
Я попытался начать №1, но обнаружил, что для того, чтобы openssl s_client
проверить сертификаты клиентов на HTTPS-сервере node.js, который мне нужно проверить от промежуточного до корневого, а не только на промежуточном. Это означает, что клиентские сертификаты между вариантом использования 2 и 3 можно менять местами, поскольку корень является якорем доверия. Я осмотрелся, но не могу найти способ сделать промежуточный ЦС якорем доверия для HTTPS-сервера node.js.
Итак, я что-то сильно не понимаю, мне нужно перейти к реализации №2 или к смеси вещей.
Сертификаты X.509 могут обеспечивать конфиденциальность и аутентификацию. То есть их можно использовать для шифрования ссылки и, необязательно, для аутентификации пользователя или сервера.
Они не дают авторизации. Вместо этого это зависит от приложения, чтобы определить, разрешен ли объект, который прошел аутентификацию с помощью сертификата X.509, для доступа к ресурсам.
Это означает, что (1) выше в порядке. Используйте один корень и убедитесь, что авторизация выполняется другим способом.
Однако, если вы настаиваете на том, чтобы сертификаты X.509 также обеспечивали авторизацию, вам необходимо: