移行のためにInterstage証明書環境からPKCS#12データで移出(取り出し)を行います。PKCS#12データの移出(取り出し)方法は「セキュリティシステム運用ガイド」の 「SSLによる暗号化通信」 - 「Interstage証明書環境の構築と利用」 - 「証明書の管理」を確認してください。
Interstage証明書環境から移出したPKCS#12データから、以下の手順で「秘密鍵」と「サイト証明書」のファイルを作成します。
PKCS#12データから、「秘密鍵」を取り出します。
C:\Interstage\F3FMahs\bin\openssl.exe pkcs12 -in <PKCS#12ファイル名> -nocerts -out c:\ahs\sslenv\sslcert\<秘密鍵ファイル名>
# /opt/FJSVahs/oss/openssl/bin/openssl pkcs12 -in <PKCS#12ファイル名> -nocerts -out /export/home/ahs/sslcert/<秘密鍵ファイル名>
PKCS#12データから、「サイト証明書」を取り出します。
C:\Interstage\F3FMahs\bin\openssl.exe pkcs12 -in <PKCS#12ファイル名> -clcerts -nokeys -out c:\ahs\sslenv\sslcert\cert\<サイト証明書ファイル名>
# /opt/FJSVahs/oss/openssl/bin/openssl pkcs12 -in <PKCS#12ファイル名> -clcerts -nokeys -out /export/home/ahs/sslcert/cert/<サイト証明書ファイル名>
PKCS#12データから、「認証局の証明書」を取り出します。
C:\Interstage\F3FMahs\bin\openssl.exe pkcs12 -in <PKCS#12ファイル名> -cacerts -nokeys -out c:\ahs\sslenv\sslcert\cert\<認証局の証明書ファイル名>
# /opt/FJSVahs/oss/openssl/bin/openssl pkcs12 -in <PKCS#12ファイル名> -cacerts -nokeys -out /export/home/ahs/sslcert/cert/<認証局の証明書ファイル名>
PKCS#12データによっては、「認証局の証明書」に、「ルートCA証明書」のほかに「中間CA証明書」が1つまたは複数含まれる場合があり、その場合は、先頭から「ルートCA証明書」、「中間CA証明書」の順に並んでいます。
以下に、「ルートCA証明書」と「中間CA証明書」を含む場合と、「ルートCA証明書」のみの場合の「認証局の証明書」の例を示します。
Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (ルートCA証明書データ) … -----END CERTIFICATE----- Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (中間CA証明書1データ) … -----END CERTIFICATE----- Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (中間CA証明書2データ) … -----END CERTIFICATE-----
Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (ルートCA証明書データ) … -----END CERTIFICATE-----
ポイント
手順1 から手順3 で取り出したデータは、テキストファイルです。
手順3 で取り出した「認証局の証明書」を、「ルートCA証明書」と「中間CA証明書」のファイルに分割します。
取り出した「認証局の証明書」に含まれる証明書が1つ(「ルートCA証明書」)のみの場合は、この手順は不要です。手順6 に進みます。
以下に、「認証局の証明書」に「中間CA証明書」が2つ含まれる場合を例に記載します。
テキストエディタなどを使用して、取り出した「認証局の証明書」を、「ルートCA証明書」「中間CA証明書1」「中間CA証明書2」の各ファイルに分割します。"-----END CERTIFICATE-----"までを分割します。
Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (ルートCA証明書データ) … -----END CERTIFICATE-----
Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (中間CA証明書1データ) … -----END CERTIFICATE-----
Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (中間CA証明書2データ) … -----END CERTIFICATE-----
手順4 で分割した中間CA証明書のファイルを「サイト証明書」のファイルに、「中間CA証明書2」、「中間CA証明書1」の順でマージします。
type <中間CA証明書2ファイル名> >> c:\ahs\sslenv\sslcert\cert\<サイト証明書ファイル名> type <中間CA証明書1ファイル名> >> c:\ahs\sslenv\sslcert\cert\<サイト証明書ファイル名>
# cat <中間CA証明書2ファイル名> >> /export/home/ahs/sslcert/cert/<サイト証明書ファイル名> # cat <中間CA証明書1ファイル名> >> /export/home/ahs/sslcert/cert/<サイト証明書ファイル名>
「ルートCA証明書」を「サイト証明書」にマージします。
手順4 で分割した「ルートCA証明書」のファイルを「サイト証明書」のファイルにマージします。
type <ルートCA証明書ファイル名> >> c:\ahs\sslenv\sslcert\cert\<サイト証明書ファイル名>
# cat <ルートCA証明書ファイル名> >> /export/home/ahs/sslcert/cert/<サイト証明書ファイル名>
手順3 で取り出した「認証局の証明書」のファイルを「サイト証明書」のファイルにマージします。
type <認証局の証明書ファイル名> >> c:\ahs\sslenv\sslcert\cert\<サイト証明書ファイル名>
# cat <認証局の証明書ファイル名> >> /export/home/ahs/sslcert/cert/<サイト証明書ファイル名>
出力したファイルはhttpd.confの以下のディレクティブに設定してください。詳細は「3.9 SSLの設定」を確認してください。
例
# サイトの秘密鍵ファイル SSLCertificateKeyFile c:\ahs\sslenv\sslcert\<秘密鍵ファイル名> # サイト証明書ファイル SSLCertificateFile c:\ahs\sslenv\sslcert\cert\<サイト証明書ファイル名>
# サイトの秘密鍵ファイル SSLCertificateKeyFile /export/home/ahs/sslcert/<秘密鍵ファイル名> # サイト証明書ファイル SSLCertificateFile /export/home/ahs/sslcert/cert/<サイト証明書ファイル名>