証明書について
項目
背景
一般的に、Secure Socket Layer(SSL/X509)証明書は以下の用途に使用されます:
- クライアントとサーバーとの間でセキュアな接続を確立する。
例:- クライアント - ブラウザまたはVPNクライアント
- サーバー - <あなたの組織>.okta.comまたはOkta RADIUSエージェント
- 通信を暗号化して、機密情報の安全性を確保する。
- 組織のIDを認証する。
証明書の使用
Okta RADIUSエージェントを含む様々なサブシステムでは、次の目的で証明書が使用されています。
- 拡張認証プロトコル/トンネル型トランスポート レイヤー セキュリティ プロトコルまたはEAP/TTLSを使用した場合の安全な通信。
証明書の発行者とタイプ
デジタル証明書は、証明書の名前の付いた対象者が公開鍵を所有していることを証明するものです。
発行者の観点から見て、証明書には3つのタイプがあります。
- 認証局(ルートCA)証明書は、認証局(CA)が所有・管理する証明書です。CAは、デジタル証明書を発行する機関です。
- 中間証明書とは、会社に対して、または会社が下位の部門に対して付与する証明書です。中間証明書は単独で使用することもできますが、多くの場合、下位の中間証明書や終了証明書に署名するために使用されます。
- 終了証明書は、個々の会社が個別使用を目的に、中間証明書の1つから作成される証明書です。
証明書チェーンの作成
証明書チェーンとは、証明書をグループ化したものです。Oktaでは通常、証明書の変更はすべてPEM(Privacy Enhanced Mail)形式で行う必要があります。
証明書チェーンとは、エンティティ証明書から信頼されるルート証明書の順に、すべての証明書の内容を連結したものです。複数の中間証明書がある場合は、それらもチェーンに含める必要があります。 証明書は、エディターやコマンドラインツールを使って連結することができます。
例えば、Linuxでは、エンティティ証明書、中間証明書、エンティティの秘密鍵を連結できます。
cat entity.pem intermediate.pem entity-primarykey.pem > certificate-chain.pem
連鎖させた場合、証明書のグループ化は次のようになります。
-----BEGIN CERTIFICATE----- .... (エンティティ証明書の内容) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- .... (中間証明書の内容) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- .... (信頼できるルート証明書の内容。自己署名チェーンの場合のみ必要) -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- .... (エンティティの秘密鍵の内容) -----END RSA PRIVATE KEY-----

各証明書を含むチェーンを作成する必要があります。そのチェーンは、すべての中間証明書から始まり、エンティティ証明書が続きますが、信頼できるCAルート証明書は除外されます。 ルート証明書は、自己署名証明書チェーンを使用する場合にのみ必要です。EAP-TTLSまたはEAP-GTC の場合は、エンティティの秘密鍵も必要です。
証明書形式間の変換
通常、OktaではPEM 形式の証明書が必要です。 別の形式で証明書を受信または生成した場合は、連結する前にPEMに変換してからアップロードしなければならない場合があります。証明書をある形式から別の形式に変換するには、opensslも含め様々なツールを使用することができます。
以下は、様々な形式を.PEMに変換する例です。
CRTからPEMに変換する場合
openssl x509 -in cert.crt -outform PEM -out cert.pem
CERからPEMに変換する場合
openssl x509 -in cert.cer -outform DER -out cert.pem
さらに、EAP-TTLSおよびEAP-GTCプロトコルでは、関連する秘密鍵を保護するためのパスワードを指定できるpfxおよび p12形式をサポートしています。
PFXに変換する場合
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt
P12に変換するコマンド例
openssl pkcs12 -export -out certificate.p12 -inkey privateKey.key -in certificate.crt
また、複数の追加入力や変換方法もあります。詳しくは、opensslのドキュメントや、opensslのmanページをご覧ください。