Systemwalker Centric Manager V15.3.0以前のバージョンで、Systemwalker WebコンソールのSSL暗号化通信(HTTPS通信)を有効にしていた場合、利用していた秘密鍵/証明書は取り出して移行できます。
移行手順
証明書/鍵環境からPKCS#12データで移出(取り出し)を行います。移出したPKCS#12データから「秘密鍵」と「サイト証明書」のファイルを作成し、httpd.confに設定します。
既存の資源(秘密鍵、証明書)を取り出します。
資源の取り出しは、cmmkpfxコマンド(PKCS#12(PFX)データファイル出力コマンド)で行います。
【Windows版】
cmmkpfx d:\sslenv\my_site_pfx.pfx -ed d:\sslenv\sslcert -sn 1 -nn MySiteCert
【Linux版】
# cmmkpfx /export/home/my_site_pfx.pfx -ed /export/home/sslcert -sn 1 -nn MySiteCert
cmmkpfx(PKCS#12(PFX)データファイル出力コマンド)の詳細については、“Systemwalker Centric Manager リファレンスマニュアル”を参照してください。
PKCS#12データから、「秘密鍵」を取り出します。
【Windows版】
C:\Systemwalker\MPWALKER.DM\mpahs\bin\openssl.exe pkcs12 -in d:\sslenv\my_site_pfx.pfx -nocerts -out d:\sslenv\sslcert\<秘密鍵ファイル名>
【Linux版】
# /opt/FJSVftlc/mpahs/oss/openssl/bin/openssl pkcs12 -in /export/home/my_site_pfx.pfx -nocerts -out /export/home/sslcert/<秘密鍵ファイル名>
PKCS#12データから、「サイト証明書」を取り出します。
【Windows版】
C:\Systemwalker\MPWALKER.DM\mpahs\bin\openssl.exe pkcs12 -in d:\sslenv\my_site_pfx.pfx -clcerts -nokeys -out d:\sslenv\sslcert\cert\<サイト証明書ファイル名>
【Linux版】
# /opt/FJSVftlc/mpahs/oss/openssl/bin/openssl pkcs12 -in /export/home/my_site_pfx.pfx -clcerts -nokeys -out /export/home/sslcert/cert/<サイト証明書ファイル名>
PKCS#12データから、「認証局の証明書」を取り出します。
【Windows版】
C:\Systemwalker\MPWALKER.DM\mpahs\bin\openssl.exe pkcs12 -in d:\sslenv\my_site_pfx.pfx -cacerts -nokeys -out d:\sslenv\sslcert\cert\<認証局の証明書ファイル名>
【Linux版】
# /opt/FJSVftlc/mpahs/oss/openssl/bin/openssl pkcs12 -in /export/home/my_site_pfx.pfx -cacerts -nokeys -out /export/home/sslcert/cert/<認証局の証明書ファイル名>
PKCS#12データによっては、「認証局の証明書」に、「ルートCA証明書」のほかに「中間CA証明書」が1つまたは複数含まれる場合があり、その場合は、先頭から「ルートCA証明書」、「中間CA証明書」の順に並んでいます。
以下に、「ルートCA証明書」と「中間CA証明書」を含む場合と、「ルートCA証明書」のみの場合の「認証局の証明書」の例を示します。
認証局の証明書ファイル(「ルートCA証明書」と「中間CA証明書」(2つ)を含む場合)
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-----
認証局の証明書ファイル(「ルートCA証明書」のみの場合)
Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (ルートCA証明書データ) … -----END CERTIFICATE-----
手順4.で取り出した「認証局の証明書」を「ルート証明書」と「中間CA証明書」のファイルに分割します。
取り出した「認証局の証明書」に含まれる証明書が1つ(「ルートCA証明書」)のみの場合は、この手順は不要です。
以下に「認証局の証明書」に「中間CA証明書」が2つ含まれる場合を例に記載します。
テキストエディタなどを使用して、取り出した「認証局の証明書」を、「ルートCA証明書」「中間CA証明書1」「中間CA証明書2」の各ファイルに分割します。
ルートCA証明書のファイル
Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (ルートCA証明書データ) … -----END CERTIFICATE-----
中間CA証明書1のファイル
Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (中間CA証明書1データ) … -----END CERTIFICATE-----
中間CA証明書2のファイル
Bag Attributes friendlyName: subject=・・・ issuer=・・・ -----BEGIN CERTIFICATE----- … (中間CA証明書2データ) … -----END CERTIFICATE-----
手順5.で分割した中間CA証明書のファイルを、「サイト証明書」のファイルに「中間CA証明書2」、「中間CA証明書1」の順でマージします。
【Windows版】
type <中間CA証明書2ファイル名> >> <サイト証明書ファイル名> type <中間CA証明書1ファイル名> >> <サイト証明書ファイル名>
【Linux版】
# cat <中間CA証明書2ファイル名> >> <サイト証明書ファイル名> # cat <中間CA証明書1ファイル名> >> <サイト証明書ファイル名>
「ルートCA証明書」を「サイト証明書」にマージします。
手順5.で分割した「ルートCA証明書」のファイルを「サイト証明書」のファイルにマージします。
【Windows版】
type <ルートCA証明書ファイル名> >> <サイト証明書ファイル名>
【Linux版】
# cat <ルートCA証明書ファイル名> >> <サイト証明書ファイル名>
手順4.で取り出した「認証局の証明書」のファイルを「サイト証明書」のファイルにマージします。
【Windows版】
type <認証局の証明書ファイル名> >> <サイト証明書ファイル名>
【Linux版】
# cat <認証局の証明書ファイル名> >> <サイト証明書ファイル名>
出力したファイルを、httpd.confの以下のディテクティブに設定します。
【Windows版】
# サイトの秘密鍵ファイル SSLCertificateKeyFile c:\ahs\sslenv\sslcert\<秘密鍵ファイル名> # サイト証明書ファイル SSLCertificateFile c:\ahs\sslenv\sslcert\cert\<サイト証明書ファイル名>
【Linux版】
# サイトの秘密鍵ファイル SSLCertificateKeyFile /export/home/sslcert/<秘密鍵ファイル名> # サイト証明書ファイル SSLCertificateFile /export/home/sslcert/cert/<サイト証明書ファイル名>