2021/04/20

ドキュメント署名用の電子証明書の作成 | ADCS

2020年からコロナの影響でリモートワークが推進されるようになりました。その結果、脱ハンコということで、印鑑の代わりに電子署名を用いて電子的に押印するしくみが検討され、普及されてきています。クラウド型電子署名ソリューションが普及してきていますが、これらの多くはクラウド側にある証明書を使って署名する方式となっています。

本記事では、クラウド側にある証明書ではなく、自社の証明書サーバで作成した証明書で署名ができるように、その証明書の作成方法について説明します。自社の証明書サーバには、前回構築・設定したADCSを利用します。なお、今回作成した証明書で署名するのに、OneSpan Signの個人証明書署名機能を使って検証しようと思います。

さて、1点注意事項です。自社の証明書サーバで作成した証明書(プライベート証明書)を利用する場合、署名後の署名検証など、実は多くの課題があります。しかしながら、社内に閉じた署名および検証(文書が改ざんされていないか、誰が署名したか)の利用であれば実用性はあります。


ドキュメント署名用の電子証明書の作成

ADCSのコードサイニング証明書テンプレートを用いて、証明書を作成します。

  1. サーバマネージャを起動します。
  2. ツール → 証明機関(Certificate Authority)をクリックします。


  3. 証明機関ツール上で、ルートCAを展開します。
  4. 「証明書テンプレート」を右クリックして「管理」を選択します。


  5. 証明書テンプレートコンソールが開きます。テンプレートの一覧から「コードサイニング(Code Signing)」を右クリックし、「テンプレートの複製」をクリックします。


  6. 「全般」タブをクリックします。テンプレートにわかりやすい名前(例:ドキュメント署名)を付けます。また「Active Directoryの証明書を発行する」にチェックを付けます。


  7. 「要求処理」タブをクリックします。文書の電子署名用の設定に変更していきます。Purposeとして「Signature and Encryption」を選択します。また「Allow private key to be exported」にチェックを付けます。


  8. 「サブジェクト名」タブをクリックします。以下の設定となっていることを確認します。
    • 「Build from this Active Directory information」ラジオボタンが選択
    • Subject name formatとして「Fully distinguished name」が選択
    • User principal name (UPN)のみがチェック


  9. 「セキュリティ」タブをクリックします。Authenticated Usersを選択し、Enroll行のAllowチェックボックスにチェックを付けます。


  10. OKボタンをクリックします。これで、ドキュメント署名用の証明書テンプレートが作成されました。


  11. 続いて、証明書テンプレートを発行します。証明機関ツールの証明書テンプレートで、右クリック → 新規作成 → 発行する証明書テンプレートをクリックします。


  12. 作成したドキュメント署名用証明書テンプレートを選択し、OKボタンをクリックします。


  13. テンプレート一覧に、ドキュメント署名用の証明書テンプレートが表示されたことを確認します。


ユーザ向けに新しい証明書の要求

ユーザにドキュメント署名用の電子証明書を発行します。

  1. 電子証明書を発行するユーザのパソコンにログインします。
  2. 「ファイル名を指定して実行」で、mmcコマンドを実行します。
  3. コンソールのメニューバーから、File → Add/Remove Snap-in...をクリックします。


  4. Certificateをクリックし、Addボタンをクリックします。


  5. Certificates snap-inウィンドウで、「My user account」を選択し、Finishボタンをクリックします。


  6. スナップインに「Certificate - Current User」が追加されたことを確認し、OKボタンをクリックします。


  7. Certificate - Current User → Personal → Certificateをクリックします。証明書一覧の何もないところを右クリックし、All Tasks → Request New Certificate...を選択します。


  8. 証明書登録ウィザードが表示されます。「Before You Begin」ページでは、そのままNextボタンをクリックします。


  9. 「Select Certificate Enrollment Policy」ページでも、そのままNextボタンをクリックします。


  10. 「Request Certificate」ページで、作成したドキュメント署名用の証明書テンプレートにチェックを付け、Enrollボタンをクリックします。


  11. 登録が完了したことを確認し、Finishボタンをクリックします。


  12. ユーザの証明書の証明書一覧に、ドキュメント署名用の証明書が追加されたことを確認します。


これで、ADCSで発行したドキュメント署名用の証明書を用いて、電子署名ができるようになりました。


おわりに

今回は、プライベートCAでドキュメント署名用の証明書を作成する方法を説明しました。次回は、この証明書を使って実際にドキュメントに署名を行い、改ざん検知ができるのか、本人確認ができるのかという電子署名本来の目的を満たすことを確認していきます。