本文へスキップ
重要 SSL/TLS証明書 47日間ルール正式決定 — ACME自動更新の導入を推奨しております。 Phase 2(100日へ短縮)まで 306日
300,000枚 累計発行
17,206社 利用中
19年 運営
24時間365日 自動発行
MMicrosoft IIS

IIS への SSL/TLS 証明書インストール

Windows Server の Microsoft IIS(インターネット インフォメーション サービス)への SSL/TLS 証明書インストール手順。
IIS 10(Windows Server 2016/2019/2022)対応。

⚠️ 同じサーバで CSR を作成した必要があります IIS で CSR を作成した場合、秘密鍵はそのサーバ内に保存されています。証明書のインポートは同じサーバで行う必要があります。別サーバの場合は、証明書を .pfx 形式でエクスポート/インポートする必要があります。

🛠️ 事前準備

  • SSL ストアから取得した サーバ証明書.cer または .crt
  • 中間 CA 証明書(通常はバンドル形式で含まれる)
  • IIS が稼働している Windows Server
  • サーバの管理者権限

📋 GUI による手順

  1. IIS マネージャーを開く

    サーバマネージャーから「ツール」→「インターネット インフォメーション サービス (IIS) マネージャー」を起動。

    または、Windowsキー + R で inetmgr

  2. 「サーバ証明書」を開く

    左側のツリーからサーバ名を選択し、右側の「機能ビュー」から「サーバ証明書」をダブルクリック。

  3. 「証明書の要求の完了」をクリック

    右側の「操作」パネルから「証明書の要求の完了...」をクリック。

    ウィザードが起動します。

  4. 証明書ファイルを指定

    項目入力内容
    証明機関の応答が含まれるファイル名SSL ストアから取得した証明書ファイル(.cer または .crt)のパスを指定
    フレンドリ名管理しやすい名前(例: example.com 2026
    新しい証明書の証明書ストアを選択個人(Personal)を選択

    「OK」をクリックすると、証明書がインポートされます。

  5. サイトに証明書をバインド

    左側のツリーから「サイト」→対象サイト(例: Default Web Site)を選択。

    右側の「操作」パネルから「バインドの編集...」をクリック。

  6. HTTPS バインドを追加

    「バインドサイト」ダイアログで「追加...」をクリック。

    項目入力内容
    種類https
    IP アドレス「すべて未割り当て」または特定の IP
    ポート443
    ホスト名FQDN を入力(例: example.com
    サーバ名表示が必要 (SNI)複数サイトを同じ IP で運用する場合は ✅
    SSL 証明書先ほどインポートした証明書を選択

    「OK」で確定。

  7. 動作確認

    ブラウザで https://example.com にアクセスし、鍵アイコンが表示されることを確認。

🔧 PowerShell によるインストール(自動化向け)

PowerShell(管理者権限)
# 証明書のインポート
Import-Certificate -FilePath "C:\temp\example.com.cer" -CertStoreLocation "Cert:\LocalMachine\My"

# 既存のバインディング確認
Get-WebBinding -Name "Default Web Site"

# HTTPS バインディングの追加
New-WebBinding -Name "Default Web Site" `
  -Protocol https `
  -Port 443 `
  -HostHeader "example.com" `
  -SslFlags 1

# 証明書のサムプリント取得
$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*example.com*" }
$thumbprint = $cert.Thumbprint

# バインディングに証明書を割り当て
$binding = Get-WebBinding -Name "Default Web Site" -Protocol https -HostHeader "example.com"
$binding.AddSslCertificate($thumbprint, "My")

🛡️ 推奨セキュリティ設定(2026年版)

IIS の SSL/TLS 設定は レジストリで管理されます。直接編集は危険なため、ツールの利用を推奨:

  • IIS Crypto(Nartac Software 製・無料)── レジストリ編集を GUI で安全に行えます

推奨設定:

  • TLS 1.2 / 1.3 のみ有効(SSL 2.0/3.0、TLS 1.0/1.1 は無効化)
  • 強力な暗号スイートのみ有効(RC4、3DES、MD5 は無効化)
  • HSTS の有効化(後述)

🔒 HSTS(HTTP Strict Transport Security)の設定

IIS 10(Windows Server 2016以降)では web.config で HSTS を有効化できます。

web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains" />
                <add name="X-Content-Type-Options" value="nosniff" />
                <add name="X-Frame-Options" value="SAMEORIGIN" />
                <add name="Referrer-Policy" value="strict-origin-when-cross-origin" />
            </customHeaders>
        </httpProtocol>
        
        <!-- HTTP → HTTPS リダイレクト -->
        <rewrite>
            <rules>
                <rule name="HTTP to HTTPS" stopProcessing="true">
                    <match url=".*" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

⚡ Win-ACME で完全自動化

Windows / IIS 環境でも ACME 自動更新 Win-ACME を使えば、IIS の証明書管理を完全自動化できます。47日ルール時代の運用に最適。詳しくは Win-ACME 使い方 をご参照ください。

❓ よくあるご質問

Q. .pfx ファイルからインポートしたい

サーバ証明書(.pfx)からインポートする場合は、IIS マネージャーの「サーバ証明書」画面で「インポート...」を選択し、.pfx ファイルとパスワードを指定します。

Q. 「指定されたファイルが見つかりません」エラーが出ます

CSR を作成したサーバとは別のサーバで証明書をインポートしようとしている可能性があります。CSR 作成時に秘密鍵が IIS 内部に保存されているため、同じサーバで証明書をインポートする必要があります。

Q. 複数のサイトを同じ IP / ポート 443 で運用したい

IIS 8 以降では SNI(Server Name Indication)に対応しています。バインディング設定で「サーバ名表示が必要」にチェックを入れ、各サイトに異なるホスト名を設定すれば、同じ IP/ポートで複数の証明書を運用できます。

Q. 中間 CA 証明書はどこにインストールしますか?

IIS では通常、サーバ証明書をインポートすると中間 CA 証明書も自動的にインストールされます。手動でインストールしたい場合は、中間 CA 証明書を「中間証明機関」(Intermediate Certification Authorities)ストアにインポートします。

Q. HTTP/2 は IIS でサポートされていますか?

はい、Windows Server 2016 以降の IIS 10 は HTTP/2 を標準サポートしています。HTTPS 接続時に自動的に HTTP/2 で通信されます(クライアントが対応していれば)。