none
Active Directory証明書のサブジェクトについて RRS feed

  • 質問


  • 現在、自社ではWindows Server 2012R2 Active Directory証明書サービスを機能を用い、
    ユーザー証明書の利用をを目的に、動作検証をしております。

    そこで、ご教授頂きたいのが、証明書のサブジェクトについてです。

    自社では、ADユーザー登録にて姓名に日本語を用いており

    例)、姓:まいくろ 名:たろう

       ユーザーログオン名:micro-tarou

    とする運用ルールのもとで利用しております。

    この環境下で、発行する証明書のサブジェクト名欄にて下記項目を設定しました。

    ・”Active Directoryの情報から構築する”

    ・サブジェクト名の形式を"共通名"もしくは"完全な識別名(DN)"を選択

    ・ユーザー プリンシパル名 (UPN) を選択

    上記設定で証明書を発行したところ、証明書内のサブジェクト記述内のCN値が

    CN=まいくろ たろう  となってしまいます。

    私の期待としては、ユーザー プリンシパル名 (UPN)を選択したのだから

    CN=micrro-tarou @ Domain

    となることを期待しておりましたが、いずれの設定を試してもうまくいきません。

    証明書サブジェクト内の記述にて、CN=日本語姓名(CommonName)ではなく
    CN=UPN名 もしくは、sAMAccountNameの日本語以外にしたいのですが

    解決方法がありましたらご教示のほどよろしくお願いいたします。

    2017年6月30日 11:17

回答

  • チャブーンです。

    何か、うまく伝わっていない気がしますので。

    証明書サブジェクト内のCN=属性をチェックして正しいユーザーであることを

    これをやりたい場合、実際に証明書内で使用するフィールドが「代替サブジェクト名(SAN)」になります。つまり、質問者さんがやりたいことはSANで実現できます。SANに任せればよいところを、サブジェクト名でやらせようとする、という点にムリがあります。

    ふつうのIDaaS製品であれば、「代替サブジェクト名が使えない」というような仕様はあり得ないと思うのですが、ご自身で制作されるのでしょうか。であるなら、申し訳ない言い方かもしれませんが、仕様の見直しをお奨めします。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2017年7月3日 6:26
    モデレータ

すべての返信

  • チャブーンです。

    残念ですが、ユーザー証明書の仕様上、サブジェクト名には「共通名(CN)」か「完全な識別名(DN)」あるいは「なし」しか選択できず、UPNを直接指定することはできなかったはずです。

    ではどうやるのかというと、「代わりのサブジェクト名」(Subject Alternative Name(SAN))で指定する項目かと思います。

    SANで指定された項目についでですが、UPNであれば証明書の「サブジェクト代替名」に「Other Name: プリンシパル名 = <UPN>」のかたちで記録されます。

    証明書テンプレートの設定で、サブジェクト名について「要求に含まれる」を設定すれば、「共通名」か「完全な識別名」で任意の文字列を設定することもできるにはできますが、UPNを想定した入力項目ではないため、UPNとして使用することはできません。(無意味な文字列扱いになります)

    いいづらい話しですが、証明書の仕様として、おっしゃるご要望は無意味ですし、セキュリティ的に問題な設定となると思いますで、お奨めできません。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2017年7月1日 2:52
    モデレータ
  • チャプーンさま

    ありがとうございます。

    やはり、これは仕様でしたかね。

    当社としては、Idaasにてシングルサイオン環境の構築を目指しておりました。

    そのIdaasの証明書-認証の機能をAD証明書を利用して、且つ、証明書サブジェクト内のCN=属性を

    チェックして正しいユーザーであることを認証するような仕組みでの運用をしたいという希望がありました。

    うーん、残念です。

    2017年7月3日 3:53
  • チャブーンです。

    何か、うまく伝わっていない気がしますので。

    証明書サブジェクト内のCN=属性をチェックして正しいユーザーであることを

    これをやりたい場合、実際に証明書内で使用するフィールドが「代替サブジェクト名(SAN)」になります。つまり、質問者さんがやりたいことはSANで実現できます。SANに任せればよいところを、サブジェクト名でやらせようとする、という点にムリがあります。

    ふつうのIDaaS製品であれば、「代替サブジェクト名が使えない」というような仕様はあり得ないと思うのですが、ご自身で制作されるのでしょうか。であるなら、申し訳ない言い方かもしれませんが、仕様の見直しをお奨めします。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2017年7月3日 6:26
    モデレータ