API Reference > 서명데이터

서명데이터

서명데이터

서명데이터란?

서명데이터(kcp_sign_data)는 가맹점 부인방지와 요청 데이터의 무결성 검증을 위한 데이터입니다.
NHN KCP로부터 발급받은 개인키로 SHA256withRSA 알고리즘을 사용하여 문자열을 인코딩하는 방식으로 이루어집니다.

✅ 개인키 발급 방법은 API Reference의 KCP PG-API 메뉴를 참고해 주세요.

서명데이터 생성

1) 파트너관리자 로그인을 진행해 주세요.
2) 기술관리센터 > 인증센터 > KCP-PG API 메뉴에서 서비스 인증서와 개인키 발급해 주세요.
3) 최초 발급 시 서비스 인증서와 개인키가 함께 발급됩니다.
PC 다운로드 폴더에서 KCP_AUTH_사이트코드_CERT 형태의 폴더를 확인해 주세요.

✅ KCP_AUTH_사이트코드_CERT.pem 은 서비스 인증서 파일, KCP_AUTH_사이트코드_PRIKEY.pem 은 개인키 파일입니다.

서비스 인증서 적용하기

Cancel API 서명데이터(kcp_sign_data)
site_cd + "^" + tno + "^" + mod_type 규칙으로 생성하며 SHA256withRSA 알고리즘을 통하여 인코딩 후 요청하시기 바랍니다.

📍kcp_cert_info는 결제 승인, 거래취소 시에 필요합니다.


// JSP 예시

public static String makeSignatureData(String targetData){
  String signData  = null;
  PrivateKey priKey  = null;
  priKey = loadSplMctPrivateKeyPKCS8();

  byte[ ] btArrTargetData = targetData.getBytes( StandardCharsets.UTF_8 );
  try {
        Signature sign = Signature.getInstance( "SHA256WithRSA" );
        sign.initSign( priKey );
        sign.update( btArrTargetData );
        byte[ ] btArrSignData = sign.sign();
        signData = Base64.getEncoder().encodeToString( btArrSignData );
      } catch (NoSuchAlgorithmException e) {
          e.printStackTrace();
      } catch (InvalidKeyException e) {
          e.printStackTrace();
      } catch (SignatureException e) {
          e.printStackTrace();
      }
      return signData;
}