3

OpenSSLを使用して証明書署名要求(CSR)を生成しています。

標準フィールドは次のとおりです。

一般名:John Doe
組織:MyCompany Inc.
組織単位:販売
地域:SF
州:CA
国:米国
Eメール:john.doe@mycompany.com

ただし、次のような独自のフィールドを証明書に追加したいと思います
。GroupId:348348923
EmployeeLevel:Class 3

認証局(CA)にCSRへの署名を要求する前にこれを行う適切な方法は何ですか?

4

1 に答える 1

7

説明しているすべてのフィールドは、X509 CSR の対象項目です。それらは実際には OID です (通常、指定された短い名前で表示されます)。それらのリストはここにあります。やりたいことをするためには、いくつかのことが必要です。最初に、短い名前にマップする OID を定義する必要があります。これを行うにはいくつかの方法がありますが、技術的に一意性を保証したい場合は、IANA からエンタープライズ番号を要求する必要があります (プライベート割り当てのリスト)。

そのようなものが本当に必要ない場合は、ごまかして、1.3.6.1.4.1.X で独自の # を生成することもできますが、非常に大きな # を使用することをお勧めします。

これが完了したら、conf または使用しているその他のツールで OpenSSL OID マッピングを定義できます。もちろん、結果の証明書を独自のマッピングを認識しないもので表示すると、「GroupId」は表示されず、代わりに「1.3.6.1.4.1.3838483483.1=Class 3」のようなものが表示されます。

この CSR を公的に信頼された CA (独自のプライベート CA ではなく) に送信している場合、不明なフィールドがドロップされる可能性が非常に高いことに注意してください。

もちろん、必ずしもこれをやりたいとは限りません。これらの値を証明書にエンコードする必要がある場合は、作成した OID を直接参照するか、ショートネーム マッピングがすでにある、ほとんど使用されないさまざまな定義済みのサブジェクト OID から選択することをお勧めします。

于 2013-01-31T01:55:37.583 に答える