この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、AireOS WLCで証明書を生成およびインポートする方法について説明します。
この設定を開始する前に、次の項目に関する知識が必要です。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
証明書チェーンは、チェーン内の各証明書が後続の証明書によって署名される一連の証明書です。
証明書チェーンの目的は、ピア証明書から信頼される CA 証明書までの連鎖された信頼を築くことです。CAは、署名時にピア証明書のIDを保証します。
その CA が信頼する CA である場合(ルート証明書ディレクトリに CA 証明書のコピーが存在することによって示されます)、署名されたピア証明書も信頼できることを意味します。
クライアントは、既知の CA によって作成された証明書でなければ受け入れないことがあります。通常、クライアントでは、証明書の妥当性を確認できないと示します。
これは、証明書の署名がクライアントのブラウザに設定されていない 中間 CA による場合です。その場合は、チェーン SSL 証明書または証明書グループを使用する必要があります。
コントローラを使用して、デバイス証明書を Web 認証用のチェーン証明書としてダウンロードできます。
WLC では、サイズが 10KB を超えるチェーン証明書はサポートされません。ただし、WLC バージョン 7.0.230.0 以降では、この制限が取り除かれています。
注:チェーン証明書は、Web 認証と Web 管理でサポートされており、実際に必要とされています。
注:ワイルドカード証明書は、ローカルEAP、管理、またはWeb認証で完全にサポートされます
次の任意の Web 認証証明書を使用できます。
注:WLC バージョン 7.6 以降では、チェーン証明書のみがサポートされます(そのため必須になります)。
管理目的でチェーンされていない証明書を生成するには、このドキュメントを参照し、証明書がCA証明書と組み合わされる部分は無視してください。
このドキュメントでは、チェーン Secure Socket Layer(SSL)証明書を WLC に適切にインストールする方法を説明します。
CSR を生成する方法は 2 つあります。OpenSSL(8.3より前のWLCソフトウェアで可能な唯一の方法)を使用して手動で実行するか、WLC自体を使用してCSRを生成します(8.3.102以降で使用可能)。
注:Chrome バージョン 58 以降では、証明書の共通名のみでは信頼されず、サブジェクト代替名も指定する必要があります。次のセクションでは、このブラウザの新しい要件であるOpenSSL CSRにSANフィールドを追加する方法について説明します。
OpenSSL を使用して CSR を生成するには、次の手順を実行します。
C:\ > openssl > bin
.注:OpenSSL バージョン 0.9.8 は、古い WLC リリースの推奨バージョンです。ただし、バージョン7.5では、OpenSSLバージョン1.0のサポートも追加されており(Cisco Bug ID CSCti65315「OpenSSL v1.0で生成された証明書のサポートが必要」を参照)、推奨されるバージョンです。OpenSSL 1.1の動作もテストされ、8.x以降のWLCリリースで動作します。
[req] req_extensions = v3_req [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = server1.example.com DNS.2 = mail.example.com DNS.3 = www.example.com DNS.4 = www.sub.example.com DNS.5 = mx.example.com DNS.6 = support.example.com「DNS.1」、「DNS.2」(など)で始まる行には、証明書のすべての代替名を含める必要があります。次に、WLCで使用されるURLを書き込みます。前の例の太字の行は、ラボのopenSSLバージョンでは存在しないか、コメントになっています。オペレーティングシステムやopensslのバージョンによって大きく異なる場合があります。変更されたバージョンの設定は、この例では openssl-san.cnf として保存されます。
OpenSSL>req -new -newkey rsa:3072 -nodes -keyout mykey.pem -out myreq.pem -config openssl-san.cnf
注:WLC は、8.5 ソフトウェアバージョン以降、4096 ビットの最大キーサイズをサポートします。
注:正しい共通名を指定することが重要です。証明書の作成に使用されるホスト名(共通名)が、WLC 上の仮想インターフェイス IP アドレスのドメイン ネーム システム(DNS)のホスト名エントリに一致すること、そしてその名前が DNS にも存在することを確認します。また、仮想 IP(VIP)インターフェイスへの変更後には、この変更を反映するためにシステムをリブートする必要があります。
OpenSSL>req -new -newkey rsa:3072 -nodes -keyout mykey.pem -out myreq.pem -config openssl-san.cnf
Loading 'screen' into random state - done
Generate a 1024 bit RSA private key
................................................................++++++
...................................................++++++
writing new private key to 'mykey.pem'
-----
You are about to be asked to enter information that is incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there is a default value,
If you enter '.', the field is left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:CA
Locality Name (eg, city) []:San Jose
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ABC
Organizational Unit Name (eg, section) []:CDE
Common Name (eg, YOUR name) []:XYZ.ABC
Email Address []:(email address)
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:Test123
An optional company name []:OpenSSL>
WLCでソフトウェアバージョン8.3.102以降を実行している場合は、WLCを使用してCSRを生成する方が安全なオプションです。利点は、キーが WLC で生成され、常に WLC 内に留まることです。そのため、キーが外部に公開されることは決してありません。
現時点では、この方法ではCSRにSANを設定できません。これは、SAN属性の存在を必要とする特定のブラウザの問題につながることが知られています。一部のCAでは、署名時にSANフィールドを挿入できるため、CAに確認することをお勧めします。
WLC自体によるCSR生成では、キーサイズとして2048ビット、ecdsaキーサイズとして256ビットを使用します。
注:csr generationコマンドを実行し、後続の証明書をまだインストールしていない場合、WLCはリブート後に新しく生成されたCSRキーを使用しますが、それに伴う証明書を持たないため、次のリブート時にWLCはHTTPS上で完全に到達不能になります。
Web 認証用の CSR を生成するには、次のコマンドを入力します。
(WLC) >config certificate generate csr-webauth BE BR Brussels Cisco TAC mywebauthportal.wireless.com tac@cisco.com
-----BEGIN CERTIFICATE REQUEST-----
MIICqjCCAZICAQAwZTELMAkGA1UECAwCQlIxETAPBgNVBAcMCEJydXNzZWxzMQ4w
DAYDVQQKDAVDaXNjbzEMMAoGA1UECwwDVEFDMSUwIwYDVQQDDBxteXdlYmF1dGhw
b3J0YWwud2lyZWxlc3MuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAnssc0BxlJ2ULa3xgJH5lAUtbd9CuQVqqf2nflh+V1tu82rzTvz38bjF3g+MX
JiaBbKMA27VJH1J2K2ycDMlhjyYpH9N59T4fXvZr3JNGVfmHIRuYDnCSdil0ookK
FU4sDwXyOxR6gfB6m+Uv5SCOuzfBsTz5bfQ1NlZqg1hNemnhqVgbXEd90sgJmaF2
0tsL0jUhbLosdwMLUbZ5LUa34mvufoI3VAKA0cmWZh2WzMJiaI2JpbO0afRO3kSg
x3XDkZiR7Z9a8rK6Xd8rwDlx0TcMFWdWVcKMDgh7Tw+Ba1cUjjIMzKT6OOjFGOGu
yNkgYefrrBN+WkDdc6c55bxErwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAB0K
ZvEpAafoovphlcXIElL2DSwVzjlbd9u7T5JRGgqri1l9/0wzxFjTymQofga427mj
5dNqlCWxRFmKhAmO0fGQkUoP1YhJRxidu+0T8O46s/stbhj9nuInmoTgPaA0s3YH
tDdWgjmV2ASnroUV9oBNu3wR6RQtKDX/CnTSRG5YufTWOVf9IRnL9LkU6pzA69Xd
YHPLnD2ygR1Q+3Is4+5Jw6ZQAaqlPWyVQccvGyFacscA7L+nZK3SSITzGt9B2HAa
PQ8DQOaCwnqt2efYmaezGiHOR8XHOaWcNoJQCFOnb4KK6/1aF/7eOS4LMA+jSzt4
Wkc/wH4DyYdH7x5jzHc=
-----END CERTIFICATE REQUEST-----
webadminのCSRを生成するために、コマンドは次のように変更されます。
(WLC) >config certificate generate csr-webadmin BE BR Brussels Cisco TAC mywebauthportal.wireless.com tac@cisco.com
注:コマンドを入力すると、端末に CSR が表示されます。CSR を取得する方法は他にありません。WLC からアップロードすることも、保存することもできません。 コマンドを入力した後、コンピュータ上のファイルに CSR を コピーアンドペーストする必要があります。生成されたキーは、次の CSR が生成されるまで WLC に残ります(そのためキーは上書きされます)。 後でWLCハードウェアを変更(RMA)する必要がある場合は、新しいキーと同じ証明書を再インストールすることはできず、新しいWLCでCSRが生成されます。
から
生成された CSR は、サードパーティの署名機関またはエンタープライズ公開キーインフラストラクチャ(PKI)に渡す必要があります。
この例では、現在のエンタープライズCA(この例ではWindows Server 2012)のみを示し、Windows Server CAを最初からセットアップする手順については説明しません。
Request a certificate
. advanced certificate request
. Web Server
. Base 64 encoded
オプションボタンを選択します。openssl pkcs7 -print_certs -in All-certs.p7b -out All-certs.pem
6.オプションA(OpenSSLでCSRを生成)を使用した場合は、証明書チェーン(この例では「All-certs.pem」という名前)証明書と、CSRとともに生成された秘密キー(デバイス証明書の秘密キー。この例ではmykey.pem)を組み合わせて、ファイルをfinal.pemとして保存します。CSRをWLCから直接生成した場合(オプションB)、この手順を省略します。
All-certs.pemファイルとfinal.pemファイルを作成するには、OpenSSLアプリケーションで次のコマンドを入力します。
openssl>pkcs12 -export -in All-certs.pem -inkey mykey.pem
-out All-certs.p12 -clcerts -passin pass:check123
-passout pass:check123
openssl>pkcs12 -in All-certs.p12 -out final.pem
-passin pass:check123 -passout pass:check123
注:このコマンドでは、パラメータ -passin および -passout に対してパスワードを入力する必要があります。-passout パラメータに設定するパスワードは、WLC 上で設定する certpassword パラメータと一致している必要があります。上記の例では、-passin と -passout の両方のパラメータに対して設定されるパスワードは check123 です。
Final.pemは、「Option A. CSR with OpenSSL」に従ってWLCにダウンロードするファイルです。
「Option B. CSR generated by the WLC itself」に従った場合、All-certs.pemはWLCにダウンロードするファイルです。次の手順では、このファイルを WLC にダウンロードします。
注:WLCへの証明書のアップロードが失敗した場合は、チェーン全体がPEMファイルにあることを確認します。オプションBのステップ2(サードパーティCAからfinal.pemを取得)を参照して、その外観を確認してください。ファイルで表示される証明書が 1 つだけの場合は、すべての中間 CA 証明書ファイルとルート CA 証明書ファイルを手動でダウンロードし、ファイルに追加して(単純にコピーアンドペーストして)チェーンを作成します。
注:証明書がセキュア ハッシュ アルゴリズム 1(SHA1)で暗号化された Apache 対応の証明書であることを確認します。
------BEGIN CERTIFICATE------
*Device cert*
------END CERTIFICATE------
------BEGIN CERTIFICATE------
*Intermediate CA cert *
------END CERTIFICATE--------
------BEGIN CERTIFICATE------
*Root CA cert *
------END CERTIFICATE------
openssl>pkcs12 -export -in All-certs.pem -inkey mykey.pem
-out All-certs.p12 -clcerts -passin pass:check123
-passout pass:check123
openssl>pkcs12 -in All-certs.p12 -out final.pem
-passin pass:check123 -passout pass:check123
注:このコマンドでは、パラメータ -passin および -passout に対してパスワードを入力する必要があります。-passout パラメータに設定するパスワードは、WLC 上で設定する certpassword パラメータと一致している必要があります。上記の例では、-passin と -passout の両方のパラメータに対して設定されるパスワードは check123 です。
Final.pemは、「Option A. CSR with OpenSSL」に従った場合にWLCにダウンロードされるファイルです。「Option B. CSR generated by the WLC itself」に従った場合は、All-certs.pemはWLCにダウンロードする必要があるファイルです。次のステップでは、このファイルをWLCにダウンロードします。
注:SHA2 もサポートされています。Cisco Bug ID CSCuf20725 は、SHA512 サポートの要求です。
CLIを使用してチェーン証明書をWLCにダウンロードするには、次の手順を実行します。
>transfer download mode tftp
>transfer download datatype webauthcert
>transfer download serverip
>transfer download path
>transfer download filename final.pem
>transfer download certpassword password
注:certpassword の値が、「CSR の生成」のステップ 4(または 5)で設定した -passout パラメータパスワードと同一であることを確認してください。この例では、certpasswordはcheck123である必要があります。オプションBを選択した場合(つまり、WLC自体を使用してCSRを生成する場合)、certpasswordフィールドは空白のままにします。
(Cisco Controller) >transfer download start
Mode............................................. TFTP
Data Type........................................ Site Cert
TFTP Server IP................................... 10.77.244.196
TFTP Packet Timeout.............................. 6
TFTP Max Retries................................. 10
TFTP Path........................................./
TFTP Filename.................................... final.pem
This might take some time.
Are you sure you want to start? (y/N) y
TFTP EAP Dev cert transfer start.
Certificate installed.
Reboot the switch to use new certificate.
GUIを使用してチェーン証明書をWLCにダウンロードするには、次の手順を実行します。
Security > Web Auth > Cert
[Web Authentication Certificate]ページを開きます。Download SSL Certificate
チェックボックスをオンにして、[Download SSL Certificate From TFTP Server]パラメータを表示します。Apply
.Commands > Reboot > Reboot
.Save and Reboot
.WLCに証明書がインストールされている問題をトラブルシューティングするには、WLCでコマンドラインを開き、debug transfer all enableおよびdebug pm pki enableと入力して、証明書のダウンロード手順を実行します。
In some cases, the logs only say that the certificate installation failed:
*TransferTask: Sep 09 08:37:17.415: RESULT_STRING: TFTP receive complete... Installing
Certificate.
*TransferTask: Sep 09 08:37:17.415: RESULT_CODE:13
TFTP receive complete... Installing Certificate.
*TransferTask: Sep 09 08:37:21.418: Adding cert (1935 bytes) with certificate key password.
*TransferTask: Sep 09 08:37:21.421: RESULT_STRING: Error installing certificate.
証明書の形式とチェーンを確認します。バージョン7.6以降のWLCではチェーン全体が存在する必要があるため、WLC証明書だけをアップロードすることはできません。ルート CA までのチェーンがファイル内に存在する必要があります。
次に、中間 CA が正しくない場合のデバッグの例を示します。
*TransferTask: Jan 04 19:08:13.338: Add WebAuth Cert: Adding certificate & private key using password check123 *TransferTask: Jan 04 19:08:13.338: Add ID Cert: Adding certificate & private key using password check123 *TransferTask: Jan 04 19:08:13.338: Add Cert to ID Table: Adding certificate (name: bsnSslWebauthCert) to ID table using password check123 *TransferTask: Jan 04 19:08:13.338: Add Cert to ID Table: Decoding PEM-encoded Certificate (verify: YES) *TransferTask: Jan 04 19:08:13.338: Decode & Verify PEM Cert: Cert/Key Length was 0, so taking string length instead *TransferTask: Jan 04 19:08:13.338: Decode & Verify PEM Cert: Cert/Key Length 7148 & VERIFY *TransferTask: Jan 04 19:08:13.342: Decode & Verify PEM Cert: X509 Cert Verification return code: 0 *TransferTask: Jan 04 19:08:13.342: Decode & Verify PEM Cert: X509 Cert Verification result text: unable to get local issuer certificate *TransferTask: Jan 04 19:08:13.342: Decode & Verify PEM Cert: Error in X509 Cert Verification at 0 depth: unable to get local issuer certificate *TransferTask: Jan 04 19:08:13.343: Add Cert to ID Table: Error decoding (verify: YES) PEM certificate *TransferTask: Jan 04 19:08:13.343: Add ID Cert: Error decoding / adding cert to ID cert table (verifyChain: TRUE) *TransferTask: Jan 04 19:08:13.343: Add WebAuth Cert: Error adding ID cert
WLC HA SSO 導入ガイドで説明されているように、HA SSO シナリオでは、証明書がプライマリコントローラからセカンダリコントローラに複製されることはありません。
つまり、HAペアを形成する前に、すべての証明書をセカンダリにインポートする必要があります。
もう1つの注意点は、プライマリWLC上でCSRを生成した場合(したがってキーをローカルに作成した場合)は、キーをエクスポートできないため、これが機能しないことです。
有効な唯一の方法は、OpenSSL を使用してプライマリ WLC の CSR を生成し(したがって証明書にキーが付属している)、両方の WLC でその証明書/キーの組み合わせをインポートする方法です。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
07-Feb-2014 |
初版 |