2016-06-25 7 views
1

にOIDサブジェクト代替名のエントリをフォーマットする方法:私はcertifacateに次のSANを追加する必要があるのopenssl.cnfファイル

oid:1.2.3.4.5.5 

私の通常の証明書の作成プロセスは、openssl.cnfがファイルを生成することですこのファイルを使用してcsr(証明書署名要求)を生成し、自分のCAを使用してcsrから証明書を生成します。

.cnfファイルは、csrに、最終的にはcrtに含めたいすべてのSANを記述するセクションを含むプレーンテキストファイルです。そのセクションは次のようになります。私はOIDエントリ3種類の方法を挿入しようとしている

... 
[san] 
DNS.1 = foo.bar 
DNS.2 = baz.foobar 
IP.1 = 1.1.1.1 
IP.2 = 2.2.2.2 
... 

:1で

attempt 1) OID.1 = 1.2.3.4.5.5 
attempt 2) DNS.3 = 1.2.3.4.5.5 
attempt 3) IP.3 = 1.2.3.4.5.5 

)私は、証明書を生成しようとしているエラーを取得し、接頭辞OIDことを示します認識されません。 2)と3)ではcrtを生成できますが、SAN oid:1.2.3.4.5.5はサポートされていません。

したがって、openssl.cnfファイルのSubject Alternative Namesセクションにそのようなエントリを追加するのに正しい構文が何であるか疑問に思っています。

乾杯! the documentation of the config fileから

+0

スタックオーバーフローは、プログラミングおよび開発の質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[Super User](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。また、[Dev Opsについての質問はどこに投稿しますか?](http://meta.stackexchange.com/q/134306)も参照してください。 – jww

答えて

2

する必要があり、このバージョンでは正しく、完全にOID識別子を指定します例:

[email protected] 
[san] 
DNS.1=foo.example.com 
DNS.2=bar.example.com 
RID.1=1.2.3.4.5.5 

あるいは1行でそれを行う:

subjectAltName=DNS:foo.example.com,DNS:bar.example.com,RID:1.2.3.4.5.5 

の.cnfファイルを使用せずに、CLIに-configオプションを渡すhttps://security.stackexchange.com/a/91556と組み合わせた場合にこれは特に有用です。

1

otherNameは、OIDに関連付けられた任意のデータを含めることができます値は、セミコロンと標準ASN1_generate_nconfフォーマットのコンテンツが続くOIDであるべきです。

例:

subjectAltName=otherName:1.2.3.4;UTF8:some other identifier 

またはSANのセクションを持っていることのあなたの例と、それはステファン・ウルリッヒの答えに基づいて

[email protected] 
[san] 
DNS.1=foo.example.com 
DNS.2=bar.example.com 
otherName.1=1.2.3.4;UTF8:some other identifier 
+1

は実際に必要な識別子が「RID」(登録オブジェクト識別子)であることが判明しました。 – user1797466

関連する問題