x509証明書のバージョンと「スキーマ」を示す標準的な方法
-
27-10-2019 - |
質問
X509証明書には、スキーマがCERTの主題に必要な/オプションである正確なOIDのコレクションである「スキーマ」が多数あることができるシステムがあります。これらの証明書を検証するアプリケーションは、特定の証明書に使用されているスキーマ(およびそのスキーマのバージョン)を知る必要があります。
たとえば、スキーマAにはCN、O、OU、およびスキーマBにはCN、UID、O、C、STが必要です。
証明書にスキーマ(+バージョン)をエンコードする標準的な方法を探しているので、受信アプリケーションは証明書からそれを解析する方法を知ることができます。ソリューション:
- この情報を主題に詰めるために、まったく関係のないoidをハイジャックします。私はこれが好きではありませんが、それはハッキングのフォールバックとして機能します。
- 拡張機能を利用します。サブジェクトディレクトリの属性は適切であると思われると思いますが、それでもペイロードとしてOID名/値のペアが必要であるように思われます。
- 完全に何か他のもの?
繰り返しますが、#1でこれを作ることも、#2で同様のハックをすることもできますが、本当に欲しいのは、この目標を達成するための標準的な非ハックの方法です。
解決 2
私は私の2つのメタデータフィールドのそれぞれに2.25アークの下でUUIDベースのOIDを利用することになりました(スキーマ と バージョン).
以下のサイトでは、利便性と登録リンクとしてUUIDジェネレーターを提供します(ただし、登録は厳密には必要ありませんが):
他のヒント
私はあなたがどのスキーマが使用されているかを気にするだろうと思います。つまり、おそらくあなたはおそらくDNにそれらのフィールドを正確に持っていることを意味します - そして、それらはまた、CAによって署名されているものの正確な息を吸い上げています(強制的な虚でした)。したがって、スキーマが異なると仮定すると、それはあなたがそれらを区別できるようになります。
別のオプションは、スキームごとに(sub)caです。または、単にNetscapeコメントフィールドを使用します:)。
しかし、私の経験では、組織がこのように宣伝、認識/再構築、解釈することが関連性がある場合 - それは一般に、何らかのビジネス目的があることを意味します。したがって、一般的に有用なビジネス名があります。その場合;そこに(必要に応じて、必要に応じてマルチバリアント)を(余分な)OまたはOU(マルチバリアント)を考えてください。