У меня есть система, в которой сертификаты X509 могут иметь несколько «схем», где схема представляет собой набор точных OID, которые требуются/необязательны в теме сертификата. Приложение, которое проверяет эти сертификаты, должно знать, какая схема (и какая версия этой схемы) использовалась для данного сертификата.
Например, схема A требует CN, O, OU, а схема B требует CN, UID, O, C, ST.
Я ищу стандартный способ кодирования схемы (+ версия) в сертификате, чтобы принимающее приложение могло сказать из сертификата, как его анализировать. Решения:
- Захватите какой-нибудь совершенно несвязанный OID, чтобы запихнуть эту информацию в тему. Мне это не нравится, но это сработает как запасной вариант.
- Используйте расширение. Я думаю, что атрибуты предметного каталога могут быть уместными, но, похоже, в качестве полезной нагрузки все еще требуются пары имя/значение OID, так что еще раз, какие OID?
- Что-то совсем другое?
Опять же, я могу заставить это работать с # 1 или мог бы сделать аналогичный хак с # 2, но что мне действительно нужно, так это стандартный способ без взлома для достижения этой цели.