<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>PKCS12 on CX's Blog</title><link>https://blog.imcaoxuan.cn/ja/tags/pkcs12/</link><description>Recent content in PKCS12 on CX's Blog</description><generator>Hugo</generator><language>ja-jp</language><copyright>imcaoxuan.cn</copyright><lastBuildDate>Mon, 26 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.imcaoxuan.cn/ja/tags/pkcs12/index.xml" rel="self" type="application/rss+xml"/><item><title>macOS 与 iOS 使用客户端证书访问 mTLS 网站</title><link>https://blog.imcaoxuan.cn/ja/posts/2026-10-26-mtls-client-cert-macos-ios/</link><pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate><guid>https://blog.imcaoxuan.cn/ja/posts/2026-10-26-mtls-client-cert-macos-ios/</guid><description>&lt;h1 id="macos-と-ios-でクライアント証明書を使用して-mtls--websitesにアクセスする"&gt;macOS と iOS でクライアント証明書を使用して mTLS Websitesにアクセスする&lt;/h1&gt;
&lt;p&gt;本文では、macOS および iOS デバイスでクライアント証明書を設定し、双方向 TLS（mTLS）を有効にした HTTPS ウェブサイトにアクセスする方法を説明します。例では、プライベート CA、&lt;code&gt;step-ca&lt;/code&gt;、Nginx、PKCS#12、および PIV スマートカードを使用します。以下のドメイン名、証明書名、ファイル名、IP アドレスはすべて例なので、実際の値に置き換えてください。&lt;/p&gt;
&lt;h2 id="1-mtls-認証フロー"&gt;1. mTLS 認証フロー&lt;/h2&gt;
&lt;p&gt;通常の HTTPS では主にクライアントがサーバー証明書を検証しますが、mTLS ではさらにサーバーがクライアント証明書を検証します。&lt;/p&gt;
&lt;p&gt;基本フロー：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;クライアントが HTTPS サイトにアクセスする。&lt;/li&gt;
&lt;li&gt;Nginx が TLS ハンドシェイク中にクライアント証明書を要求する。&lt;/li&gt;
&lt;li&gt;ブラウザーまたはシステムがクライアント ID を選択し、対応する秘密鍵で署名する。&lt;/li&gt;
&lt;li&gt;Nginx が構成に基づいてクライアント証明書、証明書チェーン、有効期限を検証する。&lt;/li&gt;
&lt;li&gt;検証に成功すると接続は HTTP レイヤーに入り、サイト側のポリシーによってアクセスが許可されるかどうかが決定される。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;クライアント ID とサーバー CA の信頼は、それぞれ独立した構成です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;クライアント ID&lt;/strong&gt;：クライアント証明書およびそれに対応する秘密鍵。サーバーに対して自身を証明するために使用します。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;サーバー CA の信頼&lt;/strong&gt;：クライアントがウェブサイト用サーバー証明書の発行者を信頼する CA。HTTPS サーバーの同一性を検証するために使用します。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;クライアント証明書をインストールしても、デバイスがプライベート CA を自動的に信頼するようになるわけではありません。&lt;/p&gt;
&lt;h2 id="2-macospiv-ハードウェアキーの使用"&gt;2. macOS：PIV ハードウェアキーの使用&lt;/h2&gt;
&lt;p&gt;クライアント秘密鍵が PIV 対応ハードウェアキーに保存されている場合は、秘密鍵をハードウェアデバイス内に保持し、秘密鍵ファイルのエクスポートを回避できます。ブラウザーがこの ID を使用できるかどうかは、macOS、スマートカードミドルウェア、鍵デバイス、およびブラウザーのサポート状況に依存します。&lt;/p&gt;
&lt;p&gt;一般的な確認手順：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;PIV ハードウェアキーを挿入する。&lt;/li&gt;
&lt;li&gt;macOS がスマートカードとその証明書を認識できることを確認する。&lt;/li&gt;
&lt;li&gt;ブラウザーを開いて mTLS サイトにアクセスする。&lt;/li&gt;
&lt;li&gt;ブラウザーがクライアント証明書を要求する場合は、対応する ID を選択する。&lt;/li&gt;
&lt;li&gt;指示に従って PIN を入力する、またはハードウェア上の操作を完了する。&lt;/li&gt;
&lt;li&gt;ページの表示結果とサーバーログを照合し、認証に成功したか確認する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;次のコマンドでシステムの状態を確認できます。&lt;/p&gt;</description></item></channel></rss>