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