# Windows

次の記事では、Windows デバイス向けにデバイス証明書または/およびユーザー証明書を展開する方法について説明します。SCEPman ルート証明書の展開は必須です。その後、デバイス証明書、ユーザー証明書、またはその両方の証明書種類のうち、いずれかを展開することを選択できます。

## ルート証明書

SCEP 証明書を展開するための基礎は、SCEPman のルート証明書を信頼することです。そのため、CA ルート証明書をダウンロードし、これを **信頼された証明書** プロファイルとして Microsoft Intune 経由で展開する必要があります:

* [ ] SCEPman ポータルから CA 証明書をダウンロードします:

![](https://114237723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-9170eb0435726398eb43f6fac8abd0d5f35e8cc4%2FSCEPmanHomePage.png?alt=media)

* [ ] 次のためのプロファイルを作成します **Windows 10 以降** 種類は **信頼された証明書** で、Microsoft Intune 内で作成します:

![](https://114237723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-d8b8e3c0e22f1cf527ba4cb838199d8184f413a0%2FSCEPmanWindowsRootCA.png?alt=media)

* [ ] 前にダウンロードした **.cer ファイル**.
* [ ] これでこのプロファイルをデバイスに展開できます。割り当てには、すべてのユーザーおよび/またはすべてのデバイス、または専用グループを選択してください。

{% hint style="info" %}
Trusted certificate と SCEP プロファイルの割り当てには同じグループを使用する必要があることに注意してください。そうしないと、Intune の展開が失敗する可能性があります。
{% endhint %}

## デバイス証明書

* [ ] SCEPman ポータルを開き、Intune MDM の下にある URL をコピーします

![](https://114237723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-e72dec344ae0106207cac3c5039842bea56f2558%2FSCEPmanMDMURL.png?alt=media)

* [ ] 次のためのプロファイルを作成します **Windows 10 以降** 種類は **SCEP 証明書** Microsoft Intune 内で

![](https://114237723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-aa427fde38771526445c1fe1a79a1ef9617b74e5%2FSCEPmanWindowsDeviceCr.png?alt=media)

* [ ] 次の説明のとおりにプロファイルを構成します:

<details>

<summary>証明書の種類: <code>デバイス</code></summary>

この場合はデバイス証明書を設定しています

</details>

<details>

<summary>サブジェクト名の形式: <code>CN={{DeviceName}}</code> または <code>CN={{DeviceId}}</code> または <code>CN={{AAD_Device_ID}}</code></summary>

**推奨:** 使用 `{{DeviceName}}`CN RDN には、デバイス上で、または証明書を検索するときに意味のある証明書名にするために使用します。

**任意:** 次のように構成されている場合 `CN={{DeviceId}}` または `CN={{AAD_Device_ID}}`、SCEPman はサブジェクト名の CN フィールドを使用してデバイスを識別し、証明書シリアル番号生成のシードとして使用します。Microsoft Entra ID (Azure AD) と Intune では、2 つの異なる ID が提供されます:

* `{{DeviceId}}`：この ID は Intune によって生成され、使用されます。\
  \
  (要件: [#appconfig-intunevalidation-devicedirectory](https://docs.scepman.com/ja/scepman-gou-cheng/application-settings/scep-endpoints/intune-validation#appconfig-intunevalidation-devicedirectory "mention") を **Intune** または **AADAndIntune**)
* `{{AAD_Device_ID}}`：この ID は Microsoft Entra ID (Azure AD) によって生成され、使用されます。

いずれも `CN={{DeviceId}}` でも `CN={{AAD_Device_ID}}` でも CN フィールドに使用されない場合（例: `CN={{DeviceName}})`、SCEPman は Intune デバイス ID（`(URI)値:` `IntuneDeviceId://{{DeviceId}}`）に基づいて、サブジェクト代替名 (SAN) で提供された値を使用してデバイスを識別します。

**重要:** CN フィールドの選択は、 [自動失効動作](https://docs.scepman.com/ja/manage-certificates#automatic-revocation) に影響します。これは Intune 管理デバイスに発行された証明書に対するものです。

必要に応じて他の RDN を追加できます（例: `CN={{DeviceId}}, O=Contoso, CN={{WiFiMacAddress}}`）。サポートされる変数は [Microsoft ドキュメント](https://docs.microsoft.com/en-us/mem/intune/protect/certificates-profile-scep#create-a-scep-certificate-profile).

</details>

<details>

<summary>サブジェクト代替名: <code>(URI)</code>値: <code>IntuneDeviceId://{{DeviceId}}</code></summary>

URI フィールドは、 [Microsoft により推奨されています](https://techcommunity.microsoft.com/t5/intune-customer-success/new-microsoft-intune-service-for-network-access-control/ba-p/2544696) 。これは NAC ソリューションが Intune デバイス ID に基づいてデバイスを識別するためです。値は次のとおりである必要があります:

```
IntuneDeviceId://{{DeviceId}}
```

この **URI フィールドは必須です** いずれも `CN={{DeviceId}}` でも `CN={{AAD_Device_ID}}` が **サブジェクト名の形式** フィールドで使用されていない場合。

必要に応じて、DNS などの他の SAN 値を追加できます。

</details>

<details>

<summary>証明書の有効期間: <code>1 年</code></summary>

証明書の有効期限が切れるまでの残り時間です。既定値は 1 年に設定されています。

SCEPman は、設定 [***AppConfig:ValidityPeriodDays***](https://docs.scepman.com/ja/scepman-gou-cheng/application-settings/certificates#appconfig-validityperioddays)で構成された最大値に証明書の有効期間を制限しますが、それ以外は要求で構成された有効期間を使用します。

</details>

<details>

<summary>キー ストレージ プロバイダー (KSP): <code>Trusted Platform Module (TPM) KSP に登録し、できない場合は失敗</code></summary>

この設定は、エンドユーザー証明書の秘密キーの保存場所を決定します。TPM への保存はソフトウェア保存よりも安全です。これは、TPM がキー盗難を防ぐための追加のセキュリティ層を提供するためです。

注: **一部の古い TPM ファームウェア バージョンにはバグがあります** 。このバグにより、TPM によって保護された秘密キーで作成された一部の署名が無効になります。そのような場合、証明書は Wi-Fi や VPN 接続で一般的な EAP 認証に使用できません。さらに、Autopilot のオンボーディング プロセスが破損する可能性があります。

影響を受ける TPM ファームウェア バージョンには次のものがあります:

* STMicroelectronics: 71.12, 73.4.17568.4452, 71.12.17568.4100, 73.20.17568.6684
* Intel: 11.8.50.3399, 2.0.0.2060
* Infineon: 7.63.3353.0
* IFX: バージョン 3.19 / 仕様 1.2
* IFX バージョン 7.63.3353.0 仕様 2.0

このファームウェアの TPM を使用している場合は、ファームウェアを新しいバージョンに更新するか、キー ストレージ プロバイダーとして「Software KSP」を選択してください。

**更新:** 問題の原因となっている RSA-PSS 署名アルゴリズムをレジストリから削除することで TPM のバグを回避できます。詳細については、 [Richard Hicks の記事](https://directaccess.richardhicks.com/2023/02/13/always-on-vpn-authentication-failed-reason-code-16/) および [Microsoft Q\&A](https://learn.microsoft.com/en-us/answers/questions/467673/windows-10-tpm-2-0-client-authentication-in-tls-1)

</details>

<details>

<summary>キー使用法: <code>デジタル署名</code> および <code>キー暗号化</code></summary>

両方の暗号化操作を有効にしてください。

SCEPman はキー使用法を自動的に **デジタル署名** および **キー暗号化** に設定し、ここでの設定を上書きします。ただし設定 [***AppConfig:UseRequestedKeyUsages***](https://docs.scepman.com/ja/scepman-gou-cheng/application-settings/certificates#appconfig-userequestedkeyusages) が *true*.

</details>

<details>

<summary>キー サイズ (ビット): <code>2048</code></summary>

SCEPman は 2048 ビットをサポートしています。

</details>

<details>

<summary>ハッシュ アルゴリズム: <code>SHA-2</code></summary>

SCEPman は SHA-2 アルゴリズムをサポートしています。

</details>

<details>

<summary>ルート証明書: <code>前の手順のプロファイル（ルート証明書プロファイル）</code></summary>

次から Intune プロファイルを選択してください [#Root Certificate](#root-certificate)。\
Intermediate CA を使用している場合は、Root CA ではなく Intermediate CA 用の Trusted certificate プロファイルを選択する必要があります。 [Intermediate CA](https://docs.scepman.com/ja/scepman-zhan-kai/intermediate-certificate)、Root CA ではなく Intermediate CA 用の Trusted certificate プロファイルを選択する必要があります。

</details>

<details>

<summary>拡張キー使用法: <code>クライアント認証, 1.3.6.1.5.5.7.3.2</code></summary>

次を選択してください **クライアント認証 (1.3.6.1.5.5.7.3.2)** の下で **定義済みの値**。他のフィールドは自動的に入力されます。

</details>

<details>

<summary>更新しきい値 (%): <code>20</code></summary>

この値は、デバイスがいつ証明書を更新できるかを定義します（既存の証明書の残存有効期間に基づきます）。 **証明書の有効期間** の下の注記を読み、デバイスが長期間にわたって証明書を更新できるような適切な値を選択してください。20% の値では、1 年有効な証明書を持つデバイスは有効期限の 73 日前から更新を開始できます。

</details>

<details>

<summary>SCEP サーバー URL: SCEPman ポータルを開き、次の URL をコピーします <a href="#device-certificates">Intune MDM</a></summary>

**例**

```
https://scepman.contoso.com/certsrv/mscep/mscep.dll
```

</details>

### 例

<figure><img src="https://114237723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FwPUpuqwdzp8vAlWLkK3r%2F2024-03-14%2015_18_35.png?alt=media&#x26;token=89c6fa14-b6b3-4de1-9c17-2acd3fd9f793" alt=""><figcaption></figcaption></figure>

* [ ] これでこのプロファイルをデバイスに展開できます。割り当てには、Trusted certificate プロファイルと同じグループを選択してください。

## ユーザー証明書

次の手順に従ってください [#Device certificates](#device-certificates) 、そして次の違いに注意してください:

<details>

<summary>証明書の種類: <code>ユーザー</code></summary>

このセクションではユーザー証明書を設定しています。

</details>

<details>

<summary>サブジェクト名の形式: <code>CN={{UserName}},E={{EmailAddress}}</code></summary>

必要に応じて RDN を定義できます。サポートされる変数は [Microsoft ドキュメント](https://docs.microsoft.com/en-us/mem/intune/protect/certificates-profile-scep#create-a-scep-certificate-profile)に一覧表示されています。ベースライン設定として、ユーザー名（例: janedoe）とメール アドレス（例: <janedoe@contoso.com>）を含めることを推奨します。

</details>

<details>

<summary>サブジェクト代替名: <code>(UPN)</code>値: <code>{{UserPrincipalName}}</code></summary>

サブジェクト代替名として User principal name を追加する必要があります。 **型 User principal name (UPN) の Subject Alternative Name として '{{UserPrincipalName}}' を追加します。** これにより、SCEPman が証明書を AAD 内のユーザー オブジェクトに関連付けられるようになります。「Subject name format」の設定は自由に選択できます。

必要に応じて、メール アドレスなどの他の SAN 値を追加できます。

</details>

{% hint style="info" %}
顧客からのフィードバックによると、一部の VPN クライアント（例: Virtual WAN 用 Azure VPN Client）は、証明書が TPM に保存されている場合にユーザー証明書を検出できないようです。代わりにソフトウェア KSP に登録してみてください。
{% endhint %}

### 例

<figure><img src="https://114237723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2F2Qqx3ibMVAuFdPwOqjVo%2Fimage.png?alt=media&#x26;token=dc578908-af36-4133-8a26-58dab237016a" alt=""><figcaption></figcaption></figure>

## ユーザー デジタル署名証明書

SCEPman を国際的な **デジタル署名** 、つまり Microsoft Outlook での S/MIME 署名に使用できます。メッセージ署名に証明書を使用する予定がある場合は、Intune プロファイル構成に対応する拡張キー使用法を追加する必要があります。

{% hint style="warning" %}
**しないでください** SCEPman を使用 **メール暗号化に** 、つまり Microsoft Outlook での S/MIME メール暗号化に（キー管理用の別技術なしで）。 **SCEP プロトコルの性質上、秘密キー素材をバックアップまたはアーカイブする仕組みは含まれていません。** メール暗号化に SCEP を使用すると、後でメッセージを復号するためのキーを失う可能性があります。
{% endhint %}

* [ ] これらの構成変数を設定する必要があります。そうしないと、SCEP プロファイルで要求されたキー使用法と拡張有効期間が SCEPman によって尊重されません:

- [*`AppConfig:UseRequestedKeyUsages`*](https://docs.scepman.com/ja/scepman-gou-cheng/application-settings/certificates#appconfig-userequestedkeyusages) に設定 *`true`*
- [*`AppConfig:ValidityPeriodDays`*](https://docs.scepman.com/ja/scepman-gou-cheng/application-settings/certificates#appconfig-validityperioddays) *に設定 `365` （最大値 1825、つまり 5 年まで可能）*

次に使用されるユーザー証明書を展開するには **デジタル署名** 、次の手順に従ってください [#User certificates](#user-certificates) 、そして次の違いと注意事項に留意してください:

<details>

<summary>サブジェクト代替名</summary>

* **（必須）User principal name (UPN):** *`{{UserPrincipalName}}`*
* **（必須）メール アドレス:** *`{{EmailAddress}}`*

デジタル署名証明書を展開する場合、UPN とメール アドレスを追加する必要があります。

</details>

<details>

<summary>キー使用法: のみ <code>デジタル署名</code></summary>

</details>

<details>

<summary>拡張キー使用法: <code>Secure Email (1.3.6.1.5.5.7.3.4)</code></summary>

次を選択してください **Secure Email (1.3.6.1.5.5.7.3.4)** の下で **定義済みの値**。他のフィールドは自動的に入力されます。

</details>

<details>

<summary>更新しきい値 (%): <code>50</code></summary>

S/MIME 署名証明書を発行する場合、証明書の有効期限が切れる少なくとも 6 か月前に更新されるよう、更新しきい値 (%) を設定することを推奨します。これは、有効期限切れの証明書で署名されたメールは Outlook で無効な署名として表示され、ユーザーを混乱させるためです。古い証明書の有効期限が切れるかなり前に新しい証明書を用意しておくことで、この挙動を示すのが古いメールだけになり、ユーザーがそれを見る可能性は低くなります。たとえば、署名証明書の有効期間が 1 年の場合、更新しきい値は少なくとも 50 % に設定する必要があります。

</details>

### **例**

<figure><img src="https://114237723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FXdXBo3tXxMcWnygAfNG9%2Fimage.png?alt=media&#x26;token=6737119f-3212-4ba8-a026-de0a7ac000fd" alt=""><figcaption></figcaption></figure>

プロファイルの同期が正常に完了すると、意図された用途が次のユーザー証明書が表示されるはずです **Secure Email**

![](https://114237723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-848730ed3fbc1a0b52f8147f6811458980777211%2Fimage%20\(16\).png?alt=media)

この証明書は、たとえば Outlook で Digital Signature 用途に利用可能になります。以下はその使用例です

![](https://114237723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-b1efd143a9772f459b5691490cf7d3f5d1714f81%2Fdigital%20Sign2.png?alt=media)

### Outlook で S/MIME 署名を有効にする

クライアント マシンに S/MIME 署名証明書を展開したら、署名付きメールを送信する前に、Outlook がこれらの証明書を使用するよう構成する必要があります。&#x20;

#### 新しい Outlook

新しい Outlook の S/MIME は [手動で](https://support.microsoft.com/en-us/office/set-up-outlook-to-use-s-mime-encryption-2e57e4bd-4cc2-4531-9a39-426e7c873e26#id0ebbf=new_outlook).

#### Classic Outlook

Classic Outlook の S/MIME は [手動で](https://support.microsoft.com/en-us/office/set-up-outlook-to-use-s-mime-encryption-2e57e4bd-4cc2-4531-9a39-426e7c873e26#id0ebbf=newer_versions) または、当社の [PowerShell スクリプト](https://github.com/glueckkanja-pki/PKI-Configuration-Tools/blob/master/README.md).

#### Outlook on the Web

Outlook on the Web の S/MIME は [手動で](https://support.microsoft.com/en-us/office/set-up-outlook-to-use-s-mime-encryption-2e57e4bd-4cc2-4531-9a39-426e7c873e26#id0ebbf=web) または、次のコマンドを使用して PowerShell で有効化できます:

```
Set-SmimeConfig -OWAAllowUserChoiceOfSigningCertificate $true
```

追加の PowerShell コマンドは [こちら](https://learn.microsoft.com/en-us/powershell/module/exchange/set-smimeconfig).
