Systemwalker Service Catalog Managerとの間で行うWebサービス呼び出しの送信(たとえばプロビジョニングやプロセスの統合)または受信(たとえばPSPシステムのようなアプリケーション)は、SSLによって安全にすることができます。SSLは、トランスポートレベルで認証および暗号化を行うために使用されます。
HTTPSの接続には、必ずクライアントとサーバがあります。呼び出しの方向によって、Systemwalker Service Catalog Managerがサーバになることも(Systemwalker Service Catalog ManagerへのWebサービス呼び出しの場合)、逆にクライアントになることもあります(Systemwalker Service Catalog ManagerからのWebサービス呼び出しの場合)。
Systemwalker Service Catalog Managerがサーバとして動作する場合、クライアントは認証データをサーバに提供する必要があります。これには2つの方法があります。
Basic認証
呼び出し元は、サフィックスに「BASIC」が付いたSystemwalker Service Catalog ManagerのWebサービスに向けて、利用者のキーとパスワードを送信します。この方式では、利用者の認証に証明書は適用されません。ただし、クライアントとSystemwalker Service Catalog Managerの通信をTLS/SSLおよびHTTPSに限定することを推奨します。この場合には、証明書が必要になります。また、BASIC認証を使用する場合には、外部からのJDNIの検索を遮断するようにネットワークのファイアーウォールを構成する必要があります。
BASIC認証は、Systemwalker Service Catalog Managerに対して、利用者ロールの指定が必要なWebサービスを呼び出す場合に使用されます。機能が実行できるかどうかが利用者ロールにより決定されます。
証明書による認証
呼び出し元は、Systemwalker Service Catalog Managerのサーバに対してクライアント証明書を提供します。呼び出し先は、サフィックスに「CLIENTCERT」が付いたSystemwalker Service Catalog ManagerのWebサービスです。この場合、以下の要件を満たしている必要があります。
クライアント証明書のDNはクライアント証明書内の該当組織に対応している必要があります。
Systemwalker Service Catalog Managerから見て、クライアントの証明書が信頼できるものである必要があります。つまり、クライアントが提示する証明書からSystemwalker Service Catalog Managerのトラストストアに格納されている証明書へ有効な署名のチェーンが存在する必要があります。
HeidelpayなどのPSPと統合する場合には、証明書による認証を使用しなればなりません。Systemwalker Service Catalog ManagerがPSP関連機能のWebサービスを呼び出す場合には、利用者ロールの指定は必要ありません。
注意
サーバとクライアントの両者で、同じJRE/JDKを使用する必要があります。JRE/JDKが異なる場合、通信に失敗することがあります。
用語
Systemalker Service Catalog Managerは、実体の身元を証明するために、X.509証明書を使用します。HTTPS通信では、この証明書はサーバを証明するために必ず使用され、オプションとして、クライアントを証明するためにも使用されます。
証明書には、その所有者を特定するためのサブジェクト(subject)と、証明書の作成者を特定するための発行者の情報があります。また、証明書には、有効期限の情報も含まれます。証明書に含まれる署名が破られない限り、証明書に含まれる情報を変えることができないことが、暗号アルゴリズムによって保証されています。
サブジェクトと発行者は、DN(distinguished name)で示されます。これはキーと値のペアからなるリストで構成されます。標準化されたキーの1つに、CN (common name)があります。CNはHTTPSサーバでは特に重要です。それは、CNには必ずサーバのドメイン名を格納しなければならないためで、そうなっていない場合、クライアントによって接続が拒否されるからです。
他の実体のために証明を発行するプロセスを署名と呼びます。証明書は、必ず、何らかのルート証明書へ達するチェーン(chain)を構成します。ルート証明書では、サブジェクトと証明書の所有者はルート証明書自身であり、同じ実体です。このような証明書を自己署名証明書と呼びます。
他の証明書に署名したり、証明書の所有者を証明したりするためには、対応する秘密鍵が必要となります。証明書は他者に配布しても問題ありませんが、秘密鍵は厳重に注意して秘密にしておかなければなりません。
各クライアントとサーバは、キーストア(keystore)とトラストストア(truststore)を持つことができます。キーストアは、自分自身の証明書と、それに対応する秘密鍵を格納するために使用されます。キーストアが使われるのは、常に、自分自身を証明する場合または他の証明書に署名する場合ということになります。トラストストアには、他の実体の公開証明書を格納します。