Поскольку «geotrustglobalca» и «/ C = US/O = GeoTrust Inc./CN=GeoTrust Global CA» на самом деле не сопоставимы.
Я блуждаю по бассейну с ответом на «эквивалентность сертификата X.509», так как его не легко увидеть или легко достать.
Во-первых, вы должны быть осторожны, сравнивая сертификаты на равенство. Если <certificate bits 1> == <certificate bits 2>
, то вы можете сказать, что они являются тем же самым сертификатом и равны. Однако обратное не выполняется.
Чтобы понять обратное, вам нужно знать две вещи. Во-первых, ЦС иногда перевыпускают сертификат с почти одинаковыми параметрами. Основываясь на имени субъекта, они эквивалентны; но на основе бит они не равны. Некоторые ЦС сделали это в прошлом, чтобы перейти от SHA-1 к SHA-256.
Второе, что нужно понять, это то, что является важными битами, поэтому вы можете определить, являются ли сертификаты эквивалентными. IETF не имеет документа для проверки X.509. Ближайшим является RFC 4158: Internet X.509 Public Key Infrastructure: Certification Path Building, смешанный с некоторыми другими документами, такими как правила выдачи (которые не совпадают с правилами проверки).
В соответствии с RFC 4158, то можно однозначно идентифицировать сертификат, либо:
{Issuer DN, Serial Number}
пары
{Authority Key identifier (AKID), Subject Key identifier (SKID)}
пара
угловой корпус СА повторно выдав результаты Root CA in:
- изменения хеша
- порядковый номер изменения
- открытый ключ остается
- отличительное имя остается
Пункт (3), открытый ключ остается, является существенным, потому что это не означает, что ни один ключ Идентификатор Authority (AKID) или Тема Ключ идентификатора (SKID) изменений. Пункт (4), Знаменитое имя остается, является значительным, потому что его много людей используют для сравнения (и это стало причиной многих ошибок безопасности на протяжении многих лет).
В этом случае идентификаторы ключей будут одинаковыми, поэтому вы должны принять решение, даже если серийный номер изменился. (Серийный номер должен изменяться в соответствии с правилами IETF и CA/B).
очень нечетный углом так, что пришло в открытом ключах пиннинга в последнее время, сервер представляет собой эллиптический сертификат кривого с использованием параметров домена (полное расширение p
, g
, Q
и т.д.), но клиент ожидает именованный кривой (например, secp256r1
). Должен ли этот ключ приниматься как эквивалент? (IETF говорит, что сертификат должен использовать именованную кривую).
Учитывая вышеизложенную информацию, эта информация бесполезна в вашем сравнении:
И эта информация неполна для сравнения:
"/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA"
В этом случае вы должны ошибаться на стороне осторожности и отклонять сравнение для равенства или эквивалентности.
*** 'CN = *. Slack.com' ***, вероятно, ошибочен. Имена серверов не должны находиться в * Common Name (CN) *. Он устарел и на форумах IETF, и на CA/B. Если они помещены в CN, то они также должны присутствовать в * Subject Alternate Name (SAN) * (вы должны перечислить их дважды в этом случае). Дополнительные правила и причины см. В разделе [Как вы подписываете запрос на подпись сертификата в своем сертификационном центре] (http://stackoverflow.com/a/21340898/608639) и [Как создать самозаверяющий сертификат с openssl?] (http://stackoverflow.com/q/10175812/608639) – jww
Stack Overflow - это сайт для вопросов программирования и разработки. Этот вопрос кажется вне темы, потому что речь идет не о программировании или разработке. См. [Какие темы можно задать здесь] (http://stackoverflow.com/help/on-topic) в Справочном центре. Возможно, лучше сказать [Суперпользователь] (http://superuser.com/) или [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/). Также см. [Где я пишу вопросы о Dev Ops?] (Http://meta.stackexchange.com/q/134306). – jww