ここではクライアントパッケージ上にWebサービスのセキュリティ環境を構築・使用する場合、soapSetSecurityコマンドおよびsoapMngSecurityコマンドを使用して、鍵ペア/証明書管理環境の構築および管理を行う方法について説明します。
また、Interstage証明書環境を利用して構築する場合は、“第11章 Interstage証明書環境の構築と利用”を参照してください。
以下の環境を構築し、認証局より認証局証明書、およびサイト証明書を取得し、登録します。
以下にセキュリティ機能で使用する鍵ペア/証明書管理環境の構築手順を示します。
SOAP電子署名付加やXML暗号による復号化、SSLの暗号化通信でクライアント認証を行う場合、鍵ペアを作成し、認証局からサイト証明書を取得する必要があります。その場合には、“ (1-1)秘密鍵を必要とする場合の環境構築”を参照してください。
また、SOAP電子署名検証やXML暗号による暗号化、SSLの暗号化通信でクライアント認証を行わない場合には、鍵ペアの作成および認証局からのサイト証明書の取得を省略可能です。この場合には、“ (1-2)秘密鍵を必要としない場合の環境構築”を参照してください。
SSLの暗号化通信では、以下の暗号化方式が使用できます。
暗号化方式 |
---|
・SSL_DHE_DSS_WITH_DES_CBC_SHA |
Webサービスで以下の機能を使用する場合、秘密鍵の作成およびサイト証明書を取得する必要があります。
SSLの暗号化通信でクライアント認証を行う場合
SOAP電子署名付加
XML暗号による復号化
クライアントシステム環境におけるSSLの暗号化通信の鍵ペア/証明書管理環境と、原本保証機能(SOAP電子署名、XML暗号)における鍵ペア/証明書管理環境を異なるものとする場合、原本保証機能の鍵ペア/証明書管理環境を構築時にsoapSetSecurityコマンド、およびsoapMngSecurityコマンドに-userenvオプションを指定してください。
■鍵ペア/証明書管理環境の作成と設定
SSLクライアント認証、SOAP電子署名付加またはXML暗号による復号化を行うために必要な鍵ペア/証明書管理環境を作成します。
soapSetSecurity(鍵ペア/証明書管理環境作成)コマンドでWebサービス・セキュリティ環境情報ファイル、証明書管理ファイルを作成します。soapSetSecurityの使用は証明書を申請する認証局によって異なります。
以下に使用する認証局別に、soapSetSecurityコマンドの使用例を示します。
◆SystemWalker/PkiMGRを認証局とする場合
別名(taro)、証明書管理ファイルのアクセス用パスワード(Interstage)を指定して、Webサービス・セキュリティ環境情報ファイルと証明書管理ファイル作成ディレクトリに証明書管理ファイルを作成します。Interstageのインストールディレクトリを“C:\Interstage”とします。
soapSetSecurity -f C:\Interstage\F3FMsoap\etc -p Interstage -alias taro
別名(taro)、証明書管理ファイルアクセス用パスワード(Interstage)を指定して、Webサービス・セキュリティ環境情報ファイルと証明書管理ファイル作成ディレクトリに証明書管理ファイルを作成します。
soapSetSecurity -f /etc/opt/FJSVsoap/etc -p Interstage -alias taro
◆日本ベリサイン株式会社、日本認証サービス株式会社およびサイバートラスト株式会社を認証局とする場合
日本ベリサイン株式会社、日本認証サービス株式会社およびサイバートラスト株式会社が発行したルート証明書を登録する場合は、soapSetSecurityコマンドの-rcオプションにルート証明書一覧ファイル(C:\Interstage\IS_cert\contractcertlist)を指定します。
soapSetSecurity -f C:\Interstage\F3FMsoap\etc -p Interstage -alias taro
-rc C:\Interstage\IS_cert\contractcertlist
日本ベリサイン株式会社、日本認証サービス株式会社およびサイバートラスト株式会社が発行したルート証明書を登録する場合は、soapSetSecurityコマンドの-rcオプションにルート証明書一覧ファイル(/etc/opt/FJSVisas/contractcertlist)を指定します。
soapSetSecurity -f /etc/opt/FJSVsoap/etc -p Interstage -alias taro
-rc /etc/opt/FJSVisas/contractcertlist
ルート証明書として以下の証明書が証明書管理ファイルに格納されます。
[日本ベリサイン株式会社発行ルート証明書]
認証サービス株式会社発行ルート証明書]
[サイバートラスト株式会社発行ルート証明書]
■認証局から証明書を取得
◆証明書発行要求の作成
認証局へサイト証明書の発行を依頼するための証明書発行要求(CSR:Certificate Signing Request)を作成します。証明書発行要求の作成は、soapSetSecurity(鍵ペア/証明書管理環境作成)コマンドで公開鍵と秘密鍵の鍵ペアを作成した後、soapMngSecurity(証明書管理)コマンドで、秘密鍵に対応する証明書発行要求(CSR)を作成します。
soapMngSecurity -certreq -f 証明書申請書格納ファイル名 -p Interstage -alias taro
オプションに指定するパスワードおよび別名は、soapSetSecurityコマンドで鍵ペア/証明書管理環境を作成した際に指定したものと同一ものを指定します。
◆証明書の発行依頼
証明書発行要求を認証局に送り、認証局の証明書、サイト証明書の発行を依頼します。依頼方法は各認証局の方法に従ってください。
◆証明書の取得
認証局により署名された証明書を取得します。取得方法は各認証局の方法に従ってください。
SOAP電子署名で使用する場合、認証局から取得するサイト証明書に含まれる公開鍵の使用用途として、電子署名を指定する必要があります。
■証明書の登録
サイト証明書、認証局証明書を証明書管理ファイルに登録します。登録できる証明書の形式は、サイト証明書と認証局証明書を含んでいる形式(PKCS#7等)と、1つのサイト証明書、または認証局証明書のみ入っている形式のものが、soapMngSecurity(証明書管理コマンド)で登録できます。
Webサービスのセキュリティ機能を使用した通信で連携するすべてのサーバ、クライアントで同一の認証局証明書を登録する必要があります。
サイト証明書を登録する前に、認証局の証明書を異なる別名で登録しておく必要があります。認証局が中間認証局の場合には、ルートとなる認証局の証明書から順に登録してください。
サイト証明書、および認証局証明書を指定して証明書管理ファイルに登録します。
soapMngSecurity -import -f 認証局証明書格納ファイル名 -p Interstage -alias cacert
soapMngSecurity -import -f サイト証明書格納ファイル名 -p Interstage -alias taro -own
Webサービスで以下の機能を使用する場合には、秘密鍵を作成しサイト証明書を認証局から取得する必要はありません。
SSL通信でクライアント認証を行わない場合
SOAP電子署名検証 (*1)
XML暗号による暗号化 (*1)
(*1) セキュリティ機能を使用した通信相手の認証局証明書やサイト証明書を登録する必要があります。
クライアントシステムで、SSL暗号化通信の鍵ペア/証明書管理環境と、原本保証機能(SOAP電子署名、XML暗号)の鍵ペア/証明書管理環境を異なるものとする場合、原本保証機能の鍵ペア/証明書管理環境を構築時にsoapSetSecurityコマンド、およびsoapMngSecurityコマンドに-userenvオプションを指定してください。
■証明書管理環境の作成と設定
SSLの暗号化通信、SOAP電子署名検証、XML暗号による暗号化を行うために必要な証明書管理環境を作成します。
soapSetSecurity(鍵ペア/証明書管理環境作成)コマンドでWebサービス・セキュリティ環境情報ファイル、証明書管理ファイルを作成します。soapSetSecurityコマンドの使用方法は証明書を申請する認証局によって異なります。
以下に使用する認証局別に、soapSetSecurityコマンドの使用例を示します。
◆SystemWalker/PkiMGRを認証局とする場合
証明書管理ファイルアクセス用パスワード(Interstage)を指定して、Webサービス・セキュリティ環境情報ファイルと証明書管理ファイル作成ディレクトリに証明書管理ファイルします。
soapSetSecurity -noauth -f C:\Interstage\F3FMsoap\etc -p Interstage
証明書管理ファイルアクセス用パスワード(Interstage)を指定して、Webサービス・セキュリティ環境情報ファイルと証明書管理ファイル作成ディレクトリに証明書管理ファイルします。
soapSetSecurity -noauth -f /etc/opt/FJSVsoap/etc -p Interstage
◆日本ベリサイン株式会社、日本認証サービス株式会社およびサイバートラスト株式会社を認証局とする場合
日本ベリサイン株式会社、日本認証サービス株式会社およびサイバートラスト株式会社が発行したルート証明書を登録する場合は、soapSetSecurityコマンドの-rcオプションにルート証明書一覧ファイル(C:\Interstage\IS_cert\contractcertlist)を指定します。
soapSetSecurity -noauth -f C:\Interstage\F3FMsoap\etc -p Interstage
-rc C:\Interstage\IS_cert\contractcertlist
日本ベリサイン株式会社、日本認証サービス株式会社およびサイバートラスト株式会社が発行したルート証明書を登録する場合は、soapSetSecurityコマンドの-rcオプションにルート証明書一覧ファイル(/etc/opt/FJSVisas/contractcertlist)を指定します。
soapSetSecurity -noauth -f /etc/opt/FJSVsoap/etc -p Interstage
-rc /etc/opt/FJSVisas/contractcertlist
ルート証明書として以下の証明書が証明書管理ファイルに格納されます。
[日本ベリサイン株式会社発行ルート証明書]
[日本認証サービス株式会社発行ルート証明書]
[サイバートラスト株式会社発行ルート証明書]
■認証局の証明書の登録
SOAP電子署名の署名者やXML暗号により暗号化されたSOAPメッセージの受信者、またはSSLによる暗号化通信を行うSOAPサーバのサイト証明書を発行した認証局の証明書を証明書管理ファイルに登録します。登録できる証明書の形式は、認証局証明書のみ入っている形式のものが、soapMngSecurity(証明書管理コマンド)で登録できます。
Webサービスのセキュリティ機能で連携するすべてのサーバ、クライアントで同一の認証局証明書を登録する必要があります。
認証局が中間認証局の場合には、ルートとなる認証局証明書から順に登録してください。
認証局証明書を別名(cacert)と指定して証明書管理ファイルに登録します。
soapMngSecurity -import -f 証明書格納ファイル名 -p Interstage -alias cacert
■通信相手のサイト証明書の登録
XML暗号による暗号化を行う場合や、署名者のサイト証明書が添付されてこないSOAP電子署名を検証する場合には、通信相手のサイト証明書を取得し、証明書管理ファイルに登録する必要があります。登録できる証明書の形式は、通信相手のサイト証明書のみ入っている形式のものが、soapMngSecurity(証明書管理コマンド)で登録できます。
通信相手のサイト証明書を発行した認証局証明書が証明書管理ファイルに登録されている必要があります。
通信相手のサイト証明書を別名(jiro)と指定して証明書管理ファイルに登録します。
soapMngSecurity -import -f 証明書格納ファイル名 -p Interstage -alias jiro