diff --git a/adm/config_form.php b/adm/config_form.php index fc1af2fda..32a180bb9 100644 --- a/adm/config_form.php +++ b/adm/config_form.php @@ -409,6 +409,11 @@ if (!isset($config['cf_cert_kg_mid'])) { ADD COLUMN `cf_cert_kg_mid` VARCHAR(255) NOT NULL DEFAULT '' AFTER `cf_cert_kg_cd`; "; sql_query($sql, false); } +if (!isset($config['cf_cert_use_seed'])) { + $sql = "ALTER TABLE `{$g5['config_table']}` + ADD COLUMN `cf_cert_use_seed` TINYINT(4) NOT NULL DEFAULT '0' AFTER `cf_cert_kg_mid`; "; + sql_query($sql, false); +} if (!$config['cf_faq_skin']) { $config['cf_faq_skin'] = "basic"; } @@ -1003,6 +1008,16 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) { +
');
diff --git a/install/gnuboard5.sql b/install/gnuboard5.sql
index 64c39a8a9..060375457 100644
--- a/install/gnuboard5.sql
+++ b/install/gnuboard5.sql
@@ -292,6 +292,7 @@ CREATE TABLE IF NOT EXISTS `g5_config` (
`cf_cert_simple` varchar(255) NOT NULL DEFAULT '',
`cf_cert_kg_cd` varchar(255) NOT NULL DEFAULT '',
`cf_cert_kg_mid` varchar(255) NOT NULL DEFAULT '',
+ `cf_cert_use_seed` tinyint(4) NOT NULL DEFAULT '0',
`cf_cert_kcb_cd` varchar(255) NOT NULL DEFAULT '',
`cf_cert_kcp_cd` varchar(255) NOT NULL DEFAULT '',
`cf_lg_mid` varchar(100) NOT NULL DEFAULT '',
diff --git a/plugin/inicert/ini_request.php b/plugin/inicert/ini_request.php
index 3eaa70599..d7f4c110d 100644
--- a/plugin/inicert/ini_request.php
+++ b/plugin/inicert/ini_request.php
@@ -17,7 +17,7 @@ if($config['cf_cert_use'] == 2) { // 실서비스 일때
$mTxId ='SIR_'.$max_cr_id;
}
$reqSvcCd ='01'; // 요청구분코드 ["01":간편인증, "02":전자서명]
-$reservedMsg ='isUseToken=Y'; // 결과조회 응답시 개인정보SEED 암호화 처리 요청
+$reservedMsg = (defined('KGINICIS_USE_CERT_SEED') && KGINICIS_USE_CERT_SEED) ? 'isUseToken=Y' : ''; // 결과조회 응답시 개인정보SEED 암호화 처리 요청
// 등록가맹점 확인
$plainText1 = hash("sha256",(string)$mid.(string)$mTxId.(string)$apiKey);
diff --git a/plugin/inicert/ini_result.php b/plugin/inicert/ini_result.php
index 1fd810281..2299c6b9a 100644
--- a/plugin/inicert/ini_result.php
+++ b/plugin/inicert/ini_result.php
@@ -54,11 +54,13 @@ if ($txId && isset($_POST["resultCode"]) && $_POST["resultCode"] === "0000") {
$birth_day = $res_data['userBirthday']; // 생년월일
$ci = $res_data['userCi']; // CI
- // 개인정보SEED 암호화 된것을 복호화 합니다.
- $user_name = decrypt_SEED($user_name, $SEEDKEY, $SEEDIV);
- $phone_no = decrypt_SEED($phone_no, $SEEDKEY, $SEEDIV);
- $birth_day = decrypt_SEED($birth_day, $SEEDKEY, $SEEDIV);
- $ci = decrypt_SEED($ci, $SEEDKEY, $SEEDIV);
+ if (defined('KGINICIS_USE_CERT_SEED') && KGINICIS_USE_CERT_SEED) {
+ // 개인정보SEED 암호화 된것을 복호화 합니다.
+ $user_name = decrypt_SEED($user_name, $SEEDKEY, $SEEDIV);
+ $phone_no = decrypt_SEED($phone_no, $SEEDKEY, $SEEDIV);
+ $birth_day = decrypt_SEED($birth_day, $SEEDKEY, $SEEDIV);
+ $ci = decrypt_SEED($ci, $SEEDKEY, $SEEDIV);
+ }
@insert_cert_history($member['mb_id'], 'inicis', $cert_type); // 인증성공 시 내역 기록
diff --git a/plugin/inicert/libs/INILib.php b/plugin/inicert/libs/INILib.php
index a640688bb..335fe456a 100644
--- a/plugin/inicert/libs/INILib.php
+++ b/plugin/inicert/libs/INILib.php
@@ -67,10 +67,11 @@ function decrypt_SEED($str, $bszUser_key, $bszIV) {
$pdwRoundKey = array_pad(array(), 32, 0);
$bszPlainText = null;
+ $planBytresMessage = array();
// 방법 1
$bszPlainText = KISA_SEED_CBC::SEED_CBC_Decrypt($keyBytes, $IVBytes, $planBytes, 0, count($planBytes));
- for ($i = 0; $i < sizeof($bszPlainText); $i++) {
+ for ($i = 0; $i < sizeof((array) $bszPlainText); $i++) {
$planBytresMessage[] = sprintf("%02X", $bszPlainText[$i]);
}
return Hex2String($planBytresMessage);
diff --git a/plugin/inicert/libs/KISA_SEED_CBC.php b/plugin/inicert/libs/KISA_SEED_CBC.php
index 6a3498480..d45374d00 100644
--- a/plugin/inicert/libs/KISA_SEED_CBC.php
+++ b/plugin/inicert/libs/KISA_SEED_CBC.php
@@ -171,7 +171,7 @@ if (!defined('_KISA_SEED_KEY_')) {
var $key_data = null;
- function KISA_SEED_KEY() {
+ function __construct() {
$this->key_data = array_pad(array(), 32, 0);
}
@@ -192,7 +192,7 @@ if (!defined('_KISA_SEED_INFO_')) {
var $cbc_last_block = null;
var $last_block_flag = 0;
- function KISA_SEED_INFO() {
+ function __construct() {
$this->ivec = array_pad(array(), 4, 0);
$this->seed_key = new KISA_SEED_KEY();
$this->cbc_buffer = array_pad(array(), 4, 0);