Сертификаты, подписанные несколькими центрами сертификации

Сертификаты, подписанные несколькими центрами сертификации

Возможно ли иметь сертификат OpenSSL, подписанный несколькими центрами сертификации?

Предыстория: У нас есть CA, который выдает сертификаты в основном для наших межмашинных коммуникаций. Теперь нам нужно сделать некоторые сервисы доступными для пользователей, и мы хотели бы использовать тот же CA, но, конечно, большинство поставщиков ему не доверяют. Было бы неплохо, если бы мы могли подписать эти сертификаты другим CA, чтобы повысить доверие.

решение1

Нет, сертификат X.509 (тип, используемый OpenSSL) не может иметь более одной подписи. Однако вы можете выпустить несколько сертификатов, которые будут выполнять одну и ту же работу.

При условии, что вы сохраняете ключ и субъект теми же, вы можете создать несколько сертификатов CA, каждый из которых будет удовлетворять требованиям как действительный сертификат эмитента для сертификатов, которые выпускают (те?) CA. Эти сертификаты CA могут быть сами по себе подписанными или выпущенными другими CA, как то, что называется перекрестно подписанным сертификатом.

Другие ответчики правы: любой коммерческий CA захочет очень тщательно изучить ваши политики и процедуры, прежде чем перекрестно подписывать ваш CA. Тем не менее, это определенно возможно с технической точки зрения.

Если пользователи, о которых вы говорите, используют только контролируемые вами устройства (т. е. они внутренние пользователи), то я предлагаю установить ваш корневой сертификат CA на этих устройствах. Это то, что делают многие крупные компании (и я на самом деле делаю это в своей собственной сети!), и это позволяет вам выпускать сертификаты только для внутреннего использования столько, сколько вам нужно, в соответствии с вашими собственными политиками.

Если же, с другой стороны, пользователи находятся вне вашей организации (или даже сотрудники, работающие из дома, например), то, вероятно, лучше всего иметь сертификаты, выпущенные доверенным коммерческим CA. Если вам понадобится много таких сертификатов (более 5 в год), большинство коммерческих CA имеют программы, которые облегчают административную нагрузку и часто снижают стоимость; если вам понадобится действительно большое количество (я бы даже не стал тратить время на поиски, если только это не более 100 в год), вы можете рассмотреть возможность обращения в CA для настройки собственного подчиненного CA (но, как и выше, они, скорее всего, захотят, чтобы вы настроилиновыйCA в соответствии со своими политиками, а не перекрестно подписывать существующий сертификат).

решение2

Было бы неплохо, если бы мы могли подписать эти сертификаты другим центром сертификации, чтобы повысить доверие.

Даже если бы это было возможно, это не увеличило бы уровень доверия, поскольку недоверенная сторона также подписала сертификат, что означает, что сертификат в целом не должен быть доверенным. Я предлагаю вам просто подписывать все от нового поставщика CA, которому основные платформы действительно доверяют.

решение3

Единственный способ повысить доверие — это иметьКАподписано доверенным CA. Таким образом, ваш CA будет действовать как промежуточный CA, так что клиенты смогут отслеживать вашу цепочку сертификатов до одного из предварительно доверенных CA, но все ваши выпущенные сертификаты по-прежнему будут исходить из одного общего корня.

По крайней мере, такова теория, но, насколько я понимаю, ни один CA не захочет этого делать, если вы не передадите им свой PKI.CACert викиесть некоторые подробности о проблеме.

Таким образом, судя по всему, вам придется либо заставлять своих клиентов устанавливать новый доверенный центр сертификации, либо получать клиентские сертификаты не от вашего собственного центра сертификации, а от какого-нибудь крупного, заранее доверенного центра сертификации, как и предложил Ramhound.

Связанный контент