jp.veritrans.tercerog.mdk.util
クラス MdkMerchantUtility

java.lang.Object
  上位を拡張 jp.veritrans.tercerog.mdk.util.MdkMerchantUtility

public class MdkMerchantUtility
extends Object

マーチャント向けセキュリティ関連ユーティリティクラス。

バージョン:
2.0 2012/07/12
作成者:
Veritrans Inc.

フィールドの概要
static String MD_ENCODE_CHARSET
          マーチャントデータのエンコードCHARSET
static String MD_PAIR_SEPARATOR
          マーチャントデータのkeyとvalueの区切り文字.
static String MD_SEPARATOR
          マーチャントデータのデータ同士の区切り文字.
 
コンストラクタの概要
MdkMerchantUtility()
           
 
メソッドの概要
static Map analyzeMerchantData(String md)
          マーチャントデータ(MD)の解析をする。
static boolean checkMessage(String msgBody, String sContentHmac)
          電文のHMACを計算し、引数のHMACと比較する.
static boolean checkMessage(String secretKey, String msgBody, String sContentHmac)
          電文のHMACを計算し、引数のHMACと比較する.マルチマーチャント対応のためのメソッド(2010/06/22, VeriTrans Inc.)。
static String createMerchantData(Map data)
          マーチャントデータ(MD)を生成する。
static String getSecret(String sContentHmac)
          Content-HMAC文字列からマーチャントシークレットを取り出す.
static String getTripartiteAuthHash()
          3者間通信用にメッセージダイジェストを計算する
static String sign(String value, String key)
          引数文字列よりメッセージダイジェストを算出する
static boolean verifySign(String value, String key, String originalDigest)
          valueで指定された文字列からダイジェスト値を算出し、originalDigest値と比較する
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

MD_ENCODE_CHARSET

public static final String MD_ENCODE_CHARSET
マーチャントデータのエンコードCHARSET

関連項目:
定数フィールド値

MD_SEPARATOR

public static final String MD_SEPARATOR
マーチャントデータのデータ同士の区切り文字.

関連項目:
定数フィールド値

MD_PAIR_SEPARATOR

public static final String MD_PAIR_SEPARATOR
マーチャントデータのkeyとvalueの区切り文字.

関連項目:
定数フィールド値
コンストラクタの詳細

MdkMerchantUtility

public MdkMerchantUtility()
メソッドの詳細

checkMessage

public static boolean checkMessage(String msgBody,
                                   String sContentHmac)
                            throws MdkLocalException
電文のHMACを計算し、引数のHMACと比較する.
MAC値の算出には、Configファイルで指定されているマーチャント秘密鍵を使用する

パラメータ:
msgBody - 受信電文の本文(Message-Body)
sContentHmac - 受信電文に付属していた比較用 HMAC(Content-HMAC)。 ヘッダ情報に載っている文字列をそのまま渡す。 例)h=HmacSHA1;s=M123456789;v=f51ea2b7df5e239dc11d90050849ac03d363221a
戻り値:
true 一致 or false 不一致
例外:
MdkLocalException - 以下の条件において例外が発生する
・HMACを算出するためのベースとなる文字列がnullの場合
・マーチャントConfigファイルの読込に失敗した場合
・セキュリティマネージャが指定されており、プロバイダBouncyCastleProviderの追加が認められていない場合
・秘密鍵がMAC初期化に不適当な場合

checkMessage

public static boolean checkMessage(String secretKey,
                                   String msgBody,
                                   String sContentHmac)
                            throws MdkLocalException
電文のHMACを計算し、引数のHMACと比較する.マルチマーチャント対応のためのメソッド(2010/06/22, VeriTrans Inc.)。
MAC値の算出には、Configファイルで指定されているマーチャント秘密鍵を使用する

パラメータ:
secretKey - マーチャント認証鍵
msgBody - 受信電文の本文(Message-Body)
sContentHmac - 受信電文に付属していた比較用 HMAC(Content-HMAC)。 ヘッダ情報に載っている文字列をそのまま渡す。 例)h=HmacSHA1;s=M123456789;v=f51ea2b7df5e239dc11d90050849ac03d363221a
戻り値:
true 一致 or false 不一致
例外:
MdkLocalException - 以下の条件において例外が発生する
・HMACを算出するためのベースとなる文字列がnullの場合
・マーチャントConfigファイルの読込に失敗した場合
・セキュリティマネージャが指定されており、プロバイダBouncyCastleProviderの追加が認められていない場合
・秘密鍵がMAC初期化に不適当な場合

getSecret

public static String getSecret(String sContentHmac)
                        throws MdkLocalException
Content-HMAC文字列からマーチャントシークレットを取り出す.

パラメータ:
sContentHmac - 受信電文に付属していた比較用 HMAC(Content-HMAC)。 ヘッダ情報に載っている文字列をそのまま渡す。 例)h=HmacSHA1;s=M123456789;v=f51ea2b7df5e239dc11d90050849ac03d363221a
例外:
MdkLocalException

sign

public static String sign(String value,
                          String key)
                   throws MdkLocalException
引数文字列よりメッセージダイジェストを算出する

パラメータ:
value - メッセージダイジェスト算出の対象となる文字列
key - メッセージダイジェスト算出キー
戻り値:
ダイジェスト値
例外:
MdkLocalException - 次の条件でMdkLocalExceptionが発生する
・メッセージダイジェストを算出するためのベースとなる文字列がnullの場合
・マーチャントConfigファイルの読込に失敗した場合

verifySign

public static boolean verifySign(String value,
                                 String key,
                                 String originalDigest)
                          throws MdkLocalException
valueで指定された文字列からダイジェスト値を算出し、originalDigest値と比較する

パラメータ:
value - メッセージダイジェスト算出の基になる文字列
key - メッセージダイジェスト算出キー
originalDigest - 事前に算出済のダイジェスト値
戻り値:
true 一致 or false 不一致
例外:
MdkLocalException - 次の条件でMdkLocalExceptionが発生する
・メッセージダイジェストを算出するためのベースとなる文字列がnullの場合
・マーチャントConfigファイルの読込に失敗した場合

getTripartiteAuthHash

public static String getTripartiteAuthHash()
3者間通信用にメッセージダイジェストを計算する

戻り値:
マーチャントCCID、現在時刻(currentミリ病)、マーチャントパスワードを基に算出したハッシュ値 コンフィグ関係、メッセージダイジェスト関係でエラーが発生した場合、nullを返す

createMerchantData

public static String createMerchantData(Map data)
マーチャントデータ(MD)を生成する。

パラメータ:
data - マーチャントデータを生成するためにマーチャントが設定したデータ
戻り値:
マーチャントデータ

analyzeMerchantData

public static Map analyzeMerchantData(String md)
マーチャントデータ(MD)の解析をする。

パラメータ:
md - マーチャントデータ
戻り値:
マーチャントデータの元情報。 ハッシュコードが一致しなかった場合はnullを返す。


Copyright © 2017. All rights reserved.